{"title":"Model-level simulation for COLA","authors":"Markus Herrmannsdoerfer, W. Haberl, U. Baumgarten","doi":"10.1109/MISE.2009.5069895","DOIUrl":"https://doi.org/10.1109/MISE.2009.5069895","url":null,"abstract":"Model-driven development has become the standard approach for the development of avionic and automotive embedded systems. When a semantically founded modeling language is employed, the implemented systems can be checked and further processed in an automated manner. To this end, the Component Language (COLA) was invented. It allows for the definition of all information needed during system development. For a better understanding, and also debugging, of the systems modeled therewith, simulation at the level of the model is a welcome complement. In this paper we present a model-level simulator for COLA. It follows the language's semantics closely, thus guaranteeing the same behavior as specified in the model and implemented by other tools based on COLA. Furthermore, its modular nature allows for the use of different sources for input data. We will demonstrate the architecture and abilities of our simulator, using parts of a recent case study throughout the paper.","PeriodicalId":264527,"journal":{"name":"2009 ICSE Workshop on Modeling in Software Engineering","volume":"53 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2009-05-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130187337","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}
M. Chechik, Winnie Lai, S. Nejati, Jordi Cabot, Z. Diskin, S. Easterbrook, M. Sabetzadeh, Rick Salay
{"title":"Relationship-based change propagation: A case study","authors":"M. Chechik, Winnie Lai, S. Nejati, Jordi Cabot, Z. Diskin, S. Easterbrook, M. Sabetzadeh, Rick Salay","doi":"10.1109/MISE.2009.5069890","DOIUrl":"https://doi.org/10.1109/MISE.2009.5069890","url":null,"abstract":"Software development is an evolutionary process. Requirements of a system are often incomplete or inconsistent, and hence need to be extended or modified over time. Customers may demand new services or goals that often lead to changes in the design and implementation of the system. These changes are typically very expensive. Even if only local modifications are needed, manually applying them is time-consuming and and error-prone. Thus, it is essential to assist users in propagating changes across requirements, design, and implementation artifacts. In this paper, we take a model-based approach and provide an automated algorithm for propagating changes between requirements and design models. The key feature of our work is explicating relationships between models at the requirements and design levels. We provide conditions for checking validity of these relationships both syntactically and semantically. We show how our algorithm utilizes the relationships between models at different levels to localize the regions that should be modified. We use the IBM Trade 6 case study to demonstrate our approach.","PeriodicalId":264527,"journal":{"name":"2009 ICSE Workshop on Modeling in Software Engineering","volume":"51 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2009-05-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121924768","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":"Raising the level of abstraction in the development of GMF-based graphical model editors","authors":"D. Kolovos, Louis M. Rose, R. Paige, F. Polack","doi":"10.1109/MISE.2009.5069891","DOIUrl":"https://doi.org/10.1109/MISE.2009.5069891","url":null,"abstract":"The Eclipse Graphical Modeling Framework (GMF) provides substantial infrastructure and tooling for developing diagram-based editors for modelling languages atop the Eclipse platform. It is widely accepted that implementing a visual editor using the built-in GMF facilities is a particularly complex and error-prone task and requires a steep learning curve. We present an approach that raises the level of abstraction at which a visual editor is specified. The approach uses annotations at the metamodel level. Annotations are used for producing the required low-level intermediate GMF models necessary for generating an editor via model-to-model transformations.","PeriodicalId":264527,"journal":{"name":"2009 ICSE Workshop on Modeling in Software Engineering","volume":"59 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2009-05-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122886021","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 transformation of dependability-focused requirements models","authors":"Sadaf Mustafiz, J. Kienzle, H. Vangheluwe","doi":"10.1109/MISE.2009.5069897","DOIUrl":"https://doi.org/10.1109/MISE.2009.5069897","url":null,"abstract":"Recent research has focused on extending standard requirements elicitation processes to address potential abnormal situations that can interrupt normal system interaction at run-time. We proposed a process, DREP, that extends use case-driven modelling with elements that allow the modelling of system behaviour in exceptional situations. This paper discusses the challenge of using the notions of exceptional behaviour and outcomes defined in use cases within a MDE process. In order to create a more formal specification model with activity diagrams, the use cases have to be well-formed to begin with. We describe precise transformation rules to systematically create an activity diagram corresponding to each use case. Special stereotypes are introduced to document partial or degraded outcomes and handling activities. The model resulting from the transformation unambiguously specifies the system interactions required to satisfy the user, as well as exceptional interactions that can lead to degraded service provision.","PeriodicalId":264527,"journal":{"name":"2009 ICSE Workshop on Modeling in Software Engineering","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2009-05-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128832397","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 the use of software models during software execution","authors":"N. Bencomo","doi":"10.1109/MISE.2009.5069899","DOIUrl":"https://doi.org/10.1109/MISE.2009.5069899","url":null,"abstract":"Increasingly software systems are required to survive variations in their execution environment without or with only little human intervention. Such systems are called “eternal software systems”. In contrast to the traditional view of development and execution as separate cycles, these modern software systems should not present such a separation. Research in MDE has been primarily concerned with the use of models during the first cycle or development (i.e. during the design, implementation, and deployment) and has shown excellent results. In this paper the author argues that an eternal software system must have a first-class representation of itself available to enable change. These runtime representations (or runtime models) will depend on the kind of dynamic changes that we want to make available during execution or on the kind of analysis we want the system to support. Hence, different models can be conceived. Self-representation inevitably implies the use of reflection. In this paper the author briefly summarizes research that supports the use of runtime models, and points out different issues and research questions.","PeriodicalId":264527,"journal":{"name":"2009 ICSE Workshop on Modeling in Software Engineering","volume":"125 8 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2009-05-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121633389","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":"Tailoring a model-driven Quality-of-Service DSL for various stakeholders","authors":"Ernst Oberortner, Uwe Zdun, S. Dustdar","doi":"10.1109/MISE.2009.5069892","DOIUrl":"https://doi.org/10.1109/MISE.2009.5069892","url":null,"abstract":"Many service-oriented business systems have to comply to various contracts and agreements. Multiple technical and non-technical stakeholders with different background and knowledge are involved in modeling such business concerns. In many cases, these concerns are only encoded in the technical models and implementations of the systems, making it hard for non-technical stakeholders to get involved in the modeling process. In this paper we propose to tackle this problem by providing model-driven Domain-specific Languages (DSL) for specifying the contracts and agreements, as well as an approach to separate these DSLs into sub-languages at different abstraction levels, where each sub-language is tailored for the appropriate stakeholders. We exemplify our approach by describing a Quality-of-Service (QoS) DSL which can be used to describe Service Level Agreements (SLA). This work provides insights into how DSLs can be utilized to model and enrich service-oriented business systems with concerns defined in contracts and agreements.","PeriodicalId":264527,"journal":{"name":"2009 ICSE Workshop on Modeling in Software Engineering","volume":"16 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2009-05-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126766324","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":"Non-functional requirements analysis modeling for software product lines","authors":"Q. Nguyen","doi":"10.1109/MISE.2009.5069898","DOIUrl":"https://doi.org/10.1109/MISE.2009.5069898","url":null,"abstract":"In most IT projects, software developers usually pay attention to functional requirements that satisfy business needs of the system. Non-functional requirements (NFR) such as performance, usability, security, etc. are usually handled ad-hoc during the system testing phase, when it is late and costly to fix problems. Due to the importance and criticality of NFR, I study the problem of modeling NFR for Software Product Lines (SPL), which adds yet an additional dimension of complexity. This paper will survey the software engineering literature, in search of a systematic way to analyze and design NFR, from the perspectives of the concept of commonality and variability of SPL and the characteristics of NFR. Finally, I will propose a methodology based on the extension of Product Line UML-Based Software Engineering (PLUS) techniques, for a unified and automated method to model NFR throughout all phases of SPL engineering.","PeriodicalId":264527,"journal":{"name":"2009 ICSE Workshop on Modeling in Software Engineering","volume":"10 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2009-05-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133476568","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":"Formal specification of system functions","authors":"B. Spanfelner, C. Leuxner, W. Sitou","doi":"10.1109/MISE.2009.5069893","DOIUrl":"https://doi.org/10.1109/MISE.2009.5069893","url":null,"abstract":"Today's software systems tend more and more to comprise a multitude of different, often interfering functionalities. Especially in the case of embedded systems with their high requirements on safety this imposes additional risks for unwanted system behavior. Use cases are a common way to describe system functionalities in very early phases of the system design. Systematically translating these use cases into formal models in terms of system functions or services, respectively, constitutes a logical next step resulting in formal, service-oriented models. These models may facilitate validation activities, but are not efficient for formal verification. In this paper we propose an algebraic approach to specifying system functions as services. The proposed approach allows for model restructuring and transformation heading towards sufficing both requirements: intuitive validation and more efficient formal verification.","PeriodicalId":264527,"journal":{"name":"2009 ICSE Workshop on Modeling in Software Engineering","volume":"47 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2009-05-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114258863","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. Chaki, J. A. D. Pace, D. Garlan, A. Gurfinkel, I. Ozkaya
{"title":"Towards engineered architecture evolution","authors":"S. Chaki, J. A. D. Pace, D. Garlan, A. Gurfinkel, I. Ozkaya","doi":"10.1109/MISE.2009.5069889","DOIUrl":"https://doi.org/10.1109/MISE.2009.5069889","url":null,"abstract":"Architecture evolution, a key aspect of software evolution, is typically done in an ad hoc manner, guided only by the competence of the architect performing it. This process lacks the rigor of an engineering discipline. In this paper, we argue that architecture evolution must be engineered — based on rational decisions that are supported by formal models and objective analyses. We believe that evolutions of a restricted form — close-ended evolution, where the starting and ending design points are known a priori — are amenable to being engineered. We discuss some of the key challenges in engineering close-ended evolution. We present a conceptual framework in which an architecture evolutionary trajectory is modeled as a sequence of steps, each captured by an operator. The goal of our framework is to support exploration and objective evaluation of different evolutionary trajectories. We conclude with open research questions in developing this framework.","PeriodicalId":264527,"journal":{"name":"2009 ICSE Workshop on Modeling in Software Engineering","volume":"47 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2009-05-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125402732","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":"Finding inconsistency for UML-based composition at program level","authors":"H. Chavez, Wuwei Shen","doi":"10.1109/MISE.2009.5069894","DOIUrl":"https://doi.org/10.1109/MISE.2009.5069894","url":null,"abstract":"In this paper, we study how to enforce the composition based on the Unified Modeling Language (UML 2.0) at the program level. We develop a novel technique for automatically detecting the inconsistency for composition between a class diagram and its implementation program using a software model checker. Specifically, given the attributes that are intended to implement composition in a UML class diagram, our approach checks the composition property in two steps. First, our approach systematically generates all valid object diagrams, i.e. valid input program states. Second, after a method to destroy the owner object is called on each object diagram, our approach checks whether all external links to the owned objects have been removed. Central to this approach is how to prune away the large search space that includes all valid input program states.","PeriodicalId":264527,"journal":{"name":"2009 ICSE Workshop on Modeling in Software Engineering","volume":"13 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2009-05-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121495694","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}