[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
10.1145/3136014.3136037acmconferencesArticle/Chapter ViewAbstractPublication PagessplashConference Proceedingsconference-collections
research-article

Virtual textual model composition for supporting versioning and aspect-orientation

Published: 23 October 2017 Publication History

Abstract

The maintenance of modern systems often requires developers to perform complex and error-prone cognitive tasks, which are caused by the obscurity, redundancy, and irrelevancy of code, distracting from essential maintenance tasks. Typical maintenance scenarios include multiple branches of code in repositories, which involves dealing with branch-interdependent changes, and aspects in aspect-oriented development, which requires in-depth knowledge of behavior-interdependent changes. Thus, merging branched files as well as validating the behavior of statically composed code requires developers to conduct exhaustive individual introspection.
In this work we present VirtualEdit for associative, commutative, and invertible model composition. It allows simultaneous editing of multiple model versions or variants through dynamically derived virtual models. We implemented the approach in terms of an open-source framework that enables multi-version editing and aspect-orientation by selectively focusing on specific parts of code, which are significant for a particular engineering task.
The VirtualEdit framework is evaluated based on its application to the most popular publicly available Xtext-based languages. Our results indicate that VirtualEdit can be applied to existing languages with reasonably low effort.

Supplementary Material

Auxiliary Archive (sle17-sle17main66-aux.zip)

References

[1]
Marcus Alanen and Ivan Porres. 2003. Difference and Union of Models. In Proc. of the 6th Intl. Conf. on UML. Springer.
[2]
Roger T Alexander, James M Bieman, and Anneliese A Andrews. 2004. Towards the systematic testing of aspect-oriented programs. Technical Report, Colorado State University (2004).
[3]
Jean Bézivin, Salim Bouzitouna, Marcos Didonet Del Fabro, MariePierre Gervais, Frédéric Jouault, Dimitrios S. Kolovos, Ivan Kurtev, and Richard F. Paige. 2006. A Canonical Scheme for Model Composition. In Proc. of the 2nd European Conf. on Model Driven Architecture -Foundations and Applications (ECMDA-FA). 346–360.
[4]
Enrico Biermann. 2010. EMF Model Transformation Based on Graph Transformation: Formal Foundation and Tool Environment. In Proc. of the 5th Intl. Conf. on Graph Transformations. Springer.
[5]
Petra Brosch, Gerti Kappel, Philip Langer, Martina Seidl, Konrad Wieland, and Manuel Wimmer. 2012. An Introduction to Model Versioning. In Formal Methods for Model-Driven Engineering - 12th Intl. School on Formal Methods for the Design of Computer, Communication, and Software Systems (SFM). Springer.
[6]
Hugo Brunelière, Jokin García Perez, Manuel Wimmer, and Jordi Cabot. 2015. EMF Views: A View Mechanism for Integrating Heterogeneous Models. In Proc. of the 34th Intl. Conf. on Conceptual Modeling (ER).
[7]
Erik Burger, Jörg Henss, Martin Küster, Steffen Kruse, and Lucia Happe. 2016. View-based model-driven software development with ModelJoin. Software and System Modeling 15, 2 (2016), 473–496.
[8]
Mariano Ceccato, Paolo Tonella, and Filippo Ricca. 2005. Is AOP code easier or harder to test than OOP code. In Proc. of the 1st Workshop on Testing Aspect-Oriented Program (WTAOP).
[9]
Cauê Clasen, Frédéric Jouault, and Jordi Cabot. 2011. VirtualEMF: A Model Virtualization Tool. In Proc. of Advances in Conceptual Modeling. Recent Developments and New Directions (ER).
[10]
Marc Eaddy, Alfred V. Aho, Weiping Hu, Paddy McDonald, and Julian Burger. 2007. Debugging Aspect-Enabled Programs. In Proc. of the 6th Intl. Symposium on Software Composition (SC).
[11]
Moritz Eysholdt and Heiko Behrens. 2010. Xtext: Implement Your Language Faster Than the Quick and Dirty Way. In Proc. of the ACM Intl. Conf. Companion on Object Oriented Programming Systems Languages and Applications Companion (OOPSLA’10).
[12]
Franck Fleurey, Benoit Baudry, Robert B. France, and Sudipto Ghosh. 2007. A Generic Approach for Automatic Model Composition. In Proc. of MODELS.
[13]
Thomas Goldschmidt, Steffen Becker, and Erik Burger. 2012. Towards a Tool-Oriented Taxonomy of View-Based Modelling. In Proc. of Modellierung.
[14]
Iris Groher and Markus Voelter. 2007. XWeave: models and aspects in concert. In Proc. of the 10th Intl. Workshop on Aspect-Oriented Modeling.
[15]
Christoph Herrmann, Holger Krahn, Bernhard Rumpe, Martin Schindler, and Steven Völkel. 2007. An Algebraic View on the Semantics of Model Composition. In Proc. of the 3rd European Conf. on Model Driven Architecture- Foundations and Applications (ECMDA-FA).
[16]
Aram Hovsepyan, Riccardo Scandariato, Stefan Van Baelen, Yolande Berbers, and Wouter Joosen. 2010. From aspect-oriented models to aspect-oriented code?: the maintenance perspective. In Proc. of the 9th Intl. Conf. on Aspect-Oriented Software Development (AOSD).
[17]
Kabir Khan. 2008. An Introduction to Aspect-Oriented programming with JBoss AOP. https://dzone.com/articles/an-introduction-aspectoriente .
[18]
Dimitrios S. Kolovos, Richard F. Paige, and Fiona Polack. 2006. Merging Models with the Epsilon Merging Language (EML). In Proc. of the 9th Intl. Conf. on Model Driven Engineering Languages and Systems (MoDELS).
[19]
Dimitrios S. Kolovos, Richard F. Paige, and Fiona A.C. Polack. 2006. Model Comparison: A Foundation for Model Composition and Model Transformation Testing. In Proc. of the Intl. Workshop on Global Integrated Model Management (GaMMa’06).
[20]
Ramnivas Laddad. 2003. AspectJ in action: practical aspect-oriented programming. Dreamtech Press.
[21]
Philip Langer, Manuel Wimmer, Jeff Gray, Gerti Kappel, and Antonio Vallecillo. 2012. Language-Specific Model Versioning Based on Signifiers. Journal of Object Technology 11, 3 (2012), 4:1–34.
[22]
Abid Mehmood and Dayang N. A. Jawawi. 2013. Aspect-oriented model-driven code generation: A systematic mapping study. Information & Software Technology 55, 2 (2013), 395–411.
[23]
Katharina Mehner and Gabriele Taentzer. 2005. Supporting AspectOriented Modeling with Graph Transformations. In Proc. of the Workshop on Early Aspects.
[24]
Dirk Ohst, Michael Welle, and Udo Kelter. 2003. Differences between versions of UML diagrams. In Proc. of the 11th ACM SIGSOFT Symposium on Foundations of Software Engineering (ESEC/FSE).
[25]
Per Runeson, Martin Höst, Austen Rainer, and Björn Regnell. 2012. Case Study Research in Software Engineering - Guidelines and Examples. Wiley.
[26]
Davide Di Ruscio, Ivano Malavolta, Henry Muccini, Patrizio Pelliccione, and Alfonso Pierantonio. 2010. Developing next generation ADLs through MDE techniques. In Proc. of the 32nd ACM/IEEE Intl. Conf. on Software Engineering (ICSE).
[27]
Matthias Schöttle, Nishanth Thimmegowda, Omar Alam, Jörg Kienzle, and Gunter Mussbacher. 2015. Feature modelling and traceability for concern-driven software development with TouchCORE. In Companion Proc. of the 14th Intl. Conf. on Modularity.
[28]
David Steinberg, Frank Budinsky, Marcelo Paternostro, and Ed Merks. 2009. EMF: Eclipse Modeling Framework 2.0 (2nd ed.). Addison-Wesley Professional.
[29]
Greg Straw, Geri Georg, Eunjee Song, Sudipto Ghosh, Robert B. France, and James M. Bieman. 2004. Model Composition Directives. In Proc. of the 7th Intl. Conf. on UML.
[30]
Gabriele Taentzer, Claudia Ermel, Philip Langer, and Manuel Wimmer. 2014. A fundamental approach to model versioning based on graph modifications: from theory to implementation. Software and System Modeling 13, 1 (2014), 239–272.
[31]
Antonio Vallecillo. 2010. On the Combination of Domain Specific Modeling Languages. In Proc. of the 6th European Conf. on Modelling Foundations and Applications (ECMFA).
[32]
Jon Whittle, Praveen K. Jayaraman, Ahmed M. Elkhodary, Ana Moreira, and João Araújo. 2009. MATA: A Unified Approach for Composing UML Aspect Models Based on Graph Transformation. Trans. AspectOriented Software Development 6 (2009), 191–237.
[33]
Manuel Wimmer, Andrea Schauerhuber, Gerti Kappel, Werner Retschitzegger, Wieland Schwinger, and Elizabeth Kapsammer. 2011. A Survey on UML-based Aspect-oriented Design Modeling. ACM Comput. Surv. 43, 4 (2011), 28:1–28:33.

Cited By

View all
  • (2019)On the Need for Data-Based Model-Driven EngineeringSecurity and Quality in Cyber-Physical Systems Engineering10.1007/978-3-030-25312-7_5(103-127)Online publication date: 10-Nov-2019

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
SLE 2017: Proceedings of the 10th ACM SIGPLAN International Conference on Software Language Engineering
October 2017
267 pages
ISBN:9781450355254
DOI:10.1145/3136014
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

Sponsors

In-Cooperation

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 23 October 2017

Permissions

Request permissions for this article.

Check for updates

Badges

Author Tags

  1. Aspect-oriented modeling
  2. aspect weaving
  3. model versioning
  4. model virtualization
  5. model-driven engineering

Qualifiers

  • Research-article

Funding Sources

Conference

SPLASH '17
Sponsor:

Upcoming Conference

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 12 Dec 2024

Other Metrics

Citations

Cited By

View all
  • (2019)On the Need for Data-Based Model-Driven EngineeringSecurity and Quality in Cyber-Physical Systems Engineering10.1007/978-3-030-25312-7_5(103-127)Online publication date: 10-Nov-2019

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media