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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Ritsko, J.J., Seidman, D.I.: Preface. IBM Systems Journal – Special Issue on Model-Driven Software Development 45(3) (2006)
Object Management Group: UML 2.0 infrastructure specification. OMG Document (October 2004), http://www.omg.org/cgi-bin/doc?ptc/04-10-14
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)
Peterson, J.L.: Petri nets. ACM Computing Surveys 9(3), 223–252 (1977)
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/
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/
Zhang, G., Hölzl, M., Knapp, A.: Enhancing UML state machines with aspects. In: [48], pp. 529–543
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)
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/
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–528
Aßmann, U.: Invasive Software Composition. Springer, Secaucus (2003)
Software Technology Group, Technische Universität Dresden: Reuseware Composition Framework (April 2008), http://www.reuseware.org
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)
Heidenreich, F., Johannes, J., Zschaler, S.: Aspect orientation for your language of choice. In: [6], http://www.aspect-modeling.org/models07/
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)
The Eclipse Foundation: Graphical Modeling Framework (April 2008), http://www.eclipse.org/gmf/
Sun Microsystems: Enterprise JavaBeans Specification, version 2.0. Final Release (August 2001)
Object Management Group: CORBA 3.0 new component chapters. OMG Document (October 1999), http://www.omg.org/cgi-bin/doc?ptc/99-10-04
Fiala, Z.: Design and Development of Component-based Adaptive Web Applications. PhD thesis, Technische Universität Dresden, Dresden, Germany (February 2007)
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)
The Eclipse Foundation: The Eclipse Platform (April 2008), http://www.eclipse.org
Object Management Group: UML 2.0 OCL specification. OMG Document (October 2003), http://www.omg.org/cgi-bin/doc?ptc/03-10-14
Budinsky, F., Brodsky, S.A., Merks, E.: Eclipse Modeling Framework. Pearson Education, London (2003)
Object Management Group: MOF 2.0 core specification. OMG Document (January 2006), http://www.omg.org/spec/MOF/2.0
The Topcased Project Team: TOPCASED (April 2008), http://www.topcased.org
Software Technology Group, Technische Universität Dresden: EMFText Tool (January 2008), http://www.emftext.org
The Eclipse Foundation: UML2 Project (April 2008), http://www.eclipse.org/modeling/mdt/?project=uml2tools
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)
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)
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)
Klint, P., Lämmel, R., Verhoef, C.: Toward an engineering discipline for grammarware. ACM Transactions on Software Engineering 3(14), 331–380 (2005)
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)
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/
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)
The Fractal Project Team: The Fractal Project (April 2008), http://fractal.objectweb.org/
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)
Madsen, O.L., Møller-Pedersen, B., Nygaard, K.: Object-Oriented Programming in the BETA Programming Language. Addison-Wesley, Reading (1993)
The COMPOST Consortium: The COMPOST system (April 2008), http://www.the-compost-system.org
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)
The AMW Project Team: Atlas Model Weaver (April 2008) http://eclipse.org/gmt/amw/
Groher, I., Völter, M.: XWeave: Models and aspects in concert. In: [5], http://www.aspect-modeling.org/aosd07/
Vanderbilt University, Institute for Software Integrated Systems: GME: The Generic Modeling Environment (2008), http://www.isis.vanderbilt.edu/Projects/gme/
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)
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)
Fleurey, F., Baudry, B., France, R., Ghosh, S.: A generic approach for automatic model composition. In: [6], http://www.aspect-modeling.org/models07/
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)
Gray, J., Lin, Y., Zhang, J.: Automating change evolution in model-driven engineering. IEEE Computer 39(2), 51–58 (2006)
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)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2009 Springer-Verlag Berlin Heidelberg
About this chapter
Cite this chapter
Heidenreich, F., Henriksson, J., Johannes, J., Zschaler, S. (2009). On Language-Independent Model Modularisation. In: Katz, S., Ossher, H., France, R., Jézéquel, JM. (eds) Transactions on Aspect-Oriented Software Development VI. Lecture Notes in Computer Science, vol 5560. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-03764-1_2
Download citation
DOI: https://doi.org/10.1007/978-3-642-03764-1_2
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-03763-4
Online ISBN: 978-3-642-03764-1
eBook Packages: Computer ScienceComputer Science (R0)