Abstract
The importance of model composition in model-centric software development is well recognized by researchers and practitioners. However, little is known about the critical factors influencing the effort that developers invest to combine design models, detect and resolve inconsistencies in practice. This paper, therefore, reports on five industrial case studies where the model composition was used to evolve and reconcile large-scale design models. These studies aim at: (1) gathering empirical evidence about the extent of composition effort when realizing different categories of changes, and (2) identifying and analyzing their influential factors. A series of 297 evolution scenarios was performed on the target systems, leading to more than 2 million compositions of model elements. Our findings suggest that: the inconsistency resolution effort is much higher than the upfront effort to apply the composition technique and detect inconsistencies; the developer’s reputation significantly influences the resolution of conflicting changes; and the evolutions dominated by additions required less effort.
Keywords
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
Runeson, P., Höst, M.: Guidelines for Conducting and Reporting Case Study Research in Software Engineering. Empirical Software Engineering 14, 131–164 (2009)
Wohlin, C., Runeson, P., Höst, M., Ohlsson, M., Regnell, B., Wesslén, A.: Experimentation Software Engineering - An Introduction. Kluwer Academic Publishers (2000)
Kitchenham, B., Al-Khilidar, H., Babar, M., Berry, M., Cox, K., Keung, J., Kurniawati, F., Staples, M., Zhang, H., Zhu, L.: Evaluating Guidelines for Reporting Empirical Software Engineering Studies. Empirical Software Engineering 13(1), 97–12 (2008)
Boisvert, R., Tang, P. (eds.): The Architecture of Scientific Software. Kluwer Academic (2001)
Kelly, D.: A Study of Design Characteristics in Evolving Software Using Stability as a Criterion. IEEE Transactions on Software Engineering 32(5), 315–329 (2006)
Camtasia Studio Pro. (2011), http://www.techsmith.com/camtasia/
Farias, K.: Analyzing the Effort on Composing Design Models in Industrial Case Studies. In: 10th International Conference on Aspect-Oriented Software Development Companion, Porto de Galinhas, Brazil, pp. 79–80 (2011)
Farias, K., Garcia, A., Whittle, J.: Assessing the Impact of Aspects on Model Composition Effort. In: 9th International Conference on Aspect-Oriented Software Development Companion, Saint Malo, France, pp. 73–84 (2010)
Norris, N., Letkeman, K.: Governing and Managing Enterprise Models: Part 1. Introduction and Concepts. IBM Developer Works (2011), http://www.ibm.com/developerworks/rational/library/09/0113_letkeman-norris
Mens, T.: A State-of-the-Art Survey on Software Merging. IEEE Transactions on Software Engineering 28(5), 449–462 (2002)
Perry, D., Siy, H., Votta, L.: Parallel Changes in Large-Scale Software Development: an Observational Case Study. Journal ACM Transactions on Software Engineering and Methodology (TOSEM) 10(3), 308–337 (2001)
Keith, E.: Flexible Conflict Detection and Management in Collaborative Applications. In: 10th Annual ACM Symposium on User Interface Software and Technology, pp. 139–148 (1997)
Ellis, C., Gibbs, S.: Concurrency Control in Groupware Systems. ACM SIGMOD, 399–407 (1989)
Berzins, V.: Software Merge: Semantics of Combining Changes to Programs. Journal ACM Transactions on Programming Languages and Systems 16(6), 1875–1903 (1994)
Berzins, V., Dampier, D.: Software merge: Combining Changes to Decompositions. Journal of Systems Integration 6(1-2), 135–150 (1996)
IBM Rational Software Architecture (2011), http://www.ibm.com/developerworks/rational/products/rsa/
Berzins, V.: On Merging Software Extensions. Acta Informatica 23, 607–619 (1986)
Gerth, C., Küster, J.M., Luckey, M., Engels, G.: Precise Detection of Conflicting Change Operations Using Process Model Terms. In: Petriu, D.C., Rouquette, N., Haugen, Ø. (eds.) MODELS 2010, Part II. LNCS, vol. 6395, pp. 93–107. Springer, Heidelberg (2010)
Whittle, J., Jayaraman, P., Elkhodary, A., Moreira, A., Araújo, J.: MATA: A unified approach for composing UML aspect models based on graph transformation. In: Katz, S., Ossher, H., France, R., Jézéquel, J.-M. (eds.) Transactions on AOSD VI. LNCS, vol. 5560, pp. 191–237. Springer, Heidelberg (2009)
Whittle, J., Jayaraman, P.: Synthesizing Hierarchical State Machines from Expressive Scenario Descriptions. ACM TOSEM 19(3) (January 2010)
Klein, J., Hélouët, L., Jézéquel, J.: Semantic-based Weaving of Scenarios. In: 5th AOSD 2006, Bonn, Germany (March 2006)
Epsilon Project (2011), http://www.eclipse.org/gmt/epsilon/
Kompose: A generic model composition tool (2011), www.kermeta.org/kompose
Sabetzadeh, M., Nejati, S., Chechik, M., Easterbrook, S.: Reasoning about Consistency in Model Merging. In: 3rd Workshop on Living With Inconsistency in Software Development (September 2010)
Jayaraman, P., Whittle, J., Elkhodary, A.M., Gomaa, H.: Model Composition in Product Lines and Feature Interaction Detection Using Critical Pair Analysis. In: Engels, G., Opdyke, B., Schmidt, D.C., Weil, F. (eds.) MODELS 2007. LNCS, vol. 4735, pp. 151–165. Springer, Heidelberg (2007)
Diskin, Z., Xiong, Y., Czarnecki, K.: Specifying Overlaps of Heterogeneous Models for Global Consistency Checking. In: Dingel, J., Solberg, A. (eds.) MODELS 2010. LNCS, vol. 6627, pp. 165–179. Springer, Heidelberg (2011)
Egyed, A.: Fixing Inconsistencies in UML Design Models. In: 29th International Conference on Software Engineering, pp. 292–301 (2007)
Thaker, S., Batory, D., Kitchin, D., Cook, W.: Safe Composition of Product Lines. In: 6th GPCE 2007, Salzburg, Austria, pp. 95–104 (2007)
Egyed, A.: Automatically Detecting and Tracking Inconsistencies in Software Design Models. IEEE Transactions on Software Engineering 37(2), 188–204 (2010)
Whitehead, J.: Collaboration in Software Engineering: A Roadmap. In: Future of Software Engineering at ICSE, pp. 214–225 (2007)
Meyer, B.: Object-Oriented Software Construction, 1st edn. Prentice-Meyer, Hall, Englewood Cliffs (1988)
Sarma, A., Redmiles, D., van Der Hoek, A.: Palantír: Early Detection of Development Conflicts Arising from Parallel Code Changes. IEEE TSE 99(6) (2011)
Brun, Y., Holmes, R., Ernst, M., Notkin, D.: Proactive Detection of Collaboration Conflicts. In: 8th SIGSOFT ESEC/FSE, Szeged, Hungary, pp. 168–178 (2011)
France, R., Rumpe, B.: Model-Driven Development of Complex Software: A Research Roadmap. In: FuSE at ICSE 2007, 37–54 (2007)
Apel, S., Liebig, J., Brandl, B., Lengauer, C., Kästner, C.: Semistructured Merge: Rethinking Merge in Revision Control Systems. In: 8th SIGSOFT ESEC/FSE, pp. 190–200 (2011)
OMG, Unified Modeling Language: Infrastructure, version 2.2, Object Management Group (February 2011)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2013 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Farias, K., Garcia, A., Whittle, J., Lucena, C. (2013). Analyzing the Effort of Composing Design Models of Large-Scale Software in Industrial Case Studies. In: Moreira, A., Schätz, B., Gray, J., Vallecillo, A., Clarke, P. (eds) Model-Driven Engineering Languages and Systems. MODELS 2013. Lecture Notes in Computer Science, vol 8107. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-41533-3_39
Download citation
DOI: https://doi.org/10.1007/978-3-642-41533-3_39
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-41532-6
Online ISBN: 978-3-642-41533-3
eBook Packages: Computer ScienceComputer Science (R0)