skip to main content
10.1145/3377024.3377035acmotherconferencesArticle/Chapter ViewAbstractPublication PagesvamosConference Proceedingsconference-collections
research-article

Structurally evolving component-port-connector architectures of centrally controlled systems

Published: 06 February 2020 Publication History

Abstract

The increasing complexity of software variants demands for variation management techniques suitable for industrial practice. As "clone-and-own" with subsequent manual evolution still is a popular method to create software variants, this leads to product lines that are difficult to maintain and evolve and can produce conflicts when changes occur in both, product line and variant. Where general approaches to differencing and merging handcrafted changes to products perform suboptimally, respecting assumptions on the structure of the architecture can reduce the differencing search space and yield better results. We present a novel method for differencing and merging hierarchical component-port-connector architectures based on the Focus calculus. It leverages assumptions on the distribution of components to facilitate calculating differences between architecture versions and deriving delta bundles to update software products to changes in the underlying product line. Through a (preliminary) survey with 27 participants, we compared the results of our method with the results of manually differencing. The survey showed that this method yields deltas and merge results that are considered correct by the participants. Overall, we found that including assumptions about the architectural style and that grouping related deltas into compact bundles can greatly facilitate merging manually created and evolved products back into their underlying product lines.

References

[1]
M. Abi-Antoun, J. Aldrich, N. Nahas, B. Schmerl, and D. Garlan. 2006. Differencing and Merging of Architectural Views. In 21st IEEE/ACM International Conference on Automated Software Engineering. 47--58.
[2]
Kai Adam, Arvid Butting, Robert Heim, Oliver Kautz, Bernhard Rumpe, and Andreas Wortmann. 2016. Model-driven separation of concerns for service robotics. In Proceedings of the International Workshop on Domain-Specific Modeling. ACM, 22--27.
[3]
Marcus Alanen and Ivan Porres. 2003. Difference and Union of Models. In UML 2003 - The Unified Modeling Language. Modeling Languages and Applications. Lecture Notes in Computer Science, Vol. 2863. Springer, Berlin and Heidelberg, 2--17.
[4]
Réka Albert and Albert-László Barabási. 2002. Statistical Mechanics of Complex Networks. Reviews of Modern Physics 74 (Jan 2002), 47--97. Issue 1.
[5]
Don Batory. 2005. Feature models, Grammars, and Propositional Formulas. In International Conference on Software Product Lines. Springer, 7--20.
[6]
Manfred Broy and Ketil Stølen. 2001. Specification and Development of Interactive Systems. Focus on Streams, Interfaces and Refinement. Springer Verlag Heidelberg.
[7]
Arvid Butting, Arne Haber, Lars Hermerschmidt, Oliver Kautz, Bernhard Rumpe, and Andreas Wortmann. 2017. Systematic Language Extension Mechanisms for the MontiArc Architecture Description Language. In Modelling Foundations and Applications (ECMFA'17), Held as Part of STAF 2017. Springer International Publishing, 53--70.
[8]
Arvid Butting, Oliver Kautz, Bernhard Rumpe, and Andreas Wortmann. 2017. Architectural Programming with MontiArcAutomaton. In In 12th International Conference on Software Engineering Advances (ICSEA 2017). Athens, Greece, 213--218.
[9]
Arvid Butting, Oliver Kautz, Bernhard Rumpe, and Andreas Wortmann. 2017. Semantic Differencing for Message-Driven Component & Connector Architectures. In International Conference on Software Architecture. IEEE, 145--154.
[10]
Dave Clarke, Michiel Helvensteijn, and Ina Schaefer. 2010. Abstract Delta Modeling. In Proceedings of the Ninth International Conference on Generative Programming and Component Engineering (GPCE '10). ACM, New York, NY, USA, 13--22.
[11]
P. Clements and L. Northrop. 2002. Software Product Lines: Practices and Patterns. Addison-Wesley. 159 pages.
[12]
Imke Drave, Timo Greifenberg, Steffen Hillemacher, Stefan Kriebel, Evgeny Kusmenko, Matthias Markthaler, Philipp Orth, Karin Samira Salman, Johannes Richenhagen, Bernhard Rumpe, Christoph Schulze, Michael Wenckstern, and Andreas Wortmann. 2019. SMArDT modeling for automotive software testing. Software: Practice and Experience 49, 2 (February 2019), 301--328.
[13]
Peter H. Feiler and David P. Gluch. 2012. Model-Based Engineering with AADL: An Introduction to the SAE Architecture Analysis & Design Language. Addison-Wesley.
[14]
Stefan Fischer, Lukas Linsbauer, Roberto Erick Lopez-Herrejon, and Alexander Egyed. 2014. Enhancing Clone-and-Own with Systematic Reuse for Developing Software Variants. In 2014 IEEE International Conference on Software Maintenance and Evolution. IEEE, 391--400.
[15]
Robert France and Bernhard Rumpe. 2007. Model-Driven Development of Complex Software: A Research Roadmap. In Future of Software Engineering 2007 at ICSE.
[16]
Jilles Van Gurp, Jan Bosch, and Mikael Svahnberg. 2001. On the Notion of Variability in Software Product Lines. In Proceedings of the Working IEEE/IFIP Conference on Software Architecture. IEEE Computer Society, Washington, DC, USA, 45.
[17]
Arne Haber, Jan Oliver Ringert, and Bernard Rumpe. 2012. MontiArc - Architectural Modeling of Interactive Distributed and Cyber-Physical Systems. Technical Report AIB-2012-03. RWTH Aachen. http://aib.informatik.rwth-aachen.de/2012/2012-03.pdf
[18]
Ramin Tavakoli Kolagari, DeJiu Chen, Agnes Lanusse, Renato Librino, Henrik Lönn, Nidhal Mahmud, Chokri Mraidha, Mark-Oliver Reiser, Sandra Torchiaro, Sara Tucci-Piergiovanni, Tobias Wägemann, and Nataliya Yakymets. 2015. Model-Based Analysis and Engineering of Automotive Architectures with EAST-ADL: Revisited. International Journal of Conceptual Structures and Smart Applications 3, 2 (July 2015), 25--70.
[19]
Dimitrios S. Kolovos, Davide Di Ruscio, Alfonso Pierantonio, and Richard F. Paige. 2009. Different Models for Model Matching: An Analysis of Approaches to Support Model Differencing. In Proceedings of the 2009 ICSE Workshop on Comparison and Versioning of Software Models (CVSM '09). IEEE Computer Society, Washington, DC, USA, 1--6.
[20]
Yuehua Lin, Jeff Gray, and Frédéric Jouault. 2007. DSMDiff: A Differentiation Tool for Domain-Specific Models. European Journal of Information Systems 16, 4 (Aug 2007), 349--361.
[21]
Sascha Lity, Mustafa Al-Hajjaji, Thomas Thüm, and Ina Schaefer. 2017. Optimizing Product Orders Using Graph Algorithms for Improving Incremental Product-line Analysis. In Proceedings of the Eleventh International Workshop on Variability Modelling of Software-intensive Systems (VAMOS '17). ACM, New York, NY, USA, 60--67.
[22]
Malte Lochau, Sascha Lity, Remo Lachmann, Ina Schaefer, and Ursula Goltz. 2014. Delta-oriented Model-based Integration Testing of Large-scale Systems. Journal of Systems and Software 91 (2014), 63--84.
[23]
Ivano Malavolta, Patricia Lago, Henry Muccini, Patrizio Pelliccione, and Antony Tang. 2013. What Industry Needs from Architectural Languages: A Survey. IEEE Trans. on Software Engineering (2013).
[24]
Shahar Maoz, Jan Oliver Ringert, and Bernhard Rumpe. 2010. A Manifesto for Semantic Model Differencing. In Proceedings International Workshop on Models and Evolution (LNCS 6627). Springer, 194--203.
[25]
Nenad Medvidovic and Richard N Taylor. 2000. A Classification and Comparison Framework for Software Architecture Description Languages. IEEE Transactions on Software Engineering (2000).
[26]
T. Mens. 2002. A State-of-the-Art Survey on Software Merging. IEEE Transactions on Software Engineering 28, 5 (May 2002), 449--462.
[27]
T. Mens, M. Wermelinger, S. Ducasse, S. Demeyer, R. Hirschfeld, and M. Jazayeri. 2005. Challenges in Software Evolution. In Eighth International Workshop on Principles of Software Evolution. 13--22.
[28]
Sharon Oviatt. 2006. Human-centered Design Meets Cognitive Load Theory: Designing Interfaces That Help People Think. In Proceedings of the 14th ACM International Conference on Multimedia (MM '06). ACM, New York, NY, USA, 871--880.
[29]
Raghu Reddy, Robert France, Sudipto Ghosh, Franck Fleurey, and Benoit Baudry. 2005. Model Composition - A Signature-Based Approach. In Aspect Oriented Modeling (AOM) Workshop.
[30]
Jan Oliver Ringert, Alexander Roth, Bernhard Rumpe, and Andreas Wortmann. 2015. Language and Code Generator Composition for Model-Driven Engineering of Robotics Component & Connector Systems. Journal of Software Engineering for Robotics 6, 1 (2015), 33--57.
[31]
Jan Oliver Ringert and Bernhard Rumpe. 2011. A Little Synopsis on Streams, Stream Processing Functions, and State-Based Stream Processing. International Journal of Software and Informatics 5, 1-2 (July 2011), 29--53.
[32]
Jan Oliver Ringert, Bernhard Rumpe, Christoph Schulze, and Andreas Wortmann. 2017. Teaching Agile Model-Driven Engineering for Cyber-Physical Systems. In International Conference on Software Engineering: Software Engineering and Education Track (ICSE'17). IEEE, 127--136.
[33]
Jan Oliver Ringert, Bernhard Rumpe, and Andreas Wortmann. 2013. A Case Study on Model-Based Development of Robotic Systems using MontiArc with Embedded Automata. In Dagstuhl-Workshop MBEES: Modellbasierte Entwicklung eingebetteter Systeme, Holger Giese, Michaela Huhn, Jan Philipps, and Bernhard Schätz (Eds.). 30--43.
[34]
Ina Schaefer, Lorenzo Bettini, Viviana Bono, Ferruccio Damiani, and Nico Tanzarella. 2010. Delta-oriented Programming of Software Product Lines. In Software Product Lines: Going Beyond.
[35]
Sandro Schulze, Michael Schulze, Uwe Ryssel, and Christoph Seidl. 2016. Aligning Coevolving Artifacts Between Software Product Lines and Products. In Proceedings of the 10th International Workshop on Variability Modelling of Software-intensive Systems. ACM, 9--16.
[36]
Christoph Treude, Stefan Berlik, Sven Wenzel, and Udo Kelter. 2007. Difference Computation of Large Models. In Proceedings of the the 6th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on The Foundations of Software Engineering (ESEC-FSE '07). ACM, New York, NY, USA, 295--304.
[37]
Zhenchang Xing and Eleni Stroulia. 2005. UMLDiff: An Algorithm for Object-Oriented Design Differencing. In Proceedings of the 20th IEEE/ACM International Conference on Automated Software Engineering. ACM, 54--65.

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Other conferences
VaMoS '20: Proceedings of the 14th International Working Conference on Variability Modelling of Software-Intensive Systems
February 2020
184 pages
ISBN:9781450375016
DOI:10.1145/3377024
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].

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 06 February 2020

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Research-article

Conference

VaMoS '20

Acceptance Rates

Overall Acceptance Rate 66 of 147 submissions, 45%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 56
    Total Downloads
  • Downloads (Last 12 months)10
  • Downloads (Last 6 weeks)1
Reflects downloads up to 09 Feb 2025

Other Metrics

Citations

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media