{"title":"Defining DSL Expressions Collaboratively in Multidisciplinary Embedded Engineering","authors":"J. D. Sosa, O. Díaz, Salvador Trujillo","doi":"10.1109/SEAA.2011.41","DOIUrl":"https://doi.org/10.1109/SEAA.2011.41","url":null,"abstract":"To a larger extent than in other software applications, embedded systems commonly require the participation of a mixture of engineers that collaboratively produce a piece of software. This makes this area particularly prone to Domain Specific Languages (DSLs). By raising the abstraction level, DSLs facilitate the understanding of a DSL specification by engineers with different backgrounds. By being domain-specific, DSLs makes possible the separation of concerns that are not possible to separate at code level, and this in turn, facilitates the collaborative specification of DSL expressions. However, \"these DSL views\" are rarely orthogonal, and dependencies commonly exist among them. In some cases, task serialization along those dependencies might be a solution but at the cost of reducing task parallelization. Rather, this paper introduces \"an assertive approach\": all DSL view developments are launched from the start, and engineers can request from their mates, who are working on a different view, to prioritize some tasks so that they can continue. Realizing this vision implies: (1) explicitly stating DSL dependencies and (2), the existence of view-aware editors that interpret such dependencies during the collaborative specification of DSL expressions. This approach is borne out by MUVIE, a view-aware DSL editor implemented on top of GMF.","PeriodicalId":107972,"journal":{"name":"2011 37th EUROMICRO Conference on Software Engineering and Advanced Applications","volume":"17 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2011-08-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121274786","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":"Towards a Unified Meta-model for Resources-Constrained Embedded Systems","authors":"A. Ziani, B. Hamid, Salvador Trujillo","doi":"10.1109/SEAA.2011.79","DOIUrl":"https://doi.org/10.1109/SEAA.2011.79","url":null,"abstract":"The complexity in embedded systems is increasing steadily due to richer functionalities offered by more powerful hardware to attain market demands. Model Driven Engineering(MDE) is a promising approach for handling this complexity by using models which help to capture several concerns of these systems. In this paper we analyze the modeling of embedded systems that have restrictions on memory, autonomy, and/or computation processing which refer to RCES (Resources-Constrained Embedded Systems). In particular we study existing works including those from standards and industry such as MARTE, SysML and AADL. The first step is to encompass the different concepts introduced in these works to capture computations and resources. This yields a homogeneous formalism to model RCES and we will propose this formalism as a meta-model. In the same way we propose a modeling framework based on a model library as reusable and composable models for RCES. Finally we are evaluating the feasibility of our approach to an industrial control system that has constraints on software and hardware resources.","PeriodicalId":107972,"journal":{"name":"2011 37th EUROMICRO Conference on Software Engineering and Advanced Applications","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2011-08-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128718167","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}
Christoph Elsner, D. Lohmann, Wolfgang Schröder-Preikschat
{"title":"Fixing Configuration Inconsistencies across File Type Boundaries","authors":"Christoph Elsner, D. Lohmann, Wolfgang Schröder-Preikschat","doi":"10.1109/SEAA.2011.26","DOIUrl":"https://doi.org/10.1109/SEAA.2011.26","url":null,"abstract":"Creating a valid software configuration often involves multiple configuration file types, such as feature models, domain-specific languages, or C header files with preprocessor defines. Enforcing constraints across file types boundaries already at configuration is necessary to prevent inconsistencies, which otherwise are costly to discover and resolve later on. We present a pragmatic framework to specify and apply inconsistency-resolving fixes on configuration files of arbitrary types. The framework converts each configuration file to a model, checks it for consistency, applies fixes, and serializes it back again. We argue that conventionally programmed fixes and round-trip mechanisms (i.e., converters and serializers) are indispensable for practical applicability and can provide sufficient reliability when following usual development practices. We have developed round-trip mechanisms for seven different configuration file types and two fixing mechanisms. One fixing mechanism extends previous work by combining automatic detection of correct fix locations with a marker mechanism that reduces the number of locations. A tool-supported process for applying the fixes provides user guidance and integrates additional semantic validity checks on serialized configuration files of complex types (e.g., feature models). Evaluations reveal a speed up in inconsistency fixing and that the performance of the currently integrated round-tripping and fixing mechanisms is competitive.","PeriodicalId":107972,"journal":{"name":"2011 37th EUROMICRO Conference on Software Engineering and Advanced Applications","volume":"14 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2011-08-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128452746","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}
Héctor Pérez, J. Javier Gutiérrez, E. Asensio, Juan Zamorano, J. A. Puente
{"title":"Model-Driven Development of High-Integrity Distributed Real-Time Systems Using the End-to-End Flow Model","authors":"Héctor Pérez, J. Javier Gutiérrez, E. Asensio, Juan Zamorano, J. A. Puente","doi":"10.1109/SEAA.2011.40","DOIUrl":"https://doi.org/10.1109/SEAA.2011.40","url":null,"abstract":"Building High-integrity Distributed Real-Time (HDRT) systems requires a rigorous methodology to assist in the design and development of verifiable software. This paper describes an approach based on the Model-Driven Engineering (MDE) paradigm to ease the automatic generation of HDRT applications from high-level system models. Since those applications must be amenable to stringent timing analysis, such as the determination of worst-case execution time or schedulability analysis, we present the integration of a set of timing analysis tools with a toolset for MDE. In addition, this paper explores a new approach to integrating the real-time end-to-end flow model with the automatic generation of Raven scar-compliant source code in distribution middleware.","PeriodicalId":107972,"journal":{"name":"2011 37th EUROMICRO Conference on Software Engineering and Advanced Applications","volume":"64 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2011-08-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126627618","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 Modeling and Executable Language for Designing and Prototyping Service-Oriented Applications","authors":"E. Riccobene, P. Scandurra, Fabio Albani","doi":"10.1109/SEAA.2011.12","DOIUrl":"https://doi.org/10.1109/SEAA.2011.12","url":null,"abstract":"This paper presents an intuitive, precise and executable language, SCA-ASM, for model-based design and prototyping of service-oriented applications. The language combines the SCA (Service Component Architecture) capability of modeling and assembling heterogeneous service-oriented components in a technology agnostic way, with the rigor of the Abstract State Machines formal method able to model notions of service behavior, interactions, orchestration, compensation in an abstract but executable way. For an early and quick design evaluation of a composite software application, an SCA-ASM model of a service-oriented component, possibly not yet implemented in code or available as off-the-shelf, can be: (i) simulated and evaluated of fine, i.e. in isolation from the other components, (ii) configured in place within an SCA-compliant runtime platform as abstract implementation (or prototype) of a component and then executed together with the other components implementations according to the chosen SCA assembly.","PeriodicalId":107972,"journal":{"name":"2011 37th EUROMICRO Conference on Software Engineering and Advanced Applications","volume":"68 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2011-08-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127107584","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":"ReL: A Generic Refactoring Language for Specification and Execution","authors":"Thomas Ruhroth, H. Wehrheim, Steffen Ziegert","doi":"10.1109/SEAA.2011.22","DOIUrl":"https://doi.org/10.1109/SEAA.2011.22","url":null,"abstract":"Refactoring is a powerful technique for improving the structural quality of software models and programs. Besides informal, example-driven descriptions of refactorings, a number of languages for specifying refactorings have been developed. Such refactoring languages are either specific to particular programming languages or to particular application purposes. In this paper, we present the generic refactoring language ReL. ReL is a domain-specific language which can be instantiated for any target language with Backus-Naur-style grammar. Thus obtained ReL instances are equally well suited for specifying refactorings and executing them. A tool chain for ReL supports the automatic instantiation for target languages as well as the parsing and execution of refactoring descriptions.","PeriodicalId":107972,"journal":{"name":"2011 37th EUROMICRO Conference on Software Engineering and Advanced Applications","volume":"65 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2011-08-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131381275","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":"Composable Controllers in Fractal: Implementation and Interference Analysis","authors":"Abdelhakim Hannousse, Rémi Douence, Gilles Ardourel","doi":"10.1109/SEAA.2011.18","DOIUrl":"https://doi.org/10.1109/SEAA.2011.18","url":null,"abstract":"Fractal component model provides controllers for adding extra-functional capabilities to component behaviors. However, controllers may interfere one with another and their composition is still a challenge. In this article, we extend Fractal with a support for composing controllers with reusable operators. Then, we discuss how to formally model and analyze, in Uppaal, Fractal systems with several controllers. This enables us to detect when controllers interfere and to check whether their composition is interference-free.","PeriodicalId":107972,"journal":{"name":"2011 37th EUROMICRO Conference on Software Engineering and Advanced Applications","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2011-08-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131444791","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":"Moving from Waterfall to Iterative Development: An Empirical Evaluation of Advantages, Disadvantages and Risks of RUP","authors":"J. A. Osorio, M. Chaudron, W. Heijstek","doi":"10.1109/SEAA.2011.69","DOIUrl":"https://doi.org/10.1109/SEAA.2011.69","url":null,"abstract":"This paper describes an exploratory case study of the benefits of using an iterative development process versus a waterfall process. The study was performed in a division of an IT department of a large multinational company. A set of people in different roles in this organization were interviewed. We triangulated the results with the opinion of experts from other companies and existing literature. The research finds several categories of factors for which the use of iterative development is preferable over waterfall development in terms of business value, however there are also some clear costs and limitations that should be explicitly considered by any company planning on introducing an iterative development process.","PeriodicalId":107972,"journal":{"name":"2011 37th EUROMICRO Conference on Software Engineering and Advanced Applications","volume":"11 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2011-08-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132689602","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":"Method Library Framework for Safety Standard Compliant Process Tailoring","authors":"M. Krammer, E. Armengaud, Quentin Bourrouilh","doi":"10.1109/SEAA.2011.53","DOIUrl":"https://doi.org/10.1109/SEAA.2011.53","url":null,"abstract":"The introduction of the new automotive standard on functional safety ISO 26262 raises different challenges from the process point of view. Hence, a standardized process mapping roles, activities and work products according to ISO 26262 needs to be defined. This process has to be tailored according to the automotive safety integrity level (ASIL) and to company specific practices and teams. In this work, we propose a method content approach modeled with SPEM in order to define and formalize development processes, enabling better management and easier tailoring activities.","PeriodicalId":107972,"journal":{"name":"2011 37th EUROMICRO Conference on Software Engineering and Advanced Applications","volume":"6 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2011-08-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115475392","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. Mubeen, Jukka Mäki-Turja, Mikael Sjödin, Jan Carlson
{"title":"Analyzable Modeling of Legacy Communication in Component-Based Distributed Embedded Systems","authors":"S. Mubeen, Jukka Mäki-Turja, Mikael Sjödin, Jan Carlson","doi":"10.1109/SEAA.2011.43","DOIUrl":"https://doi.org/10.1109/SEAA.2011.43","url":null,"abstract":"We present extensions to the existing industrial component model Rubus Component Model (RCM). By introducing special purpose components to encapsulate and abstract the communication protocols in distributed embedded systems we allow use of legacy nodes and legacy protocols in a component-based and model-based software engineering environment. With the addition of these components, RCM will be able to support state-of-the-practice development processes of distributed embedded systems where communication rules are defined early in the development process. The proposed extension also allows model-based and component-based development of new nodes that are deployed in the legacy systems that use predefined communication rules. We also demonstrate how an end-to-end timing model can be extracted from a distributed embedded system modeled with extended RCM. The extracted model is then used to perform an end-to-end timing analysis that we implemented in the Rubus Analysis Framework.","PeriodicalId":107972,"journal":{"name":"2011 37th EUROMICRO Conference on Software Engineering and Advanced Applications","volume":"15 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2011-08-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125322823","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}