{"title":"Executing reconfigurations in hierarchical component architectures","authors":"Christian Heinzemann, Steffen Becker","doi":"10.1145/2465449.2465452","DOIUrl":"https://doi.org/10.1145/2465449.2465452","url":null,"abstract":"Mechatronic systems reconfigure the structure of their software architecture, e.g., to avoid hazardous situations or to optimize operational conditions like minimizing their energy consumption. As software architectures are typically build on components, reconfiguration actions need to respect the component structure. This structure should be hierarchical to enable encapsulated components. While many reconfiguration approaches for embedded real-time systems allow the use of hierarchically embedded components, i.e., horizontal composition, none of them offers a modeling and verification solution to take hierarchical composition, i.e., encapsulation, into account. In this paper, we present an extension to our existing modeling language, muml, to enable safe hierarchical reconfigurations. The two main extensions are (a) an adapted variant of the two-phase commit protocol to initiate reconfigurations which maintain component encapsulation and (b) a timed model checking verification approach for instances of our model. We illustrate our approach on a case study in the area of smart railway systems by showing two different use cases of our approach and the verification of their safety properties.","PeriodicalId":399536,"journal":{"name":"International Symposium on Component-Based Software Engineering","volume":"16 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-06-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125677230","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 incremental verification framework for component-based software systems","authors":"Kenneth Johnson, R. Calinescu, S. Kikuchi","doi":"10.1145/2465449.2465456","DOIUrl":"https://doi.org/10.1145/2465449.2465456","url":null,"abstract":"We present a tool-supported framework for the efficient reverification of component-based software systems after changes such as additions, removals or modifications of components. The incremental verification engine at the core of our INcremental VErification STrategy (INVEST) framework uses high-level algebraic representations of component-based systems to identify and execute the minimal set of component-wise reverification steps after a system change. The generality of the INVEST engine allows its integration with existing assume-guarantee verification paradigms. We illustrate this integration for an existing technique for the assume-guarantee verification of probabilistic systems. The resulting instance of the INVEST framework can reverify probabilistic safety properties of a cloud-deployed software system in a fraction of the time required by compositional assume-guarantee verification alone.","PeriodicalId":399536,"journal":{"name":"International Symposium on Component-Based Software Engineering","volume":"15 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-06-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129209516","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":"CIAO: a component model and its OSGi framework for dynamically adaptable telephony applications","authors":"Gilles Vanwormhoudt, A. Flissi","doi":"10.1145/2465449.2465465","DOIUrl":"https://doi.org/10.1145/2465449.2465465","url":null,"abstract":"In recent years, thanks to new IP protocols like SIP, telephony applications and services have evolved to offer and combine a variety of communication forms including presence status, instant messaging and videoconference. As a result, advanced telephony applications now consist of distributed entities that are involved into multiple heterogeneous, stateful and long-running interactions (sessions). This evolution complicated significantly applications development and calls for more effective solutions. In this paper, we explore the adoption of components for addressing this issue, focusing specifically on the management and coordination of the numerous and various sessions occurring in such applications. The paper presents CIAO, a domain-specific and hierarchical component model for SIP applications. CIAO combines three kinds of component that are Actor, SessionPart and Role and manage them dynamically in accordance with real SIP sessions. By using these features, we are able to break the complexity of SIP entities and provide flexibility for their development. CIAO is implemented above OSGi to experiment the building of concrete SIP applications and enable their dynamic adaptation.","PeriodicalId":399536,"journal":{"name":"International Symposium on Component-Based Software Engineering","volume":"03 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-06-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129920301","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. Barnat, Nikola Benes, I. Cerná, Zuzana Petruchová
{"title":"DCCL: verification of component systems with ensembles","authors":"J. Barnat, Nikola Benes, I. Cerná, Zuzana Petruchová","doi":"10.1145/2465449.2465453","DOIUrl":"https://doi.org/10.1145/2465449.2465453","url":null,"abstract":"Current trends in computing include building distributed systems out of autonomous adaptive components. Communication between the components may be local and communication channels may change over time. This emergent behaviour of communication may be seen as the creation and dissolution of component ensembles. Clearly, correctness of such systems is an important issue. We provide a verification-oriented modelling language for describing these component-ensemble systems as well as a verification tool. The processes of the components as well as the ensemble communication are described in a C++-like fashion. The tool is an extension of the parallel and distributed verification environment DiVinE. We also describe several demonstrative examples and use them to experimentally evaluate our approach.","PeriodicalId":399536,"journal":{"name":"International Symposium on Component-Based Software Engineering","volume":"223 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-06-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132384599","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}
T. Bures, I. Gerostathopoulos, P. Hnetynka, Jaroslav Keznikl, M. Kit, F. Plášil
{"title":"DEECO: an ensemble-based component system","authors":"T. Bures, I. Gerostathopoulos, P. Hnetynka, Jaroslav Keznikl, M. Kit, F. Plášil","doi":"10.1145/2465449.2465462","DOIUrl":"https://doi.org/10.1145/2465449.2465462","url":null,"abstract":"The recent increase in the ubiquity and connectivity of computing devices allows forming large-scale distributed systems that respond to and influence activities in their environment. Engineering of such systems is very complex because of their inherent dynamicity, open-endedness, and autonomicity. In this paper we propose a new class of component systems (Ensemble-Based Component Systems - EBCS) which bind autonomic components with cyclic execution via dynamic component ensembles controlling data exchange. EBCS combine the key ideas of agents, ensemble-oriented systems, and control systems into software engineering concepts based on autonomic components. In particular, we present an instantiation of EBCS - the DEECo component model. In addition to DEECo main concepts, we also describe its computation model and mapping to Java. Lastly, we outline the basic principles of the EBCS/DEECo development process.","PeriodicalId":399536,"journal":{"name":"International Symposium on Component-Based Software Engineering","volume":"173 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-06-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114170907","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}
Quentin Enard, M. Stoicescu, E. Balland, C. Consel, L. Duchien, J. Fabre, Matthieu Roy
{"title":"Design-driven development methodology for resilient computing","authors":"Quentin Enard, M. Stoicescu, E. Balland, C. Consel, L. Duchien, J. Fabre, Matthieu Roy","doi":"10.1145/2465449.2465458","DOIUrl":"https://doi.org/10.1145/2465449.2465458","url":null,"abstract":"Resilient computing is defined as the ability of a system to stay dependable when facing changes. To mitigate faults at runtime, dependable systems are augmented with fault tolerance mechanisms such as replication techniques. These mechanisms have to be systematically and rigorously applied in order to guarantee the conformance between the application runtime behavior and its dependability requirements.\u0000 The main contribution of this paper is to propose a design-driven development methodology for resilient computing systems. Our approach consists of refining the design with specifications dedicated to the dependability concerns. This design is then leveraged to support the development of the application while ensuring the traceability of the dependability requirements along the application life-cycle, including runtime adaptation.","PeriodicalId":399536,"journal":{"name":"International Symposium on Component-Based Software Engineering","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-06-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129330312","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}
Jaroslav Keznikl, T. Bures, F. Plášil, I. Gerostathopoulos, P. Hnetynka, N. Hoch
{"title":"Design of ensemble-based component systems by invariant refinement","authors":"Jaroslav Keznikl, T. Bures, F. Plášil, I. Gerostathopoulos, P. Hnetynka, N. Hoch","doi":"10.1145/2465449.2465457","DOIUrl":"https://doi.org/10.1145/2465449.2465457","url":null,"abstract":"The challenge of developing dynamically-evolving resilient distributed systems that are composed of autonomous components has been partially addressed by introducing the concept of component ensembles. Nevertheless, systematic design of complex ensemble-based systems is still a pressing issue. This stems from the fact that contemporary design methods do not scale in terms of the number and complexity of ensembles and components, and do not efficiently cope with the dynamism involved. To address this issue, we present a novel method - Invariant Refinement Method (IRM) - for designing ensemble-based component systems by building on goal-based requirements elaboration, while integrating component architecture design and software control system design.","PeriodicalId":399536,"journal":{"name":"International Symposium on Component-Based Software Engineering","volume":"19 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-06-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131968308","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":"Controller patterns for component-based reactive control software systems","authors":"Petr Stepan, K. Lau","doi":"10.1145/2304736.2304749","DOIUrl":"https://doi.org/10.1145/2304736.2304749","url":null,"abstract":"It is considered good practice in control software design to distinguish computation and coordination on the architectural level. Current component models largely fail to provide distinct abstractions for that purpose. In this paper, we introduce such distinct abstractions. In particular, we introduce controller patterns, an abstraction for defining coordination in the context of component-based software development. We present their definition and demonstrate their usage in a case study, conducted in our prototype tool.","PeriodicalId":399536,"journal":{"name":"International Symposium on Component-Based Software Engineering","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2012-06-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124076418","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 well-formed fragment composition with reference attribute grammars","authors":"Sven Karol, Christoff Bürger, U. Assmann","doi":"10.1145/2304736.2304755","DOIUrl":"https://doi.org/10.1145/2304736.2304755","url":null,"abstract":"Invasive Software Composition (ISC) provides a generic, flexible and powerful approach for software composition. Based upon the principles of grey-box composition, ISC systems can compose partial programs (fragments) and provide syntactic (context-free) correct composition results. However, many composition domains require additional composition constraints for fragments (fragment contracts) to guarantee well-formedness of composition results. In this paper, we propose the application of reference attribute grammars (RAGs) for the implementation of ISC systems supporting fragment contracts. We show how RAGs can be used to specify semantics-aware fragment component models on top of a language specification and introduce RAG-based fragment contracts to enable advanced guarantees for fragment composition.","PeriodicalId":399536,"journal":{"name":"International Symposium on Component-Based Software Engineering","volume":"23 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2012-06-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127609128","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}
Mohammad Ghafari, Pooyan Jamshidi, S. Shahbazi, H. Haghighi
{"title":"An architectural approach to ensure globally consistent dynamic reconfiguration of component-based systems","authors":"Mohammad Ghafari, Pooyan Jamshidi, S. Shahbazi, H. Haghighi","doi":"10.1145/2304736.2304765","DOIUrl":"https://doi.org/10.1145/2304736.2304765","url":null,"abstract":"One of the key issues that should be considered when addressing reliable evolution is to place a software system in a consistent status before and after change. This issue becomes more critical at runtime because it may lead to the failure on running mission-critical systems. In order to place the affected elements in a safe state before dynamic changes take place, the notion of tranquility has been proposed to make quiescence criterion less disruptive and easier to obtain. However, it only ensures consistency in applications with restrictive black-box design. In this paper, an architecture-based approach is proposed to preserve global consistency during runtime reconfiguration of component-based systems in distributed contexts. An initial evaluation through a prototypical implementation shows that this approach not only enables tranquility to be applicable for distributed transactions, but also significantly reduces required time to achieve a safe state and increases system availability during runtime evolution.","PeriodicalId":399536,"journal":{"name":"International Symposium on Component-Based Software Engineering","volume":"29 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2012-06-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131563890","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}