Capítulo II: Descripción de la solución propuesta
2.2 Descripción de los procesos vinculados al negocio
In future work, three important topics can be further investigated: the language can be extended by further concepts, aspects of transitivity of consistency repair can be researched and applied to the response language, and further evaluation can be performed to verify the applicability and usability of our approach.
Several possible extensions for the language concepts were discussed in the thesis.
New types of triggers can extend the available preconditions for a response execution to composite changes and even more complex conditions on modifications of the model state. An important extension is the further integration of user interaction to increase the influence of the user to the way in which consistency is restored. In the evaluation, we revealed a limitation of our language regarding consistency overlaps that consist of a dynamic number of elements, which has to be addressed by a language extension.
Currently, several responses have to be written for the repair of the same type of consistency overlap, as it can be affected in different ways. The metaclasses of a consistency overlap type and the properties that are relevant for the constraints can be made explicit.
From that specification, the changes that can affect such an overlap can be derived, just as in approaches for declarative consistency repair. Consequently, necessary responses for a certain overlap type could be automatically derived from such an explicit overlap specification to reduce the specification effort and error-proneness.
A second research area of interest is the preservation of consistency between more than two models. Rather than specifying consistency between all pairs of models, it is preferable to define consistency repair transitively. Such transitivity reduces the effort for specifying consistency but also induces new difficulties, such as the cyclic propagation of changes. Research results about defining transitive consistency repair mechanisms can be transferred to the response language and potentially also require an adaption of its constructs.
The applicability of our approach was initially evaluated in a single case study. In future work, the approach should be applied to further domains to verify the general applicability of the language. Furthermore, we did not analyze the usability of our approach. Although we assume that our concepts support the specification of consistency repair by providing reasonable abstractions from recurring and underlying technical aspects, this expectation has to be verified in controlled studies.
Bibliography
[1] Carsten Amelunxen and Andy Schürr. “Formalising model transformation rules for UML/MOF 2”. In: IET Software 2.3 (2008), pp. 204–222.
[2] Anthony Anjorin. “Synchronization of Models on Different Abstraction Levels using Triple Graph Grammars”. PhD thesis. Technische Universität Darmstadt, Oct. 2014.
[3] Anthony Anjorin, Gergely Varró, and Andy Schürr. “Complex Attribute Manipula-tion in TGGs with Constraint-Based Programming Techniques”. In: Proceedings of the First International Workshop on Bidirectional Transformations (Bx 2012). Vol. 49.
Electronic Communications of the EASST. European Assoc. of Software Science and Technology, 2012.
[4] Thorsten Arendt et al. “Henshin: Advanced Concepts and Tools for In-place EMF Model Transformations”. In: Proceedings of the 13th International Conference on Model Driven Engineering Languages and Systems: Part I (MODELS 2010). Vol. 6394.
Lecture Notes in Computer Science. Berlin, Heidelberg: Springer-Verlag, 2010, pp. 121–135.
[5] Colin Atkinson and Thomas Kühne. “Model-Driven Development: A Metamodeling Foundation”. In: IEEE Software 20.5 (Sept. 2003), pp. 36–41.
[6] Colin Atkinson, Dietmar Stoll, and Philipp Bostan. “Orthographic Software Mod-eling: A Practical Approach to View-Based Development”. In: Proceedings of the 3rd and 4th International Conferences on Evaluation of Novel Approaches to Software Engineering (ENASE 2008/2009). Vol. 69. Communications in Computer and Infor-mation Science. Berlin, Heidelberg: Springer-Verlag, 2010, pp. 206–219.
[7] Engineer Bainomugisha et al. “A Survey on Reactive Programming”. In: ACM Com-puting Surveys45.4 (2013), 52:1–52:34.
[8] Steffen Becker, Heiko Koziolek, and Ralf Reussner. “The Palladio component model for model-driven performance prediction”. In: JSS 82 (2009), pp. 3–22.
[9] Lars Bendix and Pär Emanuelsson. “Requirements for Practical Model Merge - An Industrial Perspective”. In: Proceedings of the 12th International Conference on Model Driven Engineering Languages and Systems (MODELS 2009). Vol. 5795. Lecture Notes in Computer Science. Berlin, Heidelberg: Springer-Verlag, 2009, pp. 167–180.
[10] Gábor Bergmann et al. “Change-driven model transformations”. In: Software &
Systems Modeling11.3 (2012), pp. 431–461.
[11] Gábor Bergmann et al. “Incremental Evaluation of Model Queries over EMF Mod-els”. In: Proceedings of the 13th International Conference on Model Driven Engineering Languages and Systems: Part I (MODELS 2010). Ed. by DorinaC. Petriu, Nicolas Rou-quette, and Øystein Haugen. Vol. 6394. Lecture Notes in Computer Science. Berlin, Heidelberg: Springer-Verlag, 2010, pp. 76–90.
[12] Gábor Bergmann et al. “Viatra 3: A Reactive Model Transformation Platform”.
In: Proceedings of the 8th International Conference on Theory and Practice of Model Transformations (ICMT 2015). Vol. 9152. Lecture Notes in Computer Science. Springer International Publishing, 2015, pp. 101–110.
[13] Jonas Bonér et al. The Reactive Manifesto (Version 2.0). 2014. url: http : / / www . reactivemanifesto.org/pdf/the-reactive-manifesto-2.0.pdf.
[14] Borland Software Corporation. Borland Together UML 2.1 Guide Version 2008 R3. 2005.
url:http://techpubs.borland.com/together/2008R3/EN/TogetherUML21.pdf. [15] Ruth Breu. “Ten Principles for Living Models - A Manifesto of Change-Driven
Soft-ware Engineering”. In: Proceedings of the 4th International Conference on Complex, Intelligent and Software Intensive Systems (CISIS 2010). Washington, DC, USA: IEEE Computer Society, 2010, pp. 1–8.
[16] Erik Burger. “Flexible Views for View-based Model-driven Development”. In: Pro-ceedings of the 18th International Doctoral Symposium on Components and Architec-ture (WCOP 2013). New York, NY, USA: ACM, 2013, pp. 25–30.
[17] Erik Burger. “Flexible Views for View-based Model-driven Development”. PhD thesis. Karlsruhe, Germany: Karlsruhe Insititute of Technology (KIT), 2014.
[18] Erik Burger et al. “View-Based Model-Driven Software Development with Mod-elJoin”. In: Software & Systems Modeling 15.2 (2016), pp. 473–496.
[19] Peter Pin-Shan Chen. “The Entity-Relationship Model–Toward a Unified View of Data”. In: ACM Transactions on Database Systems 1 (1976), pp. 9–36.
[20] Antonio Cicchetti, Davide Di Ruscio, and Romina Eramo. “Towards Propagation of Changes by Model Approximations”. In: Proceedings of the 10th IEEE on Inter-national Enterprise Distributed Object Computing Conference Workshops (EDOCW 2006). Washington, DC, USA: IEEE Computer Society, 2006, p. 24.
[21] Krzysztof Czarnecki and Simon Helsen. “Feature-based Survey of Model Transfor-mation Approaches”. In: IBM Systems Journal 45.3 (2006), pp. 621–645.
[22] Zinovy Diskin, Yingfei Xiong, and Krzysztof Czarnecki. “Specifying Overlaps of Heterogeneous Models for Global Consistency Checking”. In: Proceedings of the First International Workshop on Model-Driven Interoperability (MDI 2010). New York, NY, USA: ACM, 2010, pp. 42–51.
[23] S Efftinge and Clemens Kadura. OpenArchitectureWare 4.1 Xpand Language Refer-ence. 2006.
[24] Sven Efftinge and Markus Völter. “oAW xText: A framework for textual DSLs”. In:
Proceedings of Workshop on Modeling Symposium at Eclipse Summit(2006).
Bibliography [25] Sven Efftinge et al. “Xbase: Implementing Domain-specific Languages for Java”. In:
ACM SIGPLAN Notices48.3 (2013), pp. 112–121.
[26] Conal Elliott. A Brief Introduction to ActiveVRML. Tech. rep. MSR-TR-96-05. Mi-crosoft Research, 1996.
[27] Conal Elliott. “Push-Pull Functional Reactive Programming”. In: Proceedings of the 2nd ACM SIGPLAN Symposium on Haskell (Haskell 2009). New York, NY, USA: ACM, 2009, pp. 25–36.
[28] Conal Elliott and Paul Hudak. “Functional Reactive Animation”. In: Proceedings of the Second ACM SIGPLAN International Conference on Functional Programming (ICFP 1997). New York, NY, USA: ACM, 1997, pp. 263–273.
[29] Romina Eramo et al. “A model-driven approach to automate the propagation of changes among Architecture Description Languages”. In: Software & Systems Mod-eling11.1 (2012), pp. 29–53.
[30] Romina Eramo et al. “Change Management in Multi-Viewpoint System Using ASP”.
In: Proceedings of the 12th Enterprise Distributed Object Computing Conference Work-shops (EDOCW 2008). Washington, DC, USA: IEEE Computer Society, 2008, pp. 433–
440.
[31] ETAS. ETAS - ASCET Software-Produkte. url:http://www.etas.com/de/products/
ascet%7B%5C_%7Dsoftware%7B%5C_%7Dproducts.php(visited on 12/08/2015).
[32] Sebastian Fiss, Max E Kramer, and Michael Langhammer. “Automatically Binding Variables of Invariants to Violating Elements in an OCL-Aligned XBase-Language”.
In: Proceedings of Modellierung 2016. Vol. P-254. Lecture Notes in Informatics (LNI).
Bonn, Germany: Gesellschaft für Informatik e.V. (GI), 2016, pp. 189–204.
[33] J Nathan Foster et al. “Combinators for Bi-directional Tree Transformations: A Linguistic Approach to the View Update Problem”. In: Proceedings of the 32nd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL 2005). Vol. 40. 1. New York, NY, USA: ACM, 2005, pp. 233–246.
[34] J Nathan Foster et al. “Combinators for Bidirectional Tree Transformations: A Linguistic Approach to the View-Update Problem”. In: ACM Transactions on Pro-gramming Languages and Systems29.3 (2007).
[35] Martin Fowler. Domain Specific Languages. 1st. Addison-Wesley Professional, 2010.
[36] Erich Gamma et al. Design Patterns: Elements of Reusable Object-oriented Software.
Boston, MA, USA: Addison-Wesley Longman Publishing Co., Inc., 1995.
[37] Sinem Getir et al. “CoWolf – A Generic Framework for Multi-view Co-evolution and Evaluation of Models”. In: Proceedings of the 8th International Conference on Theory and Practice of Model Transformations (ICMT 2015). Vol. 9152. Lecture Notes in Computer Science. Cham: Springer International Publishing, 2015. Chap. CoWolf - A, pp. 34–40.
[38] Holger Giese and Robert Wagner. “From model transformation to incremental bidirectional model synchronization”. In: Software & Systems Modeling 8.1 (2009), pp. 21–43.
[39] James Gosling et al. The Java Language Specification, Java SE 8 Edition. 2015. url:
https://docs.oracle.com/javase/specs/jls/se8/jls8.pdf.
[40] Esther Guerra and Juan de Lara. “Event-Driven Grammars: Towards the Integration of Meta-modelling and Graph Transformation”. In: Proceedings of the 2nd Interna-tional Conference on Graph Transformations (ICGT 2004). Vol. 3256. Lecture Notes in Computer Science. Berlin, Heidelberg: Springer-Verlag, 2004, pp. 54–69.
[41] Jens Happe et al. “Getting the Data”. In: Modeling and Simulating Software Archi-tectures - The Palladio Approach. Ed. by Ralf H Reussner et al. Cambridge, MA: MIT Press, 2016.
[42] David Harel and Bernhard Rumpe. “Meaningful Modeling: What’s the Semantics of
"Semantics"?” In: Computer 37.10 (2004), pp. 64–72.
[43] Florian Heidenreich et al. “Closing the Gap between Modelling and Java”. In: Pro-ceedings of the 2nd International Conference on Software Language Engineering (SLE 2009). Vol. 5969. Lecture Notes in Computer Science. Berlin, Heidelberg: Springer-Verlag, 2009, pp. 374–383.
[44] Florian Heidenreich et al. Jamopp: The Java Model Parser and Printer. Tech. rep.
2009.
[45] Frank Hermann et al. “Concurrent Model Synchronization with Conflict Resolution Based on Triple Graph Grammars”. In: Proceedings of the 15th International Confer-ence on Fundamental Approaches to Software Engineering (FASE 2012). Vol. 7212. Lec-ture Notes in Computer Science. Berlin, Heidelberg: Springer-Verlag, 2012, pp. 178–
193.
[46] Thomas Hettel, Michael Lawley, and Kerry Raymond. “Model Synchronisation:
Definitions for Round-Trip Engineering”. In: Proceedings of the First International Conference on Theory and Practice of Model Transformations (ICMT 2008). Vol. 5063.
Lecture Notes in Computer Science. Berlin, Heidelberg: Sprinter-Verlag, 2008, pp. 31–
45.
[47] Paul Hudak et al. “Arrows, Robots, and Functional Reactive Programming”. In: Sum-mer School on Advanced Functional Programming 2002, Oxford University. Vol. 2638.
Lecture Notes in Computer Science. Berlin, Heidelberg: Springer-Verlag, 2003, pp. 159–187.
[48] International Organization for Standardization. ISO/IEC 14977:1996 Information Tech-nology - Syntactic Metalanguage - Extended BNF. 1996.
[49] ISO/IEC. ISO/IEC 14764 IEEE Std 14764-2006 Software Engineering - Software Life Cycle Processes - Maintenance. 2006.
[50] ISO/IEC/IEEE. ISO/IEC/IEEE 42010:2011 - Systems and software engineering - Archi-tecture description. 2011.
[51] Sven Johann and Alexander Egyed. “Instant and Incremental Transformation of Models”. In: Proceedings of the 19th IEEE International Conference on Automated Software Engineering (ASE 2004). Washington, DC, USA: IEEE Computer Society, 2004, pp. 362–365.
Bibliography [52] Frédéric Jouault et al. “ATL: a QVT-like Transformation Language”. In: Compan-ion to the 21st ACM SIGPLAN Symposium on Object-oriented Programming Systems, Languages, and Applications. OOPSLA ’06. New York, NY, USA: ACM, 2006, pp. 719–
720.
[53] Holger Krahn. “Monticore: Agile Entwicklung von domänenspezifischen Sprachen im Software-Engineering”. PhD thesis. RWTH Aachen University, 2010.
[54] Max E. Kramer. “A Generative Approach to Change-Driven Consistency in Multi-View Modeling”. In: Proceedings of the 11th International ACM SIGSOFT Conference
on Quality of Software Architectures (QoSA 2015). New York, NY, USA: ACM, 2015, pp. 129–134.
[55] Max E. Kramer. “Synchronizing Heterogeneous Models in a View-Centric Engi-neering Approach”. In: Software EngiEngi-neering 2014 – Fachtagung des GI-Fachbereichs Softwaretechnik. Ed. by Wilhelm Hasselbring and Nils Christian Ehmke. Vol. 227. Lec-ture Notes in Informatics (LNI). Gesellschaft für Informatik e.V. (GI), 2014, pp. 233–
236.
[56] Max E. Kramer, Erik Burger, and Michael Langhammer. “View-centric Engineering with Synchronized Heterogeneous Models”. In: Proceedings of the 1st Workshop on View-Based, Aspect-Oriented and Orthographic Software Modelling (VAO 2013). New York, NY, USA: ACM, 2013, 5:1–5:6.
[57] Max E. Kramer and Kirill Rakhman. “Automated Inversion of Attribute Mappings in Bidirectional Model Transformations”. In: Proceedings of the 5th International Workshop on Bidirectional Transformations (Bx 2016). Ed. by Anthony Anjorin and Jeremy Gibbons. Vol. 1571. CEUR Workshop Proceedings. CEUR-WS.org, 2016, pp. 61–76.
[58] Max E. Kramer et al. “Change-Driven Consistency for Component Code, Architec-tural Models, and Contracts”. In: Proceedings of the 18th International ACM SIGSOFT Symposium on Component-Based Software Engineering (CBSE 2015). New York, NY, USA: ACM, 2015, pp. 21–26.
[59] Max E. Kramer et al. Realizing Change-Driven Consistency for Component Code, Architectural Models, and Contracts in Vitruvius. Tech. rep. Karlsruhe: Karlsruhe Institute of Technology, Department of Informatics, 2015.
[60] Michael Langhammer and Klaus Krogmann. “A Co-evolution Approach for Source Code and Component-based Architecture Models”. In: 17. Workshop Software-Reen-gineering und -Evolution. Vol. 4. 2015.
[61] Craig Larman. Applying UML and Patterns: An Introduction to Object-Oriented Anal-ysis and Design and Iterative Development. 3rd. Upper Saddle River, NJ, USA: Prentice Hall PTR, 2004.
[62] Erhan Leblebici et al. “A Comparison of Incremental Triple Graph Grammar Tools”.
In: Proceedings of the 13th InternationalWorkshop on Graph Transformation and Vi-sual Modeling Techniques (GTVMT 2014). Vol. 67. Electronic Communications of the EASST. EASST, 2014.
[63] Peter F. Linington. “Black Cats and Coloured Birds - What Do Viewpoint Corre-spondences Do?” In: Proceedings of the 2007 Eleventh International IEEE EDOC Con-ference Workshop (EDOCW 2007). Washington, DC, USA: IEEE Computer Society, 2007, pp. 239–246.
[64] Nuno Macedo and Alcino Cunha. “Implementing QVT-R Bidirectional Model Trans-formations Using Alloy”. In: Proceedings of the 16th International Conference on Fundamental Approaches to Software Engineering (FASE 2013). Vol. 7793. Lecture Notes in Computer Science. Berlin, Heidelberg: Springer-Verlag, 2013, pp. 297–311.
[65] Nuno Macedo, Tiago Guimarães, and Alcino Cunha. “Model Repair and Transforma-tion with Echo”. In: Proceedings of the 28th IEEE/ACM InternaTransforma-tional Conference on Automated Software Engineering (ASE 2013). IEEE Computer Society, 2013, pp. 694–
697.
[66] Ingo Maier and Martin Odersky. Deprecating the Observer Pattern with Scala.React.
Tech. rep. 2012.
[67] Ivano Malavolta et al. “Providing Architectural Languages and Tools Interoperability Through Model Transformation Technologies”. In: IEEE Transactions on Software Engineering36.1 (2010), pp. 119–140.
[68] Tom McArthur and Roshan McArthur. Concise Oxford Companion to the English Language. Oxford Paperback Reference. Oxford University Press, 1998.
[69] Christian Nentwich, Wolfgang Emmerich, and Anthony Finkelstein. “Consistency Management with Repair Actions”. In: Proceedings of the 25th International Confer-ence on Software Engineering (ICSE 2003). Washington, DC, USA: IEEE Computer Society, 2003, pp. 455–464.
[70] Ulrich Nickel, Jörg Niere, and Albert Zündorf. “The FUJABA Environment”. In:
Proceedings of the 22nd International Conference on Software Engineering (ICSE 2000). New York, NY, USA: ACM, 2000, pp. 742–745.
[71] Object Management Group (OMG). Business Process Model And Notation (BPMN) Version 2.0. 2011. url:http://www.omg.org/spec/BPMN/2.0/.
[72] Object Management Group (OMG). Meta Object Facility (MOF) 2.0 Query/View/-Transformation (QVT), Version 1.2. 2015. url:http://www.omg.org/spec/QVT/1.2/. [73] Object Management Group (OMG). Meta Object Facility (MOF), Version 2.5. 2015.
url:http://www.omg.org/spec/MOF/.
[74] Object Management Group (OMG). Object Constraint Language (OCL), Version 2.4.
2014. url:http://www.omg.org/spec/OCL/2.4/.
[75] Object Management Group (OMG). Unifed Modeling Language (UML), Version 2.5.
2015. url:http://www.omg.org/spec/UML/2.5/.
[76] Object Management Group (OMG). XML Metadata Interchange ( XMI ) Specification, Version 2.5.1. 2015. url:http://www.omg.org/spec/XMI/2.5.1/.
[77] David Parsons. “Event-Driven Programming”. In: Foundational Java. London, UK:
Springer-Verlag, 2012, pp. 417–464.
Bibliography [78] Peter Pepper. “A Study on Transformational Semantics”. In: International Summer School on Program Construction. Ed. by FriedrichL. Bauer et al. Vol. 69. Lecture Notes in Computer Science. Springer Berlin Heidelberg, 1979, pp. 322–405.
[79] István Ráth, Gergely Varró, and Dániel Varró. “Change-Driven Model Transfor-mations”. In: Proceedings of the 12th International Conference on Model Driven Engi-neering Languages and Systems (MODELS 2009). Ed. by Andy Schürr and Bran Selic.
Vol. 5795. Lecture Notes in Computer Science. Berlin, Heidelberg: Springer-Verlag, 2009, pp. 342–356.
[80] Alexander Reder. “Automated Consistency Management Framework for the Model Based Software Development”. PhD thesis. Johannes Kepler University (JKU), Linz, Austria, 2013.
[81] Alexander Reder. “Inconsistency Management Framework for Model-based Develop-ment”. In: Proceedings of the 33rd International Conference on Software Engineering (ICSE 2011). New York, NY, USA: ACM, 2011, pp. 1098–1101.
[82] Alexander Reder and Alexander Egyed. “Incremental Consistency Checking for Complex Design Rules and Larger Model Changes”. In: Proceedings of the 15th Inter-national Conference on Model Driven Engineering Languages and Systems (MODELS 2012). Vol. 7590. Lecture Notes in Computer Science. Berlin, Heidelberg: Springer-Verlag, 2012, pp. 202–218.
[83] Ralf Reussner et al. The Palladio Component Model. Tech. rep. 14. Karlsruhe Institute of Technologie, 2011.
[84] Alexandru Salcianu and Martin Rinard. “Purity and Side Effect Analysis for Java Programs.” In: Proceedings of the 6th International Conference on Verification, Model Checking, and Abstract Interpretation (VMCAI 2005). Vol. 3385. Lecture Notes in Computer Science. Berlin, Heidelberg: Springer-Verlag, 2005, pp. 199–215.
[85] Oliver Scheid. Autosar Compendium - Part 1: Application & Rte. AUTOSAR - Com-pendium Series. CreateSpace Independent Publishing Platform, 2015.
[86] S. Schmidhuber et al. “Overview of the itea2-project amalthea”. In: Proceedings of the 2nd Applied Research Conference. SHAKER Verlag, 2012, pp. 60–62.
[87] Geoffrey Sparks. Enterprise Architect User Guide. Sparx Systems, 2014. url:http:
//www.sparxsystems.com.au/bin/EAUserGuide.pdf.
[88] Herbert Stachowiak. Allgemeine Modelltheorie. Springer-Verlag, 1973.
[89] Thomas Stahl et al. Modellgetriebene Softwareentwicklung: Techniken, Engineering, Management. 2. Heidelberg: dpunkt-Verlag, 2007.
[90] David Steinberg et al. EMF - Eclipse Modeling Framework. Ed. by David Steinberg.
2nd. Addison-Wesley Professional, 2009.
[91] Ryan K. Stephens and Ronald R. Plew. Database Design. Pearson Education, 2000.
[92] Perdita Stevens. “A Landscape of Bidirectional Model Transformations”. In: Genera-tive and Transformational Techniques in Software Engineering II. Berlin, Heidelberg:
Springer-Verlag, 2008, pp. 408–424.
[93] Claudia Szabo and Yufei Chen. “A Model-Driven Approach for Ensuring Change Traceability and Multi-Model Consistency”. In: Proceedings of the 22nd Australasian Software Engineering Conference (ASWEC 2013). IEEE, 2013, pp. 127–136.
[94] The Eclipse Foundation. Eclipse desktop & web IDEs. 2016. url:https://eclipse.
org/ide/(visited on 05/09/2016).
[95] The Eclipse Foundation. Eclipse - The Eclipse Foundation open source community website. 2016. url:http://www.eclipse.org/(visited on 05/09/2016).
[96] Laurence Tratt. “A change propagating model transformation language”. In: Journal of Object Technology 7.3 (2008), pp. 107–126.
[97] Manuel Wimmer, Nathalie Moreno, and Antonio Vallecillo. “Viewpoint Co-evolution through Coarse-Grained Changes and Coupled Transformations”. In: Proceedings of the 50th International Conference on Objects, Models, Components, Patterns (TOOLS 2012). Vol. 7304. Lecture Notes in Computer Science. Berlin, Heidelberg: Springer-Verlag, 2012, pp. 336–352.
[98] Yingfei Xiong et al. “Towards Automatic Model Synchronization from Model Trans-formations”. In: Proceedings of the 22nd IEEE/ACM International Conference on Au-tomated Software Engineering (ASE 2007). New York, NY, USA: ACM, 2007, pp. 164–
173.