{"title":"Principles and methods for elastic computing","authors":"S. Dustdar","doi":"10.1145/2602458.2611455","DOIUrl":"https://doi.org/10.1145/2602458.2611455","url":null,"abstract":"In this talk I will address one of the most relevant challenges for a decade to come: How to design, model, and execute distributed systems utilizing the Internet of Things, software services, as well as human based services, considering modern Cloud Computing and Elasticity principles. Elasticity is seen as one of the main characteristics of Cloud Computing today. Is elasticity simply scalability on steroids? In this talk I will discuss the main principles of elasticity, present a fresh look at this problem, and examine how to integrate people, software services, and things into one composite system, which can be modeled, programmed, and deployed on a large scale in an elastic way.","PeriodicalId":399536,"journal":{"name":"International Symposium on Component-Based Software Engineering","volume":"66 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-06-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124894197","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}
Koutheir Attouchi, Gaël Thomas, A. Bottaro, Gilles Muller
{"title":"Memory monitoring in a multi-tenant OSGi execution environment","authors":"Koutheir Attouchi, Gaël Thomas, A. Bottaro, Gilles Muller","doi":"10.1145/2602458.2602467","DOIUrl":"https://doi.org/10.1145/2602458.2602467","url":null,"abstract":"Smart Home market players aim to deploy component-based and service-oriented applications from untrusted third party providers on a single OSGi execution environment. This creates the risk of resource abuse by buggy and malicious applications, which raises the need for resource monitoring mechanisms. Existing resource monitoring solutions either are too intrusive or fail to identify the relevant resource consumer in numerous multi-tenant situations. This paper proposes a system to monitor the memory consumed by each tenant, while allowing them to continue communicating directly to render services. We propose a solution based on a list of configurable resource accounting rules between tenants, which is far less intrusive than existing OSGi monitoring systems. We modified an experimental Java Virtual Machine in order to provide the memory monitoring features for the multi-tenant OSGi environment. Our evaluation of the memory monitoring mechanism on the DaCapo benchmarks shows an overhead below 46%.","PeriodicalId":399536,"journal":{"name":"International Symposium on Component-Based Software Engineering","volume":"10 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-06-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131945071","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}
G. Delaval, Soguy Mak Karé Gueye, É. Rutten, N. D. Palma
{"title":"Modular coordination of multiple autonomic managers","authors":"G. Delaval, Soguy Mak Karé Gueye, É. Rutten, N. D. Palma","doi":"10.1145/2602458.2602465","DOIUrl":"https://doi.org/10.1145/2602458.2602465","url":null,"abstract":"Complex computing systems are increasingly self-adaptive, with an autonomic computing approach for their administration. Real systems require the co-existence of multiple autonomic management loops, each complex to design. However their uncoordinated co-existence leads to performance degradation and possibly to inconsistency. There is a need for methodological supports facilitating the coordination of multiple autonomic managers. In this paper we propose a method focusing on the discrete control of the interactions of managers. We follow a component-based approach and explore modular discrete control, allowing to break down the combinatorial complexity inherent to the state-space exploration technique. This improves scalability of the approach and allows constructing a hierarchical control. It also allows re-using complex managers in different contexts without modifying their control specifications. We build a component-based coordination of managers, with introspection, adaptivity and reconfiguration. We validate our method on a multiple-loop multi-tier system.","PeriodicalId":399536,"journal":{"name":"International Symposium on Component-Based Software Engineering","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-06-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131070035","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":"Architecture internalisation in BIP","authors":"S. Bliudze, J. Sifakis, M. Bozga, Mohamad Jaber","doi":"10.1145/2602458.2602477","DOIUrl":"https://doi.org/10.1145/2602458.2602477","url":null,"abstract":"We consider two approaches for building component-based systems, which we call respectively architecture-based and architecture-agnostic. The former consists in describing coordination constraints in a purely declarative manner through parametrizable glue operators; it provides higher abstraction level and, consequently, stronger correctness by construction. The latter uses simple fixed coordination primitives, which are spread across component behaviour; it is more error-prone, but allows performance optimisation. We study architecture internalisation leading from an architecture-based system to an equivalent architecture-agnostic one, focusing, in particular, on component-based systems described in BIP. BIP uses connectors for hierarchical composition of components. We study connector internalisation in three steps. 1) We introduce and study the properties of interaction expressions, which represent the combined information about all the effects of an interaction. We show that they are a very powerful tool for specifying and analysing structured interaction. 2) We formalize the connector semantics of BIP by using interaction expressions. The formalization proves to be mathematically rigorous and concise. 3) We introduce the T/B component model and provide a semantics preserving translation of BIP into this model. The translation is compositional that is, it preserves the structure of the source models. The results are illustrated by simple examples. A Java implementation is evaluated on two case studies.","PeriodicalId":399536,"journal":{"name":"International Symposium on Component-Based Software Engineering","volume":"306 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-06-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123669405","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":"Using a model to generate reconfiguration plans at runtime","authors":"Marco Eugênio Madeira Di Beneditto, C. Werner","doi":"10.1145/2602458.2602466","DOIUrl":"https://doi.org/10.1145/2602458.2602466","url":null,"abstract":"In this paper, we present a reconfiguration procedure that generates a software reconfiguration sequence at runtime, being architecturally-consistent in respect to the components, compositions and connections provided by the underlying component model. Besides this, the procedure also regards the state for reconfiguration. Our procedure is based on the concept of Automated Planning, an Artificial Intelligence area. Given two architectural configurations, the procedure generates, if existing, a sequence of reconfigurations actions that will drive the architectural evolution among the configurations. The procedure can also generate an initialization sequence when the current configuration is empty, and the goal configuration represents a functional application. We generated the procedure for the Fractal component model and applied it to a publish/subscribe communications software developed in Fractal, as a proof of concept.","PeriodicalId":399536,"journal":{"name":"International Symposium on Component-Based Software Engineering","volume":"140 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-06-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126700371","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":"Robust reconfiguration of cloud applications","authors":"F. Durán, Gwen Salaün","doi":"10.1145/2602458.2602479","DOIUrl":"https://doi.org/10.1145/2602458.2602479","url":null,"abstract":"Cloud applications involve a set of interconnected software components running on remote virtual machines. Once cloud applications are deployed, one may need to reconfigure them by adding/removing virtual machines or components hosted on these machines. These tasks are error-prone since they must preserve the application consistency and respect important architectural invariants related to software dependencies. We present in this paper a protocol for automating these reconfiguration tasks.","PeriodicalId":399536,"journal":{"name":"International Symposium on Component-Based Software Engineering","volume":"32 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-06-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132392785","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":"AO-OpenCom: an AO-middleware architecture supporting flexible dynamic reconfiguration","authors":"Bholanathsingh Surajbali, P. Grace, G. Coulson","doi":"10.1145/2602458.2602472","DOIUrl":"https://doi.org/10.1145/2602458.2602472","url":null,"abstract":"Middleware has emerged as a key technology in the construction of distributed systems. As a consequence, middleware is increasingly required to be highly modular and configurable, to support separation of concerns between services, and, crucially, to support dynamic reconfiguration: i.e. to be capable of being changed while running. Aspect-oriented middleware is a promising technology for the realisation of distributed reconfiguration in distributed systems. In this paper we propose an aspect-oriented middleware platform called AO-OpenCom that builds AO-based reconfiguration on top of a dynamic component approach to middleware system composition. The goal is to support extremely flexible dynamic reconfiguration that can be applied at all levels of the system and uniformly across the distributed environment. We evaluate our platform by the capability in meeting flexible reconfiguration and the impact of these overheads.","PeriodicalId":399536,"journal":{"name":"International Symposium on Component-Based Software Engineering","volume":"29 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-06-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115197469","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":"Ensuring application integrity in shared sensing environments","authors":"P. Cid, D. Hughes, Sam Michiels, W. Joosen","doi":"10.1145/2602458.2602474","DOIUrl":"https://doi.org/10.1145/2602458.2602474","url":null,"abstract":"Smart Environments, such as smart offices, must support multiple applications that are deployed and managed by different parties. Smart Environments are always on and application software must therefore be deployed, configured and reconfigured while the system is running. Re-configurable component models provide the basic mechanisms necessary to achieve run-time reconfiguration. However, in cases with shared component instances, ensuring application integrity during 3rd party reconfiguration leads to high developer effort and disruption. This paper addresses this problem through Composition-Swapping, an extension of re-configurable component models wherein state management delegation and extended component meta-data are used to support component-sharing and ensure application integrity. We demonstrate that Composition-Swapping reduces reconfiguration effort and disruption for four concurrently running applications on a real-world smart office environment.","PeriodicalId":399536,"journal":{"name":"International Symposium on Component-Based Software Engineering","volume":"12 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-06-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116628599","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":"Software component models: past, present and future","authors":"K. Lau","doi":"10.1145/2602458.2611456","DOIUrl":"https://doi.org/10.1145/2602458.2611456","url":null,"abstract":"In the early years of the CBSE Symposium, much research was focused on identifying the desiderata of CBSE and developing different approaches to CBSE. However, a common framework for defining and analysing CBSE approaches with respect to these desiderata was only introduced later: this was provided by the notion of component models.\u0000 Every CBSE approach is underpinned by a component model, and therefore the study of component models, in particular how to define ones that can potentially meet the desiderata of CBSE, is pivotal to the success of CBSE.\u0000 We have surveyed and studied existing CBSE approaches and their corresponding component models, and as a result we have: (i) shown that early approaches/models do not fully meet the CBSE desiderata; (ii) identified criteria for designing component models that can better meet the CBSE desiderata; (iii) defined a new component model according to (ii); (iv) defined a taxonomy of existing component models based on the desiderata.\u0000 In addition to the classic desiderata, nowadays CBSE has to address new challenges posed by an unprecedented increase in the scale and complexity of software applications, in particular safety-critical ones. As a result, there are new CBSE desiderata for which we need to define new models.\u0000 In this tutorial, we will: (i) present a taxonomy of existing component models, both old and new; (ii) discuss how well they meet the classic desiderata; (iii) discuss criteria that new models must meet in order to address future CBSE challenges.\u0000 The CBSE Symposium celebrated its fifteenth anniversary in 2012. For the next 15 years, the study of component models will continue to play a pivotal role in future CBSE success. This tutorial aims to contribute to this effort.","PeriodicalId":399536,"journal":{"name":"International Symposium on Component-Based Software Engineering","volume":"42 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-06-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126626829","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 specification schema for software connectors","authors":"Thomas Slotos","doi":"10.1145/2602458.2602464","DOIUrl":"https://doi.org/10.1145/2602458.2602464","url":null,"abstract":"Since the invention of the connectors that serve as one of the building blocks of software architecture, various researchers have described the characteristics of connectors that they have discovered in given software systems. These characteristics have frequently been revealed by employing a bottom-up approach to different disciplines of software engineering. As a consequence, numerous attributes of connectors have been introduced at a rather technical level, and the vocabulary regarding specific aspects of connectors is highly heterogeneous. This eclectic list of attributes is not an appropriate abstraction level for an architect when developing connectors for application software. Instead, it would be more helpful to have a framework that begins from a conceptual perspective and guides the software architect in identifying the attributes required for a specific connector. To this end, a hierarchical schema for specifying software connectors is proposed in this paper. In contrast to existing schemas in which either the attributes considered are few in number and ungrouped or the attribute specification and grouping was not the main focus of the research, this paper presents a homogenous specification schema at different levels of abstraction and is based on logical perspectives rather than technical features. The schema can support architects in various situations--such as connector selection and documentation--and can aid in implementing or generating concrete software connectors. The application of the schema will be demonstrated by specifying a software connector between Twitter and an application.","PeriodicalId":399536,"journal":{"name":"International Symposium on Component-Based Software Engineering","volume":"44 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-06-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122235225","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}