{"title":"Formal MOF metamodeling and tool support","authors":"L. Favre, Daniel Duarte","doi":"10.5220/0005689200990110","DOIUrl":"https://doi.org/10.5220/0005689200990110","url":null,"abstract":"Model Driven Development (MDD) has emerged as a new road to software development industrialization. The most well-known realization of MDD is the Model Driven Architecture (MDA). The essence of MDA is the metamodel MOF (Meta Object Facility) allowing interoperability of different kind of artifacts from multiple technologies. It is important to formalize and reason about MOF metamodels properly. In this paper, we propose a rigorous framework for reasoning about “correctness” of metamodels. Our main contribution is the integration of MOF metalanguage with formal specification languages based on the algebraic formalism. We define NEREUS, a formal metamodeling language, and processes for reasoning about MOF-like metamodels such as ECORE metamodels. The paper describes a set of tools developed to make formal metamodeling feasible in practice.","PeriodicalId":360028,"journal":{"name":"2016 4th International Conference on Model-Driven Engineering and Software Development (MODELSWARD)","volume":"51 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2016-11-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131350387","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"ReIOS: Reflective architecting in the Internet of Objects","authors":"M. Mongiello, G. Boggia, E. Sciascio","doi":"10.5220/0005800603840389","DOIUrl":"https://doi.org/10.5220/0005800603840389","url":null,"abstract":"Self-adaptive systems are modern applications in which the running software system should be able to react on its own, by dynamically adapting its behavior, for sustaining a required set of qualities of service, and dynamic changes in the context or in user requirements. They are typically involved in Future Internet development such as the Internet of Things where interoperability, flexibility, and adaptability are key requirements. Convergence of contents, services, things and networks seems to be the cornerstone to fullfil these requirements. We propose a reflective approach to provide a common abstraction for automating the deployment of component based applications in the Internet of Things environment. The proposed framework allows the design of heterogeneous, distributed, and adaptive applications built on the component based software engineering paradigm. The framework considers a metamodel instantiated in a Rest middleware properly modified for allowing different implementations by using reflective design patterns. We are currently working to refine the framework metamodel and to validate it in several implementation domains.","PeriodicalId":360028,"journal":{"name":"2016 4th International Conference on Model-Driven Engineering and Software Development (MODELSWARD)","volume":"95 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2016-11-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114688647","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Lightweight realization of UML ports for safety-critical real-time embedded software","authors":"Alper Tolga Kocatas, Mustafa Can, A. Dogru","doi":"10.5220/0005689602580265","DOIUrl":"https://doi.org/10.5220/0005689602580265","url":null,"abstract":"UML ports are widely used in the modeling of real-time software due to their advantages in flexibility and expressiveness. When realizing UML ports in object oriented languages, using objects for each port is one option. However, this approach causes runtime overhead and renders significant amount of additional generated code. To meet the performance constraints and decrease the costs of code reviews required in development of safety-critical real-time embedded software, more efficient approaches are required. In this article, we propose an approach, which introduces relatively less runtime overhead and results in more compact source code. A structural model defined with UML ports is transformed into a model that uses associations instead of objects to efficiently implement the UML port semantics with less lines of code. Achieved improvements and validation of the proposed approach is demonstrated by a case study; the design of an existing avionics software.","PeriodicalId":360028,"journal":{"name":"2016 4th International Conference on Model-Driven Engineering and Software Development (MODELSWARD)","volume":"10 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2016-11-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114856142","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Marc-Florian Wendland, Ramon Barakat, Martin A. Schneider
{"title":"Enabling data flows in UML Interactions","authors":"Marc-Florian Wendland, Ramon Barakat, Martin A. Schneider","doi":"10.5220/0005689002500257","DOIUrl":"https://doi.org/10.5220/0005689002500257","url":null,"abstract":"UML Interactions represent one of the three UML behaviors. They describe the interwork of parts of a system based on message exchange. UML Interactions can reside on any level of abstraction and they seem sufficiently elaborated for high-level specifications used for sketching the communication among parts of a system. The UML Interactions metamodel, however, reveals some deficiencies for precise specifications of data values and data flows. Even UML 2.5 still does not provide concepts for data flows in UML Interactions. In this paper, we suggest a profile-based extension that integrates data flow concepts with UML Interactions. The extension supports accessing (usage of) values located in data sources and assignment (definition) of values to data sinks in the context of message exchange and invocation of Interactions. The proposed extension improves the expressiveness of UML Interactions in a minimal invasive manner and makes it similar to the capabilities of UML Activities regarding the specification of data flows.","PeriodicalId":360028,"journal":{"name":"2016 4th International Conference on Model-Driven Engineering and Software Development (MODELSWARD)","volume":"56 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2016-11-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132088163","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Survey on textual notations for the Unified Modeling Language","authors":"Stephan Seifermann, Henning Groenda","doi":"10.5220/0005644900280039","DOIUrl":"https://doi.org/10.5220/0005644900280039","url":null,"abstract":"The Unified Modeling Language (UML) has become the lingua franca of software description languages. Textual notations of UML are also accessible for visually impaired people and allow a more developer-oriented and compact presentation. There are many textual notations that largely differ in their syntax, coverage of the UML, user editing experience, and applicability in teams due to the lack of a standardized textual notation. The available surveys do not cover the academic state of the art, the editing experience and applicability in teams. This implies heavy effort for evaluating and selecting notations. This survey identifies textual notations for UML that can be used instead of or in combination with graphical notations, e.g. by collaborating teams or in different contexts. We identified and rated the current state of 16 known notations plus 15 notations that were not covered in previous surveys. 20 categories cover the applicability in engineering teams. No single editable textual notation has full UML coverage. The mean coverage is 2.7 diagram types and editing support varies between none and 7 out of 9 categories. The survey facilitates the otherwise unclear notation selection and can reduce selection effort.","PeriodicalId":360028,"journal":{"name":"2016 4th International Conference on Model-Driven Engineering and Software Development (MODELSWARD)","volume":"29 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2016-11-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124997960","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Model-driven product line engineering for mapping parallel algorithms to parallel computing platforms","authors":"E. Arkin, B. Tekinerdogan","doi":"10.5220/0005783303470354","DOIUrl":"https://doi.org/10.5220/0005783303470354","url":null,"abstract":"Mapping parallel algorithms to parallel computing platforms requires several activities such as the analysis of the parallel algorithm, the definition of the logical configuration of the platform, the mapping of the algorithm to the logical configuration platform and the implementation of the source code. Applying this process from scratch for each parallel algorithm is usually time consuming and cumbersome. Moreover, for large platforms this overall process becomes intractable for the human engineer. To support systematic reuse we propose to adopt a model-driven product line engineering approach for mapping parallel algorithms to parallel computing platforms. Using model-driven transformation patterns we support the generation of logical configurations of the computing platform and the generation of the parallel source code that runs on the parallel computing platform nodes. The overall approach is illustrated for mapping an example parallel algorithm to parallel computing platforms.","PeriodicalId":360028,"journal":{"name":"2016 4th International Conference on Model-Driven Engineering and Software Development (MODELSWARD)","volume":"30 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2016-11-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"117046769","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"MOF-VM: Instantiation revisited","authors":"Terje Gjøsæter, A. Prinz, J. P. Nytun","doi":"10.5220/0005606101370144","DOIUrl":"https://doi.org/10.5220/0005606101370144","url":null,"abstract":"The Model-Driven Architecture (MDA) is based on an understanding of a hierarchy of levels that are placed on top of each other and that are connected with instantiation. For practical MDA use, it is important to be clear about the kinds of objects that reside on the different levels and the relations between them as well as relations to objects outside of the MDA domain. This article aims at enhancing the understanding of these objects and relations by relating them to a virtual MOF machine.","PeriodicalId":360028,"journal":{"name":"2016 4th International Conference on Model-Driven Engineering and Software Development (MODELSWARD)","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2016-11-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128511420","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Bidirectional transformations with QVT-R: A case study in round-trip engineering UML class models and java source code","authors":"Sandra Greiner, Thomas Buchmann, B. Westfechtel","doi":"10.5220/0005644700150027","DOIUrl":"https://doi.org/10.5220/0005644700150027","url":null,"abstract":"Model-driven software engineering has become more and more important during the last few years. Model transformations constitute the core essence of model-driven development. Throughout the years, the concept of unidirectional model transformations and corresponding tool support has become mature and usable. Transformations of this kind are widely used in model-driven development, for forward or reverse engineering or mainly for code generation. Bidirectional transformations, on the other hand, aim to provide support for (incrementally) transforming one or more source models to one or more target models and vice versa from only one transformation description. However, they seem to be rarely used in model-driven software development although modelers need round-trip support between the different stages of development models. In this paper we present a QVT implementation of a bidirectional model transformation. Our case study keeps UML class diagrams consistent with a Java model during round-trip engineering and thereby shows a real world application. The results and experiences gained in this case study are discussed in detail.","PeriodicalId":360028,"journal":{"name":"2016 4th International Conference on Model-Driven Engineering and Software Development (MODELSWARD)","volume":"12 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2016-11-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115379004","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
A. Banijamali, Research Dawadi, M. Ahmad, Jouni Similä, M. Oivo, K. Liukkunen
{"title":"An empirical study on the impact of Scrumban on geographically distributed software development","authors":"A. Banijamali, Research Dawadi, M. Ahmad, Jouni Similä, M. Oivo, K. Liukkunen","doi":"10.5220/0005686405670577","DOIUrl":"https://doi.org/10.5220/0005686405670577","url":null,"abstract":"Coordination in software projects is a challenge, particularly when it comes to distributed software development (DSD). Agile software development is a well-known paradigm for improving software development; however, there is little understanding of its impact on DSD projects. This paper describes an empirical study conducted within two Software Factory settings in Finland and Italy to investigate how Scrumban can impact coordination in geographically distributed software development. It provides the results from a project case that applied Scrumban to develop a web-based application for Time-banking. This study shows that aspects of Scrumban, such as iterative development, enhanced visibility, and limited work-in-progress, would alleviate the challenges of leveraging resources, synchronization between distributed sites, communication, and culture. It also explains that technical and security issues in the coordination of distributed projects may demand for solutions other than Scrumban.","PeriodicalId":360028,"journal":{"name":"2016 4th International Conference on Model-Driven Engineering and Software Development (MODELSWARD)","volume":"23 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2016-11-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127692959","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"An approach to class diagrams verification according to SOLID design principles","authors":"Elena Chebanyuk, K. Markov","doi":"10.5220/0005830104350441","DOIUrl":"https://doi.org/10.5220/0005830104350441","url":null,"abstract":"An approach, verifying class diagram correspondence to SOLID Design Principles, is proposed in this paper. SOLID is an acronym, encapsulating the five class diagram design principles namely: Single Responsibility, Open-Closed, Liskov Substitution, Interface Segregation and Dependency Inversion. To check whether a class diagram meets to SOLID, its analytical representation is analyzed by means of predicate expressions. For every SOLID design principle corresponded predicate expressions are proposed. Analytical representation describes interaction of class diagram constituents, namely classes and interfaces, in set-theory terms. Also criteria for estimation of obtained results are formulated. Example of class diagram verification according to the suggested verification approach is also represented in this paper. The advantages of the proposed verification approach implementing to improve the quality of different software development lifecycle processes are outlined in the conclusions.","PeriodicalId":360028,"journal":{"name":"2016 4th International Conference on Model-Driven Engineering and Software Development (MODELSWARD)","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2016-11-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129032442","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}