Translating between Alloy specifications and UML class diagrams annotated with OCL
Autor: | Ana Gabriela Garis, Alcino Cunha, Daniel Eduardo Riesco |
---|---|
Přispěvatelé: | Universidade do Minho |
Jazyk: | angličtina |
Rok vydání: | 2015 |
Předmět: |
MDE
Computer science Model transformation Applications of UML 02 engineering and technology computer.software_genre Software Unified Modeling Language Software_SOFTWAREENGINEERING Formal specification 0202 electrical engineering electronic engineering information engineering computer.programming_language Object Constraint Language UML tool Science & Technology Programming language business.industry 020207 software engineering OCL UML Modeling and Simulation Alloy 020201 artificial intelligence & image processing Class diagram business computer |
Zdroj: | Repositório Científico de Acesso Aberto de Portugal Repositório Científico de Acesso Aberto de Portugal (RCAAP) instacron:RCAAP |
Popis: | Model-driven engineering (MDE) is a software engineering approach based on model transformations at different abstraction levels. It prescribes the development of software by successively transforming the models from abstract (specifications) to more concrete ones (code). Alloy is an increasingly popular lightweight formal specification language that supports automatic verification. Unfortunately, its widespread industrial adoption is hampered by the lack of an ecosystem of MDE tools, namely code generators. This paper presents a model transformation from Alloy to UML class diagrams annotated with OCL (UML+OCL) and shows how an existing transformation from UML+OCL to Alloy can be improved to handle dynamic issues. The proposed bidirectional transformation enables a smooth integration of Alloy in the current MDE contexts, by allowing UML+OCL specifications to be transformed to Alloy for validation and verification, to correct and possibly refine them inside Alloy, and to translate them back to UML+OCL for sharing with stakeholders or to reuse current model-driven architecture tools to refine them toward code. This work was funded by European Regional Development Fund (ERDF) through the COMPETE Programme (operational program for competitiveness) and by national funds through the FCT (Fundaaco para a Ciencia e a Tecnologia-portuguese Foundation for Science and Technology) within project FCOMP-01-0124-FEDER-020532. Part of the work was done while the first author was visiting the Software Design Group at CSAIL, MIT, USA, funded by FCT sabbatical grant SFRH/BSAB/1187/2011. The second author was also partially supported by QREN (the portuguese National Strategy Reference Chart) project 1621, while visiting the High-Assurance Software Laboratory at Universidade do Minho, Portugal. Finally, we would also like to thank all anonymous reviewers for the valuable comments and suggestions. |
Databáze: | OpenAIRE |
Externí odkaz: |