Staged model evolution and proactive quality guidance for model libraries
A variety of modeling approaches, including model-driven development, consider model reuse as one of their cornerstones, but lack support for model reuse. This may be due to the available model repositories that barely exceed support for enhanced versioning or collaborative work and disregard model evolution. We believe that current model evolution approaches do not consider reuse sufficiently and that model repositories for reuse purposes should act as model libraries. This requires new functionality, because models for reuse need to achieve and maintain high quality. Moreover, quality assessment and assurance, which are tasks often considered tedious, need to be as simple as putting away or maintaining artifacts for reuse. In this study, we propose an approach for model evolution in UML model libraries that differs from general model evolution, since it is aimless and triggered by new external requirements. Our approach is founded on graphs that are partitioned into three stages with respect to the level of reusability. Each stage is defined by quality characteristics that are manifestations of a quality model consisting of four essential quality dimensions: syntactic, semantic, pragmatic, and emotional. In order to achieve the next level of reusability, i.e., change the stage of a model, a quality gate needs to be passed. This can be supported by a proactive approach that guides the modeler through the enhancement process and offers additional recommendations based on the level of reusability. Since guidance cannot be fully automated, we implement a review mechanism founded on the idea of the six thinking hats to help maintain focus on the main aspects of a review. Finally, our approach is enhanced to support the evolution of generations, i.e., a group of several model snapshots, to ease reusability.
KeywordsUML Model Evolution Quality Libraries
We would like to thank our reviewers and editors for their great contributions. It’s been a long journey from our first submission. On this way, we received incredible feedback that improved the quality of the article tremendously and discussions unveiled new and very interesting research directions. We would also like to thank all our co-workers for their contributions and patience in endless discussions. Last, but not least, big thanks to all our participants in our tests, surveys and studies.
- Allilaire, F., Bézivin, J., Bruneliere, H., & Jouault, F. (2006). Global model management in eclipse GMT/AM3. In D. Thomas (Ed.), Proceedings of the eclipse technology exchange workshop (eTX) at the ECOOP 2006 conference, Lecture notes in computer science (Vol. 4067).Google Scholar
- Altmanninger, K., Kappel, G., Kusel, A., Retschitzegger, W., Seidl, M., Schwinger, W., et al. (2008). AMOR—Towards adaptable model versioning. In 1st international workshop on model co-evolution and consistency management (MCCM’08), workshop at MODELS’08, ACM, pp. 1–7.Google Scholar
- Arendt, T., & Taentzer, G. (2012). Integration of smells and refactorings within the eclipse modeling framework. In Fifth workshop on refactoring tools (WRT 2012), ACM, New York, NY.Google Scholar
- Arendt, T., Mantz, F., & Taentzer, G. (2010a). EMF refactor specification and application of model refactorings within the Eclipse Modeling Framework. In Proceedings of 9th BElgian-NEtherlands software eVOLution seminar.Google Scholar
- Astels, D. (2002). Refactoring With UML. In Proceedings of the 3rd international conference on extreme programming and flexible processes in software engineering, pp. 67–70.Google Scholar
- Basciani, F., Di Rocco, J., Di Ruscio, D., Di Salle, A., Iovino, L., & Pierantonio, A. (2014). MDEForge: An extensible Web-based modeling platform. http://ceur-ws.org/Vol-1242/paper10.pdf.
- Belaunde, M. (1999). A pragmatic approach for building a user-friendly and flexible UML model repository. In R. B. France, B. Rumpe (Eds.), UML’99—The Unified Modeling Language, Lecture notes in computer science (Vol. 1723, pp. 188–203). Berlin: Springer. doi: 10.1007/3-540-46852-8_14.
- Bézivin, J., Jouault, F., Rosenthal, P., & Valduriez, P. (2005). Modeling in the large and modeling in the small. In U. Aßmann, M. Aksit, A. Rensink (Eds.), Model driven architecture, Lecture notes in computer science (Vol. 3599, pp. 33–46). Berlin: Springer. doi: 10.1007/11538097_3.
- Biehl, M. (2010). Supporting model evolution in model-driven development of automotive embedded systems. Licentiate Thesis, KTH, Stockholm, Sweden.Google Scholar
- Boger, M., Sturm, T., & Fragemann, P. (2003). Refactoring browser for UML. In Objects, components, architectures, services, and applications for a networked world, Lecture notes in computer science (Vol. 2591, pp. 366–377). doi: 10.1007/3-540-36557-5_26.
- Bohner, S. A., & Arnold, R. S. (1996). Software change impact analysis. Los Alamitos, CA: IEEE Computer Society Press.Google Scholar
- Bono, E. (1999). Six thinking hats: Run better meetings, make faster decisions. In Six thinking hats. London: Penguin.Google Scholar
- Brosch, P., Langer, P., Seidl, M., Wieland, K., Wimmer, M., Kappel, G., et al. (2009). An example Is worth a thousand words: Composite operation modeling by-example. In A. Schürr, & B. Selic (Ed.), Model driven engineering languages and systems, Lecture notes in computer science (Vol. 5795, pp. 271–285). Berlin: Springer. doi: 10.1007/978-3-642-04425-0_20.
- Dantas, C.R., Murta, L.G., & Werner, C. (2005). Consistent evolution of UML models by automatic detection of change traces. In Proceedings of the 8th international workshop on principles of software evolution, IEEE (pp. 144–147). doi: 10.1109/IWPSE.2005.10.
- Dreyfus, S. E., & Dreyfus, H. L. (1980). A five-stage model of the mental activities involved in directed skill acquisition. http://goo.gl/76GVH8.
- Dyck, A., Ganser, A., & Lichter, H. (2013). Enabling model recommenders for command-enabled editors. In MoDELS MDEBE—International workshop on model-driven engineering by example 2013 co-located with MODELS conference, September 29, 2013 (pp. 12–21). Miami FL: CEUR.Google Scholar
- Dyck, A., Ganser, A., & Lichter, H. (2014a). A framework for model recommenders—Requirements, architecture and tool support. In Modelsward 2014, proceedings of the 2nd international conference on model-driven engineering and software development, Lisbon, Portugal, 7.-9. January 2014, SCITEPRESS (pp. 282–290). doi: 10.5220/0004701702820290.
- Dyck, A., Ganser, A., & Lichter, H. (2014b). On designing recommenders for graphical domain modeling environments. In Modelsward 2014, proceedings of the 2nd international conference on model-driven engineering and software development, Lisbon, Portugal, 7–9. January 2014, SCITEPRESS (pp. 291–299). doi: 10.5220/0004701802910299.
- Eclipse Foundation. (2014a). Code recommenders. http://www.eclipse.org/recommenders/.
- Eclipse Foundation. (2014b). MoDisco. http://www.eclipse.org/MoDisco/.
- Elinson, S., Hanns, M., Kirstein, M., Kronseder, S., & Köhler, S. (2010). Eclipse model repository. http://modelrepository.sourceforge.net/.
- Embley, D. W., & Thalheim, B. (Eds.). (2011). Handbook of conceptual modeling: Theory, practice, and research challenges. Berlin [u.a.]: Springer.Google Scholar
- Fagan, M. E. (1976). Design and code Inspections to reduce errors in program development. In IBM systems journal (Vol. 15, IBM, pp. 182–211). doi: 10.1147/sj.153.0182.
- France, R. B., Bieman, J., & Cheng, B. H. C. (2006). Repository for model driven development (ReMoDD). In T. Kühne (Ed.), Proceedings of the 9th international conference on model driven engineering languages and systems, ACM, Lecture notes in computer science (Vol. 4364, pp. 311–317). doi: 10.1007/978-3-540-69489-2_38.
- Ganser, A. (2014a). The HERMES project—Demo videos. http://hermes.modelrecommenders.org/demos.html.
- Ganser, A. (2014b). The HERMES project—Eclipse P2 Updatesite: HERMES.reuse. http://goo.gl/ZGxIf.
- Ganser, A. (2014c). The HERMES project: Harvest, evolve, and reuse models easily and seamlessly. http://hermes.modelrecommenders.org/.
- Ganser, A., & Lichter, H. (2013). Engineering model recommender foundations. In Modelsward 2013, proceedings of the 1st international conference on model-driven engineering and software development, Barcelona, Spain,19–21-February 2013, SCITEPRESS (pp. 135–142). doi: 10.5220/0004320801350142.
- Garg, A., & Tamassia, R. (1995). On the computational complexity of upward and rectilinear planarity testing. In G. Goos, J. Hartmanis, J. Leeuwen, R. Tamassia, & I. G. Tollis (Eds.), Graph drawing, Lecture notes in computer science (Vol. 894, pp. 286–297). Berlin: Springer. doi: 10.1007/3-540-58950-3_384.
- Genero, M., Piattini, M., & Calero, C. (2002). Empirical validation of class diagram metrics. In International symposium in empirical software engineering, Kluwer Academic Publishers, Empirical Software Engineering (Vol. 7, pp. 195–203). doi: 10.1109/ISESE.2002.1166940.
- Genero, M., Piattini, M., & Calero, C. (2002). Empirical validation of class diagram metrics. In International symposium in empirical software engineering, , Kluwer Academic Publishers, Empirical Software Engineering (Vol. 7, pp. 195–203). doi: 10.1109/ISESE.2002.1166940.
- Golbandi, N., Koren, Y., & Lempel, R. (2010). On bootstrapping recommender systems. In J. Huang (Ed.), CIKM ’10, ACM, [New York] (pp. 1805–1808). doi: 10.1145/1871437.1871734.
- Herrmannsdörfer, M. (2011). Evolutionary metamodeling. PhD: Technische Universität München, München.Google Scholar
- Herrmannsdörfer, M., & Ratiu, D. (2010). Limitations of automating model migration in response to metamodel adaptation. In S. Ghosh (Ed.), Models in software engineering, Lecture notes in computer science (Vol. 6002, pp. 205–219). Springer. doi: 10.1007/978-3-642-12261-3_20.
- Herrmannsdörfer, M., Vermolen, S. D., & Wachsmuth, G. (2011). An extensive catalog of operators for the coupled evolution of metamodels and models. In B. Malloy, S. Staab, & van den Brand, M. (Ed.), Third international conference software language engineering (SLE 2010), Lecture notes in computer science (Vol. 6563, pp. 163–182). Berlin: Springer. doi: 10.1007/978-3-642-19440-5_10.
- Jannach, D., Zanker, M., Felfernig, A., & Friedich, G. (2011). Recommender systems: An introduction. New York: Cambridge University Press.Google Scholar
- Judson, S. R., France, R. B., & Carver, D. L. (2004). Supporting rigorous evolution of UML models. In Proceedings of the ninth IEEE international conference on engineering complex computer systems 2004, IEEE, pp. 128–137. doi: 10.1109/ICECCS.2004.1310911.
- Keienburg, F., & Rausch, A. (2001). Using XML/XMI for tool supported evolution of UML models. In Proceedings of the 34th annual Hawaii international conference on system sciences, IEEE, p. 10, doi: 10.1109/HICSS.2001.927259.
- Kim, H., & Boldyreff, C. (2002). Developing software metrics applicable to UML models. In G. Goos, J. Hartmanis, J. van Leeuwen, J. Hernández, & A. Moreira (Eds.), Object-oriented technology ECOOP 2002 workshop reader (Vol. 2548). Berlin: Springer.Google Scholar
- Kögel, M. (2011). Operation-based model evolution (1st ed.). München: Verlag Dr. Hut.Google Scholar
- Kögel, M., & Helming, J. (2010). EMFStore: A model repository for EMF models. In J. Kramer (Ed.), Proceedings of the 32nd ACM IEEE international conference on software engineering, ACM, New York, NY, p. 307. doi: 10.1145/1810295.1810364.
- Lange, C. (2006). Improving the quality of UML models in practice. In 28th international conference on software engineering, association for computing machinery (pp. 993–996). New York, NY. doi: 10.1145/1134285.1134472.
- Lange, C., & Chaudron, M. (2005). Managing model quality in UML-based software development. In International workshop on software technology and engineering practice (Vol. 0, pp. 7–16). doi: 10.1109/STEP.2005.16.
- Lange, C., Wijns, M. A., & Chaudron, M. (2007a). A visualization framework for task-oriented modeling Using UML. In 40th Hawaii international conference on system sciences. IEEE, Piscataway, NJ, p 289a, doi: 10.1109/HICSS.2007.44.
- Lange, C., Wijns, M. A., & Chaudron, M. (2007b). MetricViewEvolution: UML-based views for monitoring model evolution and quality. In Krikhaar, R. (Ed.), IEEE computer society 11th European conference on software maintenance and reengineering, Los Alamitos, CA. [u.a.], pp. 327–328. doi: 10.1109/CSMR.2007.32.
- Levendovszky, T., Rumpe, B., Schätz, B., & Sprinkle, J. (2011). Model evolution and management. In H. Giese, G. Karsai, E. Lee, B. Rumpe, & B. Schätz (Ed.), Model-based engineering of embedded real-time systems, Lecture notes in computer science (Vol. 6100, pp. 241–270). Berlin: Springer. doi: 10.1007/978-3-642-16277-0_9.
- McQuillan, J. A., & Power, J. F. (2006). On the application of software metrics to UML models. In T. Kühne (Ed.), Proceedings of the 9th international conference on model driven engineering languages and systems, ACM, Lecture notes in computer science (Vol. 4364, pp. 217–226). doi: 10.1007/978-3-540-69489-2_27.
- Melnik, S. (2004). Generic model management: Concepts and algorithms, Lecture notes in computer science (Vol. 2967). Berlin and London: Springer.Google Scholar
- Mens, T., & D’Hondt, T. (2000). Automating support for software evolution in UML. Automated Software Engineering, 7(1), 39–59. doi: 10.1023/A:1008765200695.
- Mens, T., Lucas, C., & Steyaert, P. (1998). Supporting disciplined reuse and evolution of UML models. In J. Bézivin, & P. A. Muller (Ed.), UML ’98: Beyond the notation, Lecture notes in computer science (Vol. 1618, pp. 378–392). Berlin and London: Springer. doi: 10.1007/978-3-540-48480-6_29.
- Mens, T., van der Straeten, R., & Simmonds, J. (2003). Maintaining consistency between UML models with description logic tools. In ECOOP workshop on object-oriented reengineering, Lecture notes in computer science (Vol. 3031).Google Scholar
- Mohagheghi, P., & Dehlen, V. (2009). Existing model metrics and relations to model quality. In ICSE Workshop on Software Quality, 2009, WOSQ’09, IEEE, (pp. 39–45). Piscataway, NJ.Google Scholar
- Ramirez, A., et al. (2004). ArgoUML user manual v0.16. http://argouml.tigris.org.
- Ricci, F., Rokach, L., Shapira, B., & Kantor, P. B. (Eds.). (2011). Recommender systems handbook. New York and London: Springer.Google Scholar
- Roth, A. (2012). Quality staged model evolution in Ecore Libraries. Master Thesis, RWTH Aachen University, Aachen, Germany, https://www2.swc.rwth-aachen.de/?post_type=thesis&p=427.
- Roth, A. (2013). A metrics mapping and sources. http://goo.gl/ruqFpi.
- Roth, A., Ganser, A., Lichter, H., & Rumpe, B. (2013a). Proactive quality guidance for model evolution in model libraries. In Models and evolution, proceedings of the workshop on models and evolution, co-located with ACM/IEEE 16th international conference on model driven engineering languages and systems (MoDELS 2013), CEUR, CEUR workshop proceedings (Vol. 1090, pp. 50–59).Google Scholar
- Roth, A., Ganser, A., Lichter, H., & Rumpe, B. (2013b). Staged evolution with quality gates for model libraries. In Proceedings of the 1st international workshop on: (Document) changes: Modeling, detection, storage and visualization, ACM, pp. 1–8.Google Scholar
- Segal, J. (2003). The nature of evidence in empirical software engineering. In Eleventh annual international workshop on software technology and engineering practice, IEEE, (pp. 40–47), doi: 10.1109/STEP.2003.33.
- Steinberg, D., Budinsky, F., Paternostro, M., & Merks, E. (2008). EMF—Eclipse Modeling Framework, 2nd edn. The Eclipse series, Addison Wesley, Upper Saddle River, NJ.Google Scholar
- Struber, D., Rubin, J., Taentzer, G., & Chechik, M. (2014). Splitting models using information retrieval and model crawling techniques. In S. Gnesi, & A. Rensink (Ed.), Fundamental approaches to software engineering, Lecture notes in computer science (Vol. 8411, pp. 47–62). Berlin: Springer. doi: 10.1007/978-3-642-54804-8_4.
- Sun, Y., White, J., & Gray, J. (2009). Model transformation by demonstration. In A. Schürr, & B. Selic (Ed.), Model driven engineering languages and systems, Lecture notes in computer science (Vol. 5795, pp. 712–726). Berlin: Springer. doi: 10.1007/978-3-642-04425-0_58.
- Swanson, E. B. (1976). The dimensions of maintenance. In R. T. Yeh, & C. V. Ramamoorthy (Ed.), ICSE ’76 proceedings of the 2nd international conference on software engineering, IEEE, pp. 492–497.Google Scholar
- Taylor, R. N., Gall, H., Medvidović, N., Sun, Y., Gray, J., & White, J. (2011). MT-scribe: An end-user approach to automate software model evolution. In Proceedings of the 33rd international conference on software engineering, ACM, ICSE, pp. 980–982. doi: 10.1145/1985793.1985966.
- van Deursen, A., Visser, E., & Warmer, J. (2007). Model-driven software evolution: A research agenda. Technical report series. www.st.ewi.tudelft.nl/~arie/papers/modse/modse2007.pdf. Accessed 5 Feb 2014.
- van Enckevort, T. (2009). Refactoring UML models: Using OpenArchitectureWare to measure UML model quality and perform pattern matching on UML models with OCL queries. In Proceedings of the 24th ACM SIGPLAN conference companion on Object oriented programming systems languages and applications, ACM, New York, NY.Google Scholar
- Vclav Rajlich. (1997). A model for change propagation based on graph rewriting. In Proceedings of the international conference on software maintenance (ICSM’97), pp. 84–91.Google Scholar
- Voigt, K. (2011). Structural graph-based metamodel matching. PhD, TU Dresden, Dresden.Google Scholar
- Wedemeijer, L. (2001). Defining metrics for conceptual schema evolution. In G. Goos, J. Hartmanis, J. Leeuwen, H. Balsters, B. Brock, & S. Conrad (Eds.), Database schema evolution and meta-modeling, Lecture notes in computer science (Vol. 2065, pp. 220–244). Berlin: Springer. doi: 10.1007/3-540-48196-6_13.
- Weimer, M., Karatzoglou, A., & Bruch, M. (2009). Maximum margin matrix factorization for code recommendation. In L. Bergman, & A. Tuzhilin (Eds.), RecSys ’09 proceedings of the third ACM conference on Recommender systems, ACM (pp. 309–312). doi: 10.1145/1639714.1639775.
- Wenzel, S., Hutter, H., & Kelter, U. (2007). Tracing model elements. In IEEE international conference on software maintenance (ICSM 2007), (pp. 104–113). doi: 10.1109/ICSM.2007.4362623.
- Wüst, J. (2014). SDMetrics: The software design metrics tool for the UML. http://www.sdmetrics.com/.