D. Kolovos, Fady Medhat, R. Paige, D. D. Ruscio, T. Storm, S. Scholze, Athanasios Zolotas
The need for levels of availability and scalability beyond those supported by relational databases has led to the emergence of a new generation of purpose-specific databases grouped under the term NoSQL. In general, NoSQL databases are designed with horizontal scalability as a primary concern and deliver increased availability and fault tolerance at a cost of temporary inconsistency and reduced durability of data. To balance the requirements for data consistency and availability, organisations increasingly migrate towards hybrid data persistence architectures comprising both relational and NoSQL databases. The consensus is that this trend will only become stronger in the future; critical data will continue to be stored in ACID (largely relational) databases while non-critical data will be progressively migrated to high-availability NoSQL databases. Designing and deploying a hybrid data persistence architecture that involves a combination of relational and NoSQL databases is a complex, technically challenging and error-prone task. In this paper we outline a model-based methodology developed in the context of the EC-funded H2020 TYPHON project for designing, developing, querying and evolving such scalable architectures for persistence, analytics and monitoring of large volumes of hybrid (relational, graph-based, document-based, natural language, etc.) data, in a systematic and disciplined manner.
{"title":"Domain-Specific Languages for the Design, Deployment and Manipulation of Heterogeneous Databases","authors":"D. Kolovos, Fady Medhat, R. Paige, D. D. Ruscio, T. Storm, S. Scholze, Athanasios Zolotas","doi":"10.1109/MiSE.2019.00021","DOIUrl":"https://doi.org/10.1109/MiSE.2019.00021","url":null,"abstract":"The need for levels of availability and scalability beyond those supported by relational databases has led to the emergence of a new generation of purpose-specific databases grouped under the term NoSQL. In general, NoSQL databases are designed with horizontal scalability as a primary concern and deliver increased availability and fault tolerance at a cost of temporary inconsistency and reduced durability of data. To balance the requirements for data consistency and availability, organisations increasingly migrate towards hybrid data persistence architectures comprising both relational and NoSQL databases. The consensus is that this trend will only become stronger in the future; critical data will continue to be stored in ACID (largely relational) databases while non-critical data will be progressively migrated to high-availability NoSQL databases. Designing and deploying a hybrid data persistence architecture that involves a combination of relational and NoSQL databases is a complex, technically challenging and error-prone task. In this paper we outline a model-based methodology developed in the context of the EC-funded H2020 TYPHON project for designing, developing, querying and evolving such scalable architectures for persistence, analytics and monitoring of large volumes of hybrid (relational, graph-based, document-based, natural language, etc.) data, in a systematic and disciplined manner.","PeriodicalId":340157,"journal":{"name":"2019 IEEE/ACM 11th International Workshop on Modelling in Software Engineering (MiSE)","volume":"16 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-05-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133140990","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}
Scenarios are commonly used for software requirements modeling. Scenarios describe how system components, users and the environment interact to complete the system functionality. However, several scenarios are needed to represent a complete system behavior and combining the scenarios may generate implied scenarios (IS) that are associated with some unexpected behavior. The unexpected behavior is commonly known as Emergent Behavior (EB), which is not evident in the requirements and design phase but may degrade the quality of service and/or cause irreparable damage during execution. Detecting and fixing EB/IS in the early phases can save on deployment cost while minimizing the run-time hazards. In this paper, we present a machine learning approach to model and identify the interactions between system components and verify which interactions are safe and which may lead to EB/IS. The experimental result shows that our approach can efficiently detect different types of EB/IS and applicable to large scale systems.
{"title":"Detecting Emergent Behaviors and Implied Scenarios in Scenario-Based Specifications: A Machine Learning Approach","authors":"Munima Jahan, Zahra Shakeri Hossein Abad, B. Far","doi":"10.1109/MiSE.2019.00009","DOIUrl":"https://doi.org/10.1109/MiSE.2019.00009","url":null,"abstract":"Scenarios are commonly used for software requirements modeling. Scenarios describe how system components, users and the environment interact to complete the system functionality. However, several scenarios are needed to represent a complete system behavior and combining the scenarios may generate implied scenarios (IS) that are associated with some unexpected behavior. The unexpected behavior is commonly known as Emergent Behavior (EB), which is not evident in the requirements and design phase but may degrade the quality of service and/or cause irreparable damage during execution. Detecting and fixing EB/IS in the early phases can save on deployment cost while minimizing the run-time hazards. In this paper, we present a machine learning approach to model and identify the interactions between system components and verify which interactions are safe and which may lead to EB/IS. The experimental result shows that our approach can efficiently detect different types of EB/IS and applicable to large scale systems.","PeriodicalId":340157,"journal":{"name":"2019 IEEE/ACM 11th International Workshop on Modelling in Software Engineering (MiSE)","volume":"23 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125744122","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}
Widespread and mature practice of model-driven engineering is leading to a growing number of modeling artifacts and challenges in their management. Model clone detection (MCD) is an important approach for managing and maintaining modeling artifacts. While its counterpart in traditional source code development, code clone detection, is enjoying popularity and more than two decades of development, MCD is still in its infancy in terms of research and tooling. We aim to develop a portal for model clone detection, MoCoP, as a central hub to mitigate adoption barriers and foster MCD research. In this short paper, we present our vision for MoCoP and its features and goals. We discuss MoCoP's key components that we plan on realizing in the short term including public tooling, curated data sets, and a body of MCD knowledge. Our longer term goals include a dedicated service-oriented infrastructure, contests, and forums. We believe MoCoP will strengthen MCD research, tooling, and the community, which in turn will lead to better quality, maintenance, and scalability for model-driven engineering practices.
{"title":"MoCoP: Towards a Model Clone Portal","authors":"Önder Babur, Matthew Stephan","doi":"10.1109/MiSE.2019.00019","DOIUrl":"https://doi.org/10.1109/MiSE.2019.00019","url":null,"abstract":"Widespread and mature practice of model-driven engineering is leading to a growing number of modeling artifacts and challenges in their management. Model clone detection (MCD) is an important approach for managing and maintaining modeling artifacts. While its counterpart in traditional source code development, code clone detection, is enjoying popularity and more than two decades of development, MCD is still in its infancy in terms of research and tooling. We aim to develop a portal for model clone detection, MoCoP, as a central hub to mitigate adoption barriers and foster MCD research. In this short paper, we present our vision for MoCoP and its features and goals. We discuss MoCoP's key components that we plan on realizing in the short term including public tooling, curated data sets, and a body of MCD knowledge. Our longer term goals include a dedicated service-oriented infrastructure, contests, and forums. We believe MoCoP will strengthen MCD research, tooling, and the community, which in turn will lead to better quality, maintenance, and scalability for model-driven engineering practices.","PeriodicalId":340157,"journal":{"name":"2019 IEEE/ACM 11th International Workshop on Modelling in Software Engineering (MiSE)","volume":"10 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129706053","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}
Welcome to the 11th Workshop on Modeling in Software Engineering (MiSE 2019), colocated with ICSE 2019 in Montreal, Canada. The goal of MiSE 2019 is to understand, through critical analysis, the current and future uses of models in the engineering of software-intensive systems. By fostering exchange of ideas between the MDE and software engineering communities, the MiSE-workshop series has continuously served as an effective forum for discussing modeling techniques from both software and systems engineering perspectives. We also hope to analyze successful applications of modeling techniques in relevant areas such as Cyber-Physical Systems, Internet of Things, Big and Smart Data, learning machines, and determine how the participants experience can be carried over to other domains.
{"title":"Message from the MiSE 2019 Workshop Organizers","authors":"","doi":"10.1109/mise.2019.00005","DOIUrl":"https://doi.org/10.1109/mise.2019.00005","url":null,"abstract":"Welcome to the 11th Workshop on Modeling in Software Engineering (MiSE 2019), colocated with ICSE 2019 in Montreal, Canada. The goal of MiSE 2019 is to understand, through critical analysis, the current and future uses of models in the engineering of software-intensive systems. By fostering exchange of ideas between the MDE and software engineering communities, the MiSE-workshop series has continuously served as an effective forum for discussing modeling techniques from both software and systems engineering perspectives. We also hope to analyze successful applications of modeling techniques in relevant areas such as Cyber-Physical Systems, Internet of Things, Big and Smart Data, learning machines, and determine how the participants experience can be carried over to other domains.","PeriodicalId":340157,"journal":{"name":"2019 IEEE/ACM 11th International Workshop on Modelling in Software Engineering (MiSE)","volume":"82 1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126065890","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":"MiSE 2019 Program Committee","authors":"","doi":"10.1109/mise.2019.00007","DOIUrl":"https://doi.org/10.1109/mise.2019.00007","url":null,"abstract":"","PeriodicalId":340157,"journal":{"name":"2019 IEEE/ACM 11th International Workshop on Modelling in Software Engineering (MiSE)","volume":"18 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126924604","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":"[Copyright notice]","authors":"","doi":"10.1109/mise.2019.00003","DOIUrl":"https://doi.org/10.1109/mise.2019.00003","url":null,"abstract":"","PeriodicalId":340157,"journal":{"name":"2019 IEEE/ACM 11th International Workshop on Modelling in Software Engineering (MiSE)","volume":"10 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114900269","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}
We address the problem of how to extract counterexamples for the transitive-closure-based model checking (TCMC) technique. TCMC is a representation of the CTLFC (CTL with fairness constraints) model checking problem in first-order logic with transitive closure (FOLTC) and has been implemented in the Alloy Analyzer. It is a declarative, symbolic model checking method. As a CTL model checking method, TCMC is defined over transition systems and states (rather than paths) and therefore, returns a transition system with a bug as a counterexample. Our contribution is to isolate a counterexample path/subgraph in a declarative manner by adding constraints that do not depend on the property. Our method does not require extensions to Alloy.
{"title":"Extracting Counterexamples from Transitive-Closure-Based Model Checking","authors":"Mitchell Kember, Lynn Tran, George Gao, N. Day","doi":"10.1109/MiSE.2019.00015","DOIUrl":"https://doi.org/10.1109/MiSE.2019.00015","url":null,"abstract":"We address the problem of how to extract counterexamples for the transitive-closure-based model checking (TCMC) technique. TCMC is a representation of the CTLFC (CTL with fairness constraints) model checking problem in first-order logic with transitive closure (FOLTC) and has been implemented in the Alloy Analyzer. It is a declarative, symbolic model checking method. As a CTL model checking method, TCMC is defined over transition systems and states (rather than paths) and therefore, returns a transition system with a bug as a counterexample. Our contribution is to isolate a counterexample path/subgraph in a declarative manner by adding constraints that do not depend on the property. Our method does not require extensions to Alloy.","PeriodicalId":340157,"journal":{"name":"2019 IEEE/ACM 11th International Workshop on Modelling in Software Engineering (MiSE)","volume":"5 3","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132394706","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}
Goal models are used in early phase requirements engineering to elicit stakeholders' intentions, analyze dependencies, and help stakeholders make trade-off decisions about the project and its interaction with the environment. The Evolving Intentions framework extended goal model analysis to evaluate how models change over time, by creating simulation paths showing possible evolutions of the model. More recently, we extended this analysis to allow users to explore states along the path and generate their own simulation paths. However, this approach is limited by users' ability to comprehend the state space, which grows exponentially with the size of the model. In this paper, we explore using filters to reduce the number of viewable solutions enabling users to create their own simulation results. We present our approach and initial validation, including an analysis of prior models and a review of expert feedback.
{"title":"Support for User Generated Evolutions of Goal Models","authors":"Boyue Caroline Hu, A. Grubb","doi":"10.1109/MiSE.2019.00008","DOIUrl":"https://doi.org/10.1109/MiSE.2019.00008","url":null,"abstract":"Goal models are used in early phase requirements engineering to elicit stakeholders' intentions, analyze dependencies, and help stakeholders make trade-off decisions about the project and its interaction with the environment. The Evolving Intentions framework extended goal model analysis to evaluate how models change over time, by creating simulation paths showing possible evolutions of the model. More recently, we extended this analysis to allow users to explore states along the path and generate their own simulation paths. However, this approach is limited by users' ability to comprehend the state space, which grows exponentially with the size of the model. In this paper, we explore using filters to reduce the number of viewable solutions enabling users to create their own simulation results. We present our approach and initial validation, including an analysis of prior models and a review of expert feedback.","PeriodicalId":340157,"journal":{"name":"2019 IEEE/ACM 11th International Workshop on Modelling in Software Engineering (MiSE)","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128996192","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}