
 
Using Kernel Meta-metamodel (KM3, part of the 
AMMA  tool  suite)  (Jouault  and  Bézivin,  2006),  a 
snippet  of  the  domain-specific  metamodel  for  our 
case study application is shown in Figure 5. In this 
figure,  the  RaceCar  class  is  the  main  class  that 
defines  the  abstract  syntax  of  the  language.  It 
consists  of  sensors,  controllers,  processors, 
communication  channels  and  other  hardware 
devices. The concrete syntax for the RaceCar model 
is written in TCS, however, for brevity is not shown 
here.  
Using model transformation techniques, the low-
level  code  required  to  run  the  system  can  be 
generated for the RaceCar model.  Thus, by focusing 
on  graphical  or  textual  based  DSMLs,  domain 
engineers can build domain specific embedded tools 
that  can  raise  the  abstraction  level  of  hardware 
centric embedded programs.  
3  SUMMARY  
AND CONCLUSIONS 
The proliferation of embedded software in everyday 
life has augmented the conformity and invisibility of 
software.  As  demands  for  such  software  increase, 
future  requirements  will  necessitate  new  strategies 
for  improved  modularization,  construction  and 
restructuring  in  order  to  support  the  requisite 
adaptations (Masuhara and Kiczales, 2003). Proven 
software engineering techniques like AOP and MDE 
that  occupy  a  bigger  space  in  the  non-embedded 
domain must be investigated and disseminated into 
the embedded space. 
In this paper, we demonstrated how each of these 
techniques  can  improve  the  construction  effort  of 
embedded  software.  A  greater  emphasis  must  be 
given  to  specialized  tools  and  domain  specific 
languages  that  can raise  the  abstraction  level  from 
hardware  centric  applications  to  software  centric 
models and analysis engines.  
A growing challenge in the embedded world has 
been  to  reduce  the  energy  consumption  of  battery 
powered  devices.  As  part  of  future  work,  we  will 
look  into  software  centric  static  and  dynamic 
optimizations  embedded  mobile  systems  that 
combine the power of each of these techniques.  
 
REFERENCES 
Day, R. (2005) 'The Challenges of an Embedded Software 
Enginee', Embedded Technology Journal. 
Jouault,  F.  and  Bézivin,  J.  (2006)  'KM3:  A  DSL  for 
Metamodel Specification',  Formal Methods for Open 
Object-Based  Distributed  Systems,  Bologna,  Italy, 
171-185. 
Laddad,  R.  (2003)  AspectJ  in  Action:  Practical  Aspect-
Oriented Programming, Manning. 
Lédeczi,  Á.,  Bakay,  A.,  Maroti,  M.,  Volgyesi,  P., 
Nordstrom,  G.,  Sprinkle,  J.  and  Karsai,  G.  (2001) 
'Composing  Domain-Specific  Design  Environments', 
IEEE Computer, vol. 34, no. 11, November, pp. 44-51. 
Masuhara,  H.  and  Kiczales,  G.  (2003)  'Modeling 
Crosscutting  in  Aspect-Oriented  Mechanisms', 
European  Conference  on  Object-Oriented 
Programming,  Springer-Verlag  LNCS  2743, 
Darmstadt, Germany, 2-28. 
Schmidt,  D.  (2006)  'Model-Driven  Engineering',  
IEEE Computer, February. 
Shi,  F.  (2004)  Embedded  Systems  Modeling 
Language,http://www.omg.org/news/meetings/worksh
ops/MIC_2004_Manual/06-4_Shi_etal.pdf. 
Spinczyk, O., Gal, A. and Schröder-Preikschat, W. (2002) 
'AspectC++:  An  Aspect-Oriented Extension  to  C++', 
International  Conference  on  Technology  of  Object-
Oriented Languages  and Systems, Sydney, Australia, 
53-60. 
UML  (2009)  Unified  Modeling  Language  2.2, 
http://www.omg.org/technology/documents/formal/um
l.htm. 
 
ICSOFT 2009 - 4th International Conference on Software and Data Technologies
308