ABSTRACT
In the process of software-intensive systems engineering, architectures need to be designed that are compliant to the requirements. For this, architects need to examine those requirements with regard to their architectural impact. Accessing and interpreting the requirements is however not always possible, for instance if custom requirements are yet unknown at the time when the architecture is modeled. Ideally, architectural knowledge as derived from custom requirements could be imposed upon architecture models. This paper proposes a novel concept for automated refactoring of architecture models in order to meet such requirements by formalizing architectural knowledge using model verification and model transformations. Industrial application within a telecommunications service provider is demonstrated in the domain of cloud application orchestration: service providers are enabled to autonomously customize solutions predefined by vendors according to their own internal requirements.
- Davide Arcelli, Vittorio Cortellessa, and Catia Trubiani. 2012. Antipattern-based model refactoring for software performance improvement. In Proceedings of the 8th international ACM SIGSOFT conference on Quality of Software Architectures. ACM, 33--42. Google ScholarDigital Library
- Thorsten Arendt, Florian Mantz, Lars Schneider, and Gabriele Taentzer. 2009. Model refactoring in Eclipse by LTK, EWL, and EMF refactor: a case study. In Model-Driven Software Evolution, Workshop Models and Evolution.Google Scholar
- Alexander Bergmayr, Uwe Breitenbücher, Nicolas Ferry, Alessandro Rossini, Arnor Solberg, Manuel Wimmer, Gerti Kappel, and Frank Leymann. 2018. A Systematic Review of Cloud Modeling Languages. ACM Comput. Surv. 51, 1 (2018), 22:1--22:38. Google ScholarDigital Library
- Alexander Bergmayr, Javier Troya, Patrick Neubauer, Manuel Wimmer, and Gerti Kappel. 2014. UML-based Cloud Application Modeling with Libraries, Profiles, and Templates. In 2nd International Workshop on Model-Driven Engineering on and for the Cloud. 56--65. http://ceur-ws.org/Vol-1242/paper7.pdfGoogle Scholar
- Enrico Biermann, Karsten Ehrig, Christian Köhler, Günter Kuhns, Gabriele Taentzer, and Eduard Weiss. 2007. EMF model refactoring based on graph transformation concepts. Electronic Communications of the EASST 3 (2007).Google Scholar
- Tobias Binz, Uwe Breitenbücher, Oliver Kopp, and Frank Leymann. 2014. TOSCA: Portable Automated Deployment and Management of Cloud Applications. In Advanced Web Services, Athman Bouguettaya, Quan Z. Sheng, and Florian Daniel (Eds.). Springer, 527--549.Google Scholar
- Christoph Fehling, Frank Leymann, Ralph Retter, Walter Schupeck, and Peter Arbitter. 2014. Cloud Computing Patterns - Fundamentals to Design, Build, and Manage Cloud Applications. Springer. Google ScholarDigital Library
- Nicolas Ferry, Alessandro Rossini, Franck Chauvel, Brice Morin, and Arnor Solberg. 2013. Towards Model-Driven Provisioning, Deployment, Monitoring, and Adaptation of Multi-cloud Systems. In 2013 IEEE Sixth International Conference on Cloud Computing, Santa Clara, CA, USA, June 28 - July 3, 2013. IEEE Computer Society, 887--894. Google ScholarDigital Library
- Martin Fowler. 1999. Refactoring: Improving the Design of Existing Code. Addison-Wesley, Boston, MA, USA. Google ScholarDigital Library
- Robert France, S Chosh, Eunjee Song, and Dae-Kyoo Kim. 2003. A metamodeling approach to pattern-based model refactoring. IEEE software 20, 5 (2003), 52--58. Google ScholarDigital Library
- Alejandra Garrido, Gustavo Rossi, and Damiano Distante. 2007. Model refactoring in web applications. In Web Site Evolution, 2007. WSE 2007. 9th IEEE International Workshop on. IEEE, 89--96. Google ScholarDigital Library
- Calin Glitia, Pierre Boulet, Eric Lenormand, and Michel Barreteau. 2011. Repetitive model refactoring strategy for the design space exploration of intensive signal processing applications. Journal of Systems Architecture 57, 9 (2011), 815--829. Google ScholarDigital Library
- Glauco Estacio Gonçalves, Patricia Takako Endo, Marcelo Anderson Santos, Djamel Sadok, Judith Kelner, Bob Melander, and Jan-Erik Mångs. 2011. CloudML: An Integrated Language for Resource, Service and Request Description for D-Clouds. In IEEE 3rd International Conference on Cloud Computing Technology and Science, CloudCom 2011, Athens, Greece, November 29 - December 1, 2011, Costas Lambrinoudakis, Panagiotis Rizomiliotis, and Tomasz Wiktor Wlodarczyk (Eds.). IEEE Computer Society, 399--406. Google ScholarDigital Library
- Michael Hilton, Arpit Christi, Danny Dig, Michał Moskal, Sebastian Burckhardt, and Nikolai Tillmann. 2014. Refactoring local to cloud data types for mobile apps. In Proceedings of the 1st International Conference on Mobile Software Engineering and Systems. ACM, 83--92. Google ScholarDigital Library
- Pooyan Jamshidi, Claus Pahl, Samuel Chinenyeze, and Xiaodong Liu. 2015. Cloud migration patterns: a multi-cloud service architecture perspective. In Service-Oriented Computing-ICSOC 2014 Workshops. Springer, 6--19.Google ScholarCross Ref
- Shekoufeh Kolahdouz-Rahimi, Kevin Lano, Suresh Pillay, Javier Troya, and Pieter Van Gorp. 2014. Evaluation of model transformation approaches for model refactoring. Science of Computer Programming 85 (2014), 5--40. Google ScholarDigital Library
- Dimitrios S. Kolovos, Richard F. Paige, and Fiona Polack. 2006. The Epsilon Object Language (EOL). In Model Driven Architecture - Foundations and Applications, Second European Conference, ECMDA-FA 2006, Bilbao, Spain, July 10-13, 2006, Proceedings (Lecture Notes in Computer Science), Arend Rensink and Jos Warmer (Eds.), Vol. 4066. Springer, 128--142. Google ScholarDigital Library
- Dimitrios S. Kolovos, Richard F. Paige, Fiona Polack, and Louis M. Rose. 2007. Update Transformations in the Small with the Epsilon Wizard Language. Journal of Object Technology 6, 9 (2007), 53--69.Google ScholarCross Ref
- Young-Woo Kwon and Eli Tilevich. 2014. Cloud refactoring: automated transitioning to cloud-based services. Automated Software Engineering 21, 3 (2014), 345--372. Google ScholarDigital Library
- Frank Leymann, Christoph Fehling, Ralph Mietzner, Alexander Nowak, and Schahram Dustdar. 2011. Moving Applications to the Cloud: an Approach Based on Application Model Enrichment. Int. J. Cooperative Inf. Syst. 20, 3 (2011), 307--356.Google ScholarCross Ref
- Tom Mens. 2006. On the use of graph transformations for model refactoring. In Generative and transformational techniques in software engineering. Springer, 219--257. Google ScholarDigital Library
- Tom Mens and Pieter Van Gorp. 2006. A Taxonomy of Model Transformation. Electr. Notes Theor. Comput. Sci. 152 (2006), 125--142. Google ScholarDigital Library
- Object Management Group, Inc. 2000. Unified Modeling Language (UML). http://omg.org/spec/UMLGoogle Scholar
- Organization for the Advancement of Structured Information Standards. 2016. TOSCA Simple Profile for Network Functions Visualization (NFV) Version 1.0. Committee Specification Draft. OASIS Topology and Orchestration Specification for Cloud Applications (TOSCA) TC. http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/tosca-nfv-v1.0.pdfGoogle Scholar
- Organization for the Advancement of Structured Information Standards. 2017. TOSCA Simple Profile in YAML Version 1.1. Committee Specification Draft. OASIS Topology and Orchestration Specification for Cloud Applications (TOSCA) TC. http://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/v1.1/TOSCA-Simple-Profile-YAML-v1.1.pdfGoogle Scholar
- Gustavo Rossi, Matias Urbieta, Jeronimo Ginzburg, Damiano Distante, and Alejandra Garrido. 2008. Refactoring to rich internet applications. a model-driven approach. In Web Engineering, 2008. ICWE'08. Eighth International Conference on. IEEE, 1--12. Google ScholarDigital Library
- Steve Strauch, Vasilios Andrikopoulos, Thomas Bachmann, and Frank Leymann. 2013. Migrating application data to the cloud using cloud data. In e 3rd International Conference on Cloud Computing and Service Science,(CLOSER). 36--46.Google Scholar
- Steve Strauch, Vasilios Andrikopoulos, Dimka Karastoyanova, Frank Leymann, Nikolay Nachev, and Albrecht Stäbler. 2014. Migrating enterprise applications to the cloud: methodology and evaluation. International Journal of Big Data Intelligence 5 1, 3 (2014), 127--140.Google Scholar
- The Eclipse Foundation. 2002. Eclipse Modeling Framework Project (EMF). http://eclipse.org/modeling/emfGoogle Scholar
- Dániel Varró. 2006. Model transformation by example. In International Conference on Model Driven Engineering Languages and Systems. Springer, 410--424. Google ScholarDigital Library
- Markus Völter, Daniel Ratiu, and Federico Tomassetti. 2013. Requirements as First-Class Citizens: Integrating Requirements closely with Implementation Artifacts. In Proceedings of the 6th International Workshop on Model Based Architecting and Construction of Embedded Systems.Google Scholar
- Johannes Wettinger, Uwe Breitenbücher, and Frank Leymann. 2014. Standards-Based DevOps Automation and Integration Using TOSCA. In 7th IEEE/ACM International Conference on Utility and Cloud Computing. IEEE, 59--68. Google ScholarDigital Library
- Uwe Zdun. 2010. A DSL toolkit for deferring architectural decisions in DSL-based software design. Information & Software Technology 52, 7 (2010), 733--748. Google ScholarDigital Library
- Jing Zhang, Yuehua Lin, and Jeff Gray. 2005. Generic and domain-specific model refactoring using a model transformation engine. In Model-driven Software Development. Springer, 199--217.Google Scholar
- Olaf Zimmermann. 2015. Architectural refactoring: A task-centric view on software evolution. IEEE Software 32, 2 (2015), 26--29.Google ScholarDigital Library
Index Terms
- Refactoring Architecture Models for Compliance with Custom Requirements
Recommendations
Legal Requirements, Compliance and Practice: An Industry Case Study in Accessibility
RE '08: Proceedings of the 2008 16th IEEE International Requirements Engineering ConferenceU.S. laws and regulations are designed to support broad societal goals, such as accessibility, privacy and safety. To demonstrate that a product complies with these goals, businesses need to identify and refine legal requirements into product ...
An architecture-centric approach for goal-driven requirements elicitation
ESEC/FSE '11: Proceedings of the 19th ACM SIGSOFT symposium and the 13th European conference on Foundations of software engineeringSoftware system development typically starts from a requirement specification followed by stepwise refinement of available requirements while transferring them into the system architecture. However, the granularity and the amount of requirements to be ...
Comments