Analyzing the Effort of Composing Design Models of Large-Scale Software in Industrial Case Studies

  • Kleinner Farias
  • Alessandro Garcia
  • Jon Whittle
  • Carlos Lucena
Part of the Lecture Notes in Computer Science book series (LNCS, volume 8107)


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.


Model composition effort empirical studies effort measurement 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Runeson, P., Höst, M.: Guidelines for Conducting and Reporting Case Study Research in Software Engineering. Empirical Software Engineering 14, 131–164 (2009)CrossRefGoogle Scholar
  2. 2.
    Wohlin, C., Runeson, P., Höst, M., Ohlsson, M., Regnell, B., Wesslén, A.: Experimentation Software Engineering - An Introduction. Kluwer Academic Publishers (2000)Google Scholar
  3. 3.
    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)Google Scholar
  4. 4.
    Boisvert, R., Tang, P. (eds.): The Architecture of Scientific Software. Kluwer Academic (2001)Google Scholar
  5. 5.
    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)CrossRefGoogle Scholar
  6. 6.
    Camtasia Studio Pro. (2011),
  7. 7.
    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)Google Scholar
  8. 8.
    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)Google Scholar
  9. 9.
    Norris, N., Letkeman, K.: Governing and Managing Enterprise Models: Part 1. Introduction and Concepts. IBM Developer Works (2011),
  10. 10.
    Mens, T.: A State-of-the-Art Survey on Software Merging. IEEE Transactions on Software Engineering 28(5), 449–462 (2002)CrossRefGoogle Scholar
  11. 11.
    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)CrossRefGoogle Scholar
  12. 12.
    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)Google Scholar
  13. 13.
    Ellis, C., Gibbs, S.: Concurrency Control in Groupware Systems. ACM SIGMOD, 399–407 (1989)Google Scholar
  14. 14.
    Berzins, V.: Software Merge: Semantics of Combining Changes to Programs. Journal ACM Transactions on Programming Languages and Systems 16(6), 1875–1903 (1994)CrossRefGoogle Scholar
  15. 15.
    Berzins, V., Dampier, D.: Software merge: Combining Changes to Decompositions. Journal of Systems Integration 6(1-2), 135–150 (1996)CrossRefGoogle Scholar
  16. 16.
    IBM Rational Software Architecture (2011),
  17. 17.
    Berzins, V.: On Merging Software Extensions. Acta Informatica 23, 607–619 (1986)MathSciNetCrossRefzbMATHGoogle Scholar
  18. 18.
    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)CrossRefGoogle Scholar
  19. 19.
    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)CrossRefGoogle Scholar
  20. 20.
    Whittle, J., Jayaraman, P.: Synthesizing Hierarchical State Machines from Expressive Scenario Descriptions. ACM TOSEM 19(3) (January 2010)Google Scholar
  21. 21.
    Klein, J., Hélouët, L., Jézéquel, J.: Semantic-based Weaving of Scenarios. In: 5th AOSD 2006, Bonn, Germany (March 2006)Google Scholar
  22. 22.
    Epsilon Project (2011),
  23. 23.
    Kompose: A generic model composition tool (2011),
  24. 24.
    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)Google Scholar
  25. 25.
    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)CrossRefGoogle Scholar
  26. 26.
    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)CrossRefGoogle Scholar
  27. 27.
    Egyed, A.: Fixing Inconsistencies in UML Design Models. In: 29th International Conference on Software Engineering, pp. 292–301 (2007)Google Scholar
  28. 28.
    Thaker, S., Batory, D., Kitchin, D., Cook, W.: Safe Composition of Product Lines. In: 6th GPCE 2007, Salzburg, Austria, pp. 95–104 (2007)Google Scholar
  29. 29.
    Egyed, A.: Automatically Detecting and Tracking Inconsistencies in Software Design Models. IEEE Transactions on Software Engineering 37(2), 188–204 (2010)CrossRefGoogle Scholar
  30. 30.
    Whitehead, J.: Collaboration in Software Engineering: A Roadmap. In: Future of Software Engineering at ICSE, pp. 214–225 (2007)Google Scholar
  31. 31.
    Meyer, B.: Object-Oriented Software Construction, 1st edn. Prentice-Meyer, Hall, Englewood Cliffs (1988)Google Scholar
  32. 32.
    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)Google Scholar
  33. 33.
    Brun, Y., Holmes, R., Ernst, M., Notkin, D.: Proactive Detection of Collaboration Conflicts. In: 8th SIGSOFT ESEC/FSE, Szeged, Hungary, pp. 168–178 (2011)Google Scholar
  34. 34.
    France, R., Rumpe, B.: Model-Driven Development of Complex Software: A Research Roadmap. In: FuSE at ICSE 2007, 37–54 (2007)Google Scholar
  35. 35.
    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)Google Scholar
  36. 36.
    OMG, Unified Modeling Language: Infrastructure, version 2.2, Object Management Group (February 2011)Google Scholar
  37. 37.

Copyright information

© Springer-Verlag Berlin Heidelberg 2013

Authors and Affiliations

  • Kleinner Farias
    • 1
  • Alessandro Garcia
    • 2
  • Jon Whittle
    • 3
  • Carlos Lucena
    • 2
  1. 1.PIPCAUniversity of Vale do Rio dos Sinos (Unisinos)São LeopoldoBrazil
  2. 2.OPUS Research Group/LES, Informatics DepartmentPUC-RioBrazil
  3. 3.School of Computing and CommunicationsLancaster UniversityUK

Personalised recommendations