hide all comments

DSM

Integrating Domain-Specific Languages: an example of embedded software and hardware co-design

March 26, 2010 11:46:56 +0200 (EET)

In embedded software development the need for managing and analyzing different architectural options, both on software and hardware, has called for numerous architectural description languages. Many of them are developed in-house and applied within a single company or even for certain products only, like Koala at Philips. There are also many DSLs that are developed by larger consortiums, like for example in automotive domain architecture description languages AADL, AUTOSAR and EAST-ADL - all advocating domain-specific modeling languages for different purposes. The previous links show how they are supported in MetaEdit+.

One of the most important topics when dealing with embedded architectures is the co-design of software functionality and hardware functionality. This requires languages (metamodels) that are designed from the start to support co-design.

While preparing examples for coming seminar on embedded software architectures, I implemented two languages that are integrated via a common metamodel. One addresses functionality and the other hardware architecture, in particular the network architecture. These languages allow designing architectures separately, but more importantly also co-design by allocating functionality provided in the software to different possible hardware architectures. What is particular effective is being able to see the implications of using different hardware architectures back in the functional architecture. The 9 minute video demonstrates how multiple languages can be integrated so the changes in models based on one language are visible in other models, offering distinct yet integrated views on the system specified. This kind of co-design support is only possible when it is built to the language from the start!

Click to see the video demonstrating two integrated domain-specific languages targeting different aspects of embedded software development

If you wonder how ADLs are used today in embedded software development you might be interested to join the coming FESA workshop in Stockholm. If you want to play with the demonstration language shown in the video, just drop me an email (jpt at ...) and I’ll send it to you.