On Language-Independent Model Modularisation

  • Florian Heidenreich
  • Jakob Henriksson
  • Jendrik Johannes
  • Steffen Zschaler
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5560)

Abstract

As model-driven software development covers additional parts of the development process, the complexity of software models increases as well. At the same time, however, many modelling languages do not provide adequate support for modularising models. For this reason, there has been an increasing interest in the topic of model modularisation, often under the heading of aspect-oriented modelling (AOM). The approaches range from techniques that closely mimic concepts from aspect-oriented programming (AOP), such as AspectJ, to very powerful composition techniques for specific types of models—for example, state machines.

We believe that AOM is more than just copying the concepts of AOP at the modelling level and should rightly include a large number of other model-composition techniques. However, developing model composition techniques and tooling is costly. To minimise the effort required, this paper presents a generic technique for model composition. The technique is based on invasive software composition and our Reuseware tooling and can be used with arbitrary modelling languages. The basic technique itself is language independent, but it can be adapted to construct language- and purpose-specific composition techniques for specific modelling languages and situations. Hence, it can be used both as a tool for developing specific model-modularisation techniques and as an instrument of research for studying basic properties and concepts of model modularisation. The paper gives a detailed description of our approach and evaluates it using a number of examples.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Ritsko, J.J., Seidman, D.I.: Preface. IBM Systems Journal – Special Issue on Model-Driven Software Development 45(3) (2006)Google Scholar
  2. 2.
    Object Management Group: UML 2.0 infrastructure specification. OMG Document (October 2004), http://www.omg.org/cgi-bin/doc?ptc/04-10-14
  3. 3.
    Nejati, S., Sabetzadeh, M., Chechik, M., Easterbrook, S., Zave, P.: Matching and merging of statecharts specifications. In: 29th International Conference on Software Engineering (ICSE 2007), Minneapolis, MN, USA, pp. 54–63. IEEE Computer Society, Los Alamitos (2007)CrossRefGoogle Scholar
  4. 4.
    Peterson, J.L.: Petri nets. ACM Computing Surveys 9(3), 223–252 (1977)MATHCrossRefGoogle Scholar
  5. 5.
    Aldawud, O., Cazzola, W., Elrad, T., Gray, J., Kienzle, J., Stein, D. (eds.): 10th Workshop on Aspect-Oriented Modeling (AOM at AOSD 2007) co-located with the 6th International Conference on Aspect-Oriented Software Development (AOSD 2007), Online Proc. (March 2007), http://www.aspect-modeling.org/aosd07/
  6. 6.
    Aldawud, O., Cazzola, W., Elrad, T., Gray, J., Kienzle, J., Stein, D. (eds.): 11th International Workshop on Aspect-Oriented Modeling (AOM at MoDELS 2007) co-located with ACM/IEEE 10th International Conference on Model Driven Engineering Languages and Systems MODELS 2007, Online Proc. (September 2007), http://www.aspect-modeling.org/models07/
  7. 7.
    Zhang, G., Hölzl, M., Knapp, A.: Enhancing UML state machines with aspects. In: [48], pp. 529–543Google Scholar
  8. 8.
    Colyer, A., Clement, A., Harley, G., Webster, M.: Eclipse AspectJ: Aspect-Oriented Programming with AspectJ and the Eclipse AspectJ Development Tools (The Eclipse Series). Addison-Wesley, Reading (2004)Google Scholar
  9. 9.
    Heidenreich, F., Lochmann, H.: Using graph-rewriting for model weaving in the context of aspect-oriented product line engineering. In: 1st Workshop on Aspect-Oriented Product Line Engineering (AOPLE 2006) co-located with the International Conference on Generative Programming and Component Engineering (GPCE 2006), Portland, Oregon, Online Proc. (October 2006), http://www.softeng.ox.ac.uk/aople/aople1/
  10. 10.
    Whittle, J., Moreira, A., Araújo, J., Jayaraman, P., Elkhodary, A., Rabbi, R.: An expressive aspect composition language for UML state diagrams. In: [48], pp. 514–528Google Scholar
  11. 11.
    Aßmann, U.: Invasive Software Composition. Springer, Secaucus (2003)MATHGoogle Scholar
  12. 12.
    Software Technology Group, Technische Universität Dresden: Reuseware Composition Framework (April 2008), http://www.reuseware.org
  13. 13.
    Henriksson, J., Heidenreich, F., Johannes, J., Zschaler, S., Aßmann, U.: Extending grammars and metamodels for reuse: the reuseware approach. IET Software 2(3), 165–184 (2008)CrossRefGoogle Scholar
  14. 14.
    Heidenreich, F., Johannes, J., Zschaler, S.: Aspect orientation for your language of choice. In: [6], http://www.aspect-modeling.org/models07/
  15. 15.
    Filman, R., Friedman, D.: Aspect-oriented programming is quantification and obliviousness. In: Workshop on Advanced Separation of Concerns co-located with OOPSLA 2000, Minneapolis, MN, USA (October 2000)Google Scholar
  16. 16.
    The Eclipse Foundation: Graphical Modeling Framework (April 2008), http://www.eclipse.org/gmf/
  17. 17.
    Sun Microsystems: Enterprise JavaBeans Specification, version 2.0. Final Release (August 2001)Google Scholar
  18. 18.
    Object Management Group: CORBA 3.0 new component chapters. OMG Document (October 1999), http://www.omg.org/cgi-bin/doc?ptc/99-10-04
  19. 19.
    Fiala, Z.: Design and Development of Component-based Adaptive Web Applications. PhD thesis, Technische Universität Dresden, Dresden, Germany (February 2007)Google Scholar
  20. 20.
    Sullivan, K., Griswold, W.G., Song, Y., Cai, Y., Shonle, M., Tewari, N., Rajan, H.: Information hiding interfaces for aspect-oriented design. In: 10th European Software Engineering Conference held jointly with 13th ACM SIGSOFT International Symposium on Foundations of Software Engineering, Lisbon, Portugal, pp. 166–175. ACM Press, New York (2005)CrossRefGoogle Scholar
  21. 21.
    The Eclipse Foundation: The Eclipse Platform (April 2008), http://www.eclipse.org
  22. 22.
    Object Management Group: UML 2.0 OCL specification. OMG Document (October 2003), http://www.omg.org/cgi-bin/doc?ptc/03-10-14
  23. 23.
    Budinsky, F., Brodsky, S.A., Merks, E.: Eclipse Modeling Framework. Pearson Education, London (2003)Google Scholar
  24. 24.
    Object Management Group: MOF 2.0 core specification. OMG Document (January 2006), http://www.omg.org/spec/MOF/2.0
  25. 25.
    The Topcased Project Team: TOPCASED (April 2008), http://www.topcased.org
  26. 26.
    Software Technology Group, Technische Universität Dresden: EMFText Tool (January 2008), http://www.emftext.org
  27. 27.
    The Eclipse Foundation: UML2 Project (April 2008), http://www.eclipse.org/modeling/mdt/?project=uml2tools
  28. 28.
    Bry, F., Schaffert, S.: The XML query language Xcerpt: Design principles, examples, and semantics. In: Chaudhri, A.B., Jeckle, M., Rahm, E., Unland, R. (eds.) NODe-WS 2002. LNCS, vol. 2593, pp. 295–310. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  29. 29.
    Aßmann, U., Berger, S., Bry, F., Furche, T., Henriksson, J., Johannes, J.: Modular web queries – from rules to stores. In: Meersman, R., Tari, Z., Herrero, P. (eds.) OTM-WS 2007, Part II. LNCS, vol. 4806, pp. 1165–1175. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  30. 30.
    Heidenreich, F., Kopcsek, J., Wende, C.: FeatureMapper: Mapping Features to Models (Informal Research Demonstration). In: Companion Proceedings of the 30th International Conference on Software Engineering (ICSE 2008), Leipzig, Germany (May 2008)Google Scholar
  31. 31.
    Klint, P., Lämmel, R., Verhoef, C.: Toward an engineering discipline for grammarware. ACM Transactions on Software Engineering 3(14), 331–380 (2005)CrossRefGoogle Scholar
  32. 32.
    Safonov, V., Gratchev, M., Grigoryev, D., Maslennikov, A.: Aspect.NET – aspect-oriented toolkit for Microsoft.NET based on Phoenix and Whidbey. In: Knoop, J., Skala, V. (eds.) 4th International Conference .NET Technologies, Plzen, Czech Republic, University of West Bohemia, May 2006, pp. 19–30 (2006)Google Scholar
  33. 33.
    García, C.F.N.: Compose* – a runtime for the.Net platform. Master’s thesis, Vrije Universiteit Brussel, Belgium (August 2003), http://composestar.sf.net/
  34. 34.
    Pessemier, N., Seinturier, L., Coupaye, T., Duchien, L.: A model for developing component-based and aspect-oriented systems. In: Löwe, W., Südholt, M. (eds.) SC 2006. LNCS, vol. 4089, pp. 259–274. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  35. 35.
    The Fractal Project Team: The Fractal Project (April 2008), http://fractal.objectweb.org/
  36. 36.
    Gray, J., Roychoudhury, S.: A technique for constructing aspect weavers using a program transformation engine. In: Murphy, G.C., Lieberherr, K.J. (eds.) 3rd International Conference on Aspect-Oriented Software Development (AOSD 2004), Lancaster, UK, pp. 36–45. ACM Press, New York (2004)CrossRefGoogle Scholar
  37. 37.
    Madsen, O.L., Møller-Pedersen, B., Nygaard, K.: Object-Oriented Programming in the BETA Programming Language. Addison-Wesley, Reading (1993)Google Scholar
  38. 38.
    The COMPOST Consortium: The COMPOST system (April 2008), http://www.the-compost-system.org
  39. 39.
    Majkut, M., Franczyk, B.: Generation of implementations for the model driven architecture with syntactic unit trees. In: Crocker, R., Steele Jr., G.L. (eds.) 2nd Workshop Generative Techniques in the context of MDA co-located with OOPSLA 2003, Anaheim, CA, USA, Online Proc. (October 2003)Google Scholar
  40. 40.
    The AMW Project Team: Atlas Model Weaver (April 2008) http://eclipse.org/gmt/amw/
  41. 41.
    Groher, I., Völter, M.: XWeave: Models and aspects in concert. In: [5], http://www.aspect-modeling.org/aosd07/
  42. 42.
    Vanderbilt University, Institute for Software Integrated Systems: GME: The Generic Modeling Environment (2008), http://www.isis.vanderbilt.edu/Projects/gme/
  43. 43.
    Ledeczi, A., Maroti, M., Bakay, A., Karsai, G., Garrett, J., Thomason, C., Nordstrom, G., Sprinkle, J., Volgyesi, P.: The generic modeling environment. Technical report, Vanderbilt University, Institute for Software Integrated Systems, Nashville, TN, USA (2000)Google Scholar
  44. 44.
    Ledeczi, A., Nordstrom, G., Karsai, G., Volgyesi, P., Maroti, M.: On metamodel composition. In: IEEE International Conference on Control Applications 2001 (CCA 2001), Mexico City, Mexico, September 2001, pp. 756–760 (2001)Google Scholar
  45. 45.
    Fleurey, F., Baudry, B., France, R., Ghosh, S.: A generic approach for automatic model composition. In: [6], http://www.aspect-modeling.org/models07/
  46. 46.
    Henriksson, J., Aßmann, U., Heidenreich, F., Johannes, J., Zschaler, S.: How dark should a component black box be? The Reuseware Answer. In: Weck, W., Reussner, R., Szyperski, C. (eds.) 12th International Workshop on Component-Oriented Programming (WCOP) co-located with 21st European Conference on Object-Oriented Programming (ECOOP 2007). LNCS, vol. 4906, Berlin, Germany (July 2007)Google Scholar
  47. 47.
    Gray, J., Lin, Y., Zhang, J.: Automating change evolution in model-driven engineering. IEEE Computer 39(2), 51–58 (2006)Google Scholar
  48. 48.
    Engels, G., Opdyke, B., Schmidt, D.C., Weil, F. (eds.): 10th International Conference on Model Driven Engineering Languages and Systems (MoDELS 2007). LNCS, vol. 4735. Springer, Heidelberg (2007)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2009

Authors and Affiliations

  • Florian Heidenreich
    • 1
  • Jakob Henriksson
    • 1
  • Jendrik Johannes
    • 1
  • Steffen Zschaler
    • 2
  1. 1.Institut für Software- und MultimediatechnikTechnische Universität DresdenDresdenGermany
  2. 2.Lancaster University 

Personalised recommendations