S. Maoz, Nitzan Pomerantz, Jan Oliver Ringert, Rafi Shalom
{"title":"Why is My Component and Connector Views Specification Unsatisfiable?","authors":"S. Maoz, Nitzan Pomerantz, Jan Oliver Ringert, Rafi Shalom","doi":"10.1109/MODELS.2017.26","DOIUrl":"https://doi.org/10.1109/MODELS.2017.26","url":null,"abstract":"Component and connector (C&C) views specifications, with corresponding verification and synthesis techniques, have been recently suggested as a means for formal yet intuitive structural specification of component and connector models. One challenge for effective use of C&C views synthesis relates to the case where the specification is unsatisfiable.In this work we present an approach to deal with unsatisfiable C&C views specifications. First, we define a notion of a C&C views specification core, a locally minimal unsatisfiable subset of the views specification. Second, based on the core, we generate explicit, concrete, structured natural-language report, which explains the cause of unsatisfiability. Finally, we extend our work to support specifications with architecture styles, library components, and Boolean formulas beyond simple conjunctions.Our views core computation relies on a new translation to SAT, via Alloy, which is refined enough to allow the extraction of detailed explanations. We implemented our work and evaluated it using 12 synthetic and real-world C&C views specifications. The evaluation examines the cost of the core computation and its effectiveness in reducing the size of the specification.","PeriodicalId":162884,"journal":{"name":"2017 ACM/IEEE 20th International Conference on Model Driven Engineering Languages and Systems (MODELS)","volume":"8 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-09-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130971725","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":"A Model-Driven Approach to Trace Checking of Pattern-Based Temporal Properties","authors":"Wei Dou, D. Bianculli, L. Briand","doi":"10.1109/MODELS.2017.9","DOIUrl":"https://doi.org/10.1109/MODELS.2017.9","url":null,"abstract":"Trace checking is a procedure for evaluating requirements over a log of events produced by a system. This paper deals with the problem of performing trace checking of temporal properties expressed in TemPsy, a pattern-based specification language. The goal of the paper is to present a scalable and practical solution for trace checking, which can be used in contexts where relying on model-driven engineering standards and tools for property checking is a fundamental prerequisite.The main contributions of the paper are: a model-driven trace checking procedure, which relies on the efficient mapping of temporal requirements written in TemPsy into OCL constraints on a conceptual model of execution traces; the implementation of this trace checking procedure in the TEMPSY-CHECK tool; the evaluation of the scalability of TEMPSY-CHECK, applied to the verification of real properties derived from a case study of our industrial partner, including a comparison with a state-of-the-art alternative technology based on temporal logic. The results of the evaluation show the feasibility of applying our model-driven approach for trace checking in realistic settings: TEMPSY-CHECK scales linearly with respect to the length of the input trace and can analyze traces with one million events in about two seconds.","PeriodicalId":162884,"journal":{"name":"2017 ACM/IEEE 20th International Conference on Model Driven Engineering Languages and Systems (MODELS)","volume":"30 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-09-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130626259","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}
Diego Vaquero-Melchor, J. Palomares, E. Guerra, J. Lara
{"title":"Active Domain-Specific Languages: Making Every Mobile User a Modeller","authors":"Diego Vaquero-Melchor, J. Palomares, E. Guerra, J. Lara","doi":"10.1109/MODELS.2017.13","DOIUrl":"https://doi.org/10.1109/MODELS.2017.13","url":null,"abstract":"Domain-specific languages (DSLs) are small languages tailored to a certain application area, like logistics, web application testing or smart city planning. Traditionally, the use of DSLs has been limited to a static setting in desktop or web editors. However, in this paper, we claim that DSLs can be central components of mobile collaborative applications. In our vision, graphical DSLs can be extended to make use of mobility and context, and integrate heterogeneous information gathered from open APIs. We call this new generation languages \"active DSLs\".We foresee a range of scenarios where active DSLs can be useful. On the one hand, they can be used more flexibly in remote locations by enabling local collaboration of several mobile devices using their short-range communication capabilities. On the other hand, they can be extended with contextual features like geolocation, allowing the integration of maps and geo-services within the DSL, or the DSL rendering customization in response to contextual information. Active DSLs can also retrieve information from open APIs, in which case, models defined with the DSL become aggregators of heterogeneous data.In this paper, we explain our vision for active DSLs and the first steps towards its realization in the DSL-comet tool. The tool permits creating and using mobile graphical DSLs on iOS devices, and their seamless use in desktop environments.","PeriodicalId":162884,"journal":{"name":"2017 ACM/IEEE 20th International Conference on Model Driven Engineering Languages and Systems (MODELS)","volume":"12 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-09-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129177157","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":"Partial Evaluation of OCL Expressions","authors":"B. Ulke, F. Steimann, R. Lämmel","doi":"10.1109/MODELS.2017.31","DOIUrl":"https://doi.org/10.1109/MODELS.2017.31","url":null,"abstract":"In the academic literature, many uses of the Object Constraint Language (OCL) have been proposed. By contrast, the utilization of OCL in contemporary modelling tools lags behind, suggesting that leverage of OCL remains limited in practice. We consider this undeserved, and present a scheme for partially evaluating OCL expressions that allows one to capitalize on given OCL specifications for a wide array of purposes using a single implementation: a partial evaluator of OCL.","PeriodicalId":162884,"journal":{"name":"2017 ACM/IEEE 20th International Conference on Model Driven Engineering Languages and Systems (MODELS)","volume":"516 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-09-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116218267","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":"Transformations of Software Product Lines: A Generalizing Framework Based on Category Theory","authors":"G. Taentzer, Rick Salay, D. Strüber, M. Chechik","doi":"10.1109/MODELS.2017.22","DOIUrl":"https://doi.org/10.1109/MODELS.2017.22","url":null,"abstract":"Software product lines are used to manage the development of highly complex software with many variants. In the literature, various forms of rule-based product line modifications have been considered. However, when considered in isolation, their expressiveness for specifying combined modifications of feature models and domain models is limited. In this paper, we present a formal framework for product line transformations that is able to combine several kinds of product line modifications presented in the literature. Moreover, it defines new forms of product line modifications supporting various forms of product lines and transformation rules. Our formalization of product line transformations is based on category theory, and concentrates on properties of product line relations instead of their single elements. Our framework provides improved expressiveness and flexibility of software product line transformations while abstracting from the considered type of model.","PeriodicalId":162884,"journal":{"name":"2017 ACM/IEEE 20th International Conference on Model Driven Engineering Languages and Systems (MODELS)","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-09-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115322088","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":"On Additivity in Transformation Languages","authors":"S. Hidaka, F. Jouault, M. Tisi","doi":"10.1109/MODELS.2017.21","DOIUrl":"https://doi.org/10.1109/MODELS.2017.21","url":null,"abstract":"Some areas in computer science are characterized by a shared base structure for data artifacts (e.g., list, table, tree, graph, model), and dedicated languages for transforming this structure. We observe that in several of these languages it is possible to identify a clear correspondence between some elements in the transformation code and the output they generate. Conversely given an element in an output artifact it is often possible to immediately trace the transformation parts that are responsible for its creation. In this paper we formalize this intuitive concept by defining a property that characterizes several transformation languages in different domains. We name this property additivity: for a given fixed input, the addition or removal of program elements results in a corresponding addition or removal of parts of the output. We provide a formal definition for additivity and argue that additivity enhances modularity and incrementality of transformation engineering activities, by enumerating a set of tasks that this property enables or facilitates. Then we describe how it is instantiated in some well-known transformation languages. We expect that the development of new formal results on languages with additivity will benefit from our definitions.","PeriodicalId":162884,"journal":{"name":"2017 ACM/IEEE 20th International Conference on Model Driven Engineering Languages and Systems (MODELS)","volume":"7 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-09-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116057284","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}
J. Cuadrado, E. Guerra, J. Lara, R. Clarisó, Jordi Cabot
{"title":"Translating Target to Source Constraints in Model-to-Model Transformations","authors":"J. Cuadrado, E. Guerra, J. Lara, R. Clarisó, Jordi Cabot","doi":"10.1109/MODELS.2017.12","DOIUrl":"https://doi.org/10.1109/MODELS.2017.12","url":null,"abstract":"Model transformations are used to automate model manipulation in Model-Driven Engineering (MDE). In particular, model-to-model transformations produce target models (conformant to a target meta-model) from source ones (conformant to a source meta-model). While transformation correctness is crucial in MDE, developing transformations is error-prone due to the difficulty in testing them. This problem is further aggravated if the source and target meta-models contain OCL integrity constraints, as every transformed source model should satisfy the target integrity constraints.In order to attack this problem, we present a novel method that translates target OCL constraints to the source meta-model using the transformation definition. This way, if a source model satisfies the advanced constraint, the transformed model will satisfy the target constraint. The method has been implemented for the ATL transformation language and integrated with the anATLyzer tool. We show its benefits in combination with model finders, and the promising results of its validation using mutation techniques and transformations developed by third parties.","PeriodicalId":162884,"journal":{"name":"2017 ACM/IEEE 20th International Conference on Model Driven Engineering Languages and Systems (MODELS)","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-09-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130654695","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":"How is ATL Really Used? Language Feature Use in the ATL Zoo","authors":"Gehan M. K. Selim, J. Cordy, J. Dingel","doi":"10.1109/MODELS.2017.20","DOIUrl":"https://doi.org/10.1109/MODELS.2017.20","url":null,"abstract":"Studies of code repositories have long been used to understand the use of programming languages and to provide insight into how they should evolve. Such studies can highlight features that are rarely used and can safely be removed to simplify the language. Conversely, combinations of features that are frequently used together can be identified and possibly replaced with new features to improve the user experience. Unfortunately, this kind of research has not been as popular in Model Driven Development (MDD). More specifically, using repositories of model transformations (in any language) to understand how the features of these languages are used has not been investigated much, despite its potential benefits. In this paper, we study the use of the ATL model transformation language in an ATL transformation repository. We identify three research questions aimed at providing insight into how ATL's features are actually used. Using the TXL source transformation language, we implement a parser-based analyzer to extract information from the ATL Zoo. We use this information to answer these research questions and provide additional observations based on manual inspection of ATL artifacts.","PeriodicalId":162884,"journal":{"name":"2017 ACM/IEEE 20th International Conference on Model Driven Engineering Languages and Systems (MODELS)","volume":"28 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-09-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116491591","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 in the Large","authors":"P. Stevens","doi":"10.1109/MODELS.2017.8","DOIUrl":"https://doi.org/10.1109/MODELS.2017.8","url":null,"abstract":"The model-driven development of systems involves multiple models, metamodels and transformations, and relationships between them. A bidirectional transformation (bx) is usually defined as a means of maintaining consistency between \"two (or more)\" models. This includes cases where one model may be generated from one or more others, as well as more complex (\"symmetric\") cases where models record partially overlapping information. In recent years binary bx, those relating two models, have been extensively studied. Multiary1 bx, those relating more than two models, have received less attention. In this paper we consider how a multiary consistency relation may be defined in terms of binary consistency relations, and how consistency restoration may be carried out on a network of models and relationships between them. We relate this to megamodelling and discuss further research that is needed.","PeriodicalId":162884,"journal":{"name":"2017 ACM/IEEE 20th International Conference on Model Driven Engineering Languages and Systems (MODELS)","volume":"47 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-09-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116499362","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}
S. Barner, Alexander Diewald, J. Migge, Ali Syed, G. Fohler, Madeleine Faugère, D. G. Pérez
{"title":"DREAMS Toolchain: Model-Driven Engineering of Mixed-Criticality Systems","authors":"S. Barner, Alexander Diewald, J. Migge, Ali Syed, G. Fohler, Madeleine Faugère, D. G. Pérez","doi":"10.1109/MODELS.2017.28","DOIUrl":"https://doi.org/10.1109/MODELS.2017.28","url":null,"abstract":"Mixed-criticality systems (MCS) aim at boosting the integration density in safety-critical systems, resulting into efficient systems, while simultaneously providing increased performance. The DREAMS project provides a cross-domain architectural style for MCS based on networked, virtualized multi-cores controlled by hierarchical resource managers. However, the availability of a platform is only one side of the coin: deploying mixed-critical applications to shared resources typically requires design-time configurations (e.g., to ensure real-time constraints or separation constraints mandated by safety regulations). These configurations are the outcome of complex optimization problems which are intractable in a manual process that also hardly can guarantee the consistency of all deployable artefacts nor their traceability to the requirements. However, existing toolchains lack support for MCS integration, and particularly DREAMS' advanced platform capabilities. We present an integrated model-driven toolchain and the underlying metamodels covering all relevant aspects of MCS including applications, timing, platforms, deployments, configurations and annotations for extra-functional properties such as safety. The approach focuses on the left branch of the V-cycle, and ranges from product-line and design space exploration to resource allocation and configuration generation. We report on the integration of exploration tools and a reconfiguration graph synthesizer, and evaluate the resulting toolchains in two use cases consisting of a product-line of wind power control applications and an avionic subsystem respectively.","PeriodicalId":162884,"journal":{"name":"2017 ACM/IEEE 20th International Conference on Model Driven Engineering Languages and Systems (MODELS)","volume":"875 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-09-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121026999","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}