Abstract
The ever increasing complexity of software systems promotes the reuse of software components to a topic of utter importance. By reusing mature parts of software, large systems can be built with high quality. The Reuseware Composition Framework can compose components written in arbitrary software languages. Based on metamodeling these components are merged invasively. But, even though language independent composition is powerful to compose complex systems, one must consider that composition is not the only activity in developing a working systems by reuse. Many tests and validations can only be performed on the composed system. At that point, it is hard to (a) know from which component an error originates and (b) ascertain what the implications of changing something in the composed system are.
This paper presents an approach to propagate changes back to the correct source components and discusses the possible implications of changes made to composed systems. Furthermore, the implementation of the approach as an extension to the Reuseware Composition Framework is presented using two example applications.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Aßmann, U.: Invasive Software Composition, 1st edn. Springer, Heidelberg (2003)
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., Henriksson, J., Johannes, J., Zschaler, S.: On Language-Independent Model Modularisation. Transactions on Aspect-Oriented Development, Special Issue on Aspects and MDE (2009)
Madsen, O.L., Møller-Pedersen, B., Nygaard, K.: Object-Oriented Programming in the BETA Programming Language. Addison-Wesley, Reading (1993)
Henriksson, J.: A Lightweight Framework for Universal Fragment Composition—with an application in the Semantic Web. PhD thesis, Technische Universität Dresden (January 2009)
Object Management Group: MOF 2.0 core specification. OMG Document (January 2006), http://www.omg.org/spec/MOF/2.0
Object Management Group: Unified Modeling Language: Superstructure Version 2.1.2. Final Adopted Specification formal/2007-11-02 (2007)
Chalabine, M., Kessler, C.: A Formal Framework for Automated Round-Trip Software Engineering in Static Aspect Weaving and Transformations. In: Proceedings of 29th International Conference on Software Engineering (ICSE 2007), Minneapolis, USA, pp. 137–146 (2007)
Fritzsche, M., Johannes, J.: Putting Performance Engineering into Model-Driven Engineering: Model-Driven Performance Engineering. In: Giese, H. (ed.) MODELS 2008. LNCS, vol. 5002, pp. 164–175. Springer, Heidelberg (2008) (MoDELS 2005 Satellite Events: Revised Selected Papers)
Sendall, S., Küster, J.M.: Taming Model Round-Trip Engineering. In: Proceedings of Workshop on Best Practices for Model-Driven Software Development, Vancouver, Canada (2004)
Aßmann, U.: Automatic Roundtrip Engineering. Electronic Notes in Theoretical Computer Science 82(5) (2003)
Eaddy, M., Aho, A., Hu, W., McDonald, P., Burger, J.: Debugging Aspect-Enabled Programs. In: Lumpe, M., Vanderperren, W. (eds.) SC 2007. LNCS, vol. 4829, pp. 200–216. Springer, Heidelberg (2007)
Stevens, P.: Towards an Algebraic Theory of Bidirectional Transformations. In: Proceedings of 4th International Conference on Graph Transformations (ICGT2008), Leicester, United Kingdom, pp. 1–17 (2008)
Schürr, A.: Specification of Graph Translators with Triple Graph Grammars. In: Mayr, E.W., Schmidt, G., Tinhofer, G. (eds.) WG 1994. LNCS, vol. 903. Springer, Heidelberg (1995)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2009 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Johannes, J., Samlaus, R., Seifert, M. (2009). Round-Trip Support for Invasive Software Composition Systems. In: Bergel, A., Fabry, J. (eds) Software Composition. SC 2009. Lecture Notes in Computer Science, vol 5634. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-02655-3_8
Download citation
DOI: https://doi.org/10.1007/978-3-642-02655-3_8
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-02654-6
Online ISBN: 978-3-642-02655-3
eBook Packages: Computer ScienceComputer Science (R0)