execution, monitoring, and design recovery of software. Embedded models are thus ap-
plicable for software under developmentthat uses domain-specificmodels together with
program code that is not based on models. Since the development activities described
here have been evaluated in mid-sized real-world applications and are supported by
appropriate tools we can state that the approach is feasible.
Future work will focus on extending the concept with respect to different aspects.
First the transfer to other modeling domains will be of interest which will include com-
pletely different modeling domains like components,ontologies, or rules. In this context
the integration in meta-modeling languages (like UML’s OMF) and model interactions
will be of interest, both with the objective to cover larger parts of applications under
development and leverage the principle of working with only one notation for different
abstraction levels.
References
1. Hailpern, B., Tarr, P.: Model-driven development: The good, the bad, and the ugly. IBM
Systems Journal 45 (2006) 451–461
2. Holzmann, G.J., Joshi, R., Groce, A.: Model driven code checking. Automated Software
Engineering 15 (2008) 283–297
3. Bodden, E.: The Design and Implementation of Formal Monitoring Techniques. In: Com-
panion to the 22nd Annual ACM SIGPLAN Conference on Object-Oriented Programming,
Systems, Languages, and Applications, OOPSLA 2007, October 21-25, 2007, Montreal,
Quebec, Canada, ACM (2007) 939–940
4. Vok´aˇc, M., Glattetre, J.M.: Using a Domain-Specific Language and Custom Tools to Model
a Multi-tier Service-Oriented Application – Experiences and Challenges. In Briand, L.,
Williams, C., eds.: Model Driven Engineering Languages and Systems, 8th International
Conference, MoDELS 2005, Montego Bay, Jamaica, October 2-7, 2005, Proceedings. Vol-
ume 3713 of LNCS., Springer (2005) 492–506
5. Fowler, M.: PlatformIndependentMalapropism (2003) http://www.martinfowler.com/bliki/
PlatformIndependentMalapropism.html.
6. Mikkonen, T.: Formalizing Design Patterns. In: ICSE ’98: Proceedings of the 20th interna-
tional conference on Software engineering, Washington, DC, USA, IEEE Computer Society
(1998) 115–124
7. Schwarz, D.: Peeking Inside the Box: Attribute-Oriented Programming with Java 1.5. ON-
Java.com (2004) http://www.onjava.com/pub/a/onjava/2004/06/30/insidebox1.html.
8. Balz, M., Striewe, M., Goedicke, M.: Embedding State Machine Models in Object-Oriented
Source Code. In: Proceedings of the 3rd Workshop on Models@run.time at MODELS 2008.
(2008) 6–15
9. Balz, M., Goedicke, M.: Embedding Process Models in Object-Oriented Program Code. In:
Proceedings of the First Workshop on Behavioural Modelling in Model-Driven Architecture
(BM-MDA). (2009)
10. Demers, F.N., Malenfant, J.: Reflection in logic, functional and object-oriented program-
ming: a short comparative study. In: In IJCAI ’95 Workshop on Reflection and Metalevel
Architectures and their Applications in AI. (1995) 29–38
11. Larsen, K.G., Pettersson, P., Yi, W.: UPPAAL in a Nutshell. Int. Journal on Software Tools
for Technology Transfer 1 (1997) 134–152
12. Visser, W., Havelund, K., Brat, G., Park, S., Lerda, F.: Model Checking Programs. Auto-
mated Software Engineering Journal 10 (2003)
78