{"title":"Handling multiple quality attributes trade-off in architecture-based self-adaptive systems","authors":"Sara Mahdavi-Hezavehi","doi":"10.1145/2993412.3010822","DOIUrl":"https://doi.org/10.1145/2993412.3010822","url":null,"abstract":"Self-adaptive systems are capable of autonomously making runtime decisions in order to deal with uncertain circumstances. In architecture-based self-adaptive (ABSA) systems the feedback loop uses self-reflecting models to perform decision making and ultimately apply adaptation to the system. One aspect of this decision making mechanism is to handle systems' quality attributes trade-off. An ABSA system is required to address the potential impacts of adaptation on multiple quality attributes, and select the adaptation option which satisfies the quality attributes of the system the best. In this PhD project, we study and propose an architecture-based solution which uses runtime knowledge of the systems and its environment to handle quality attributes trade-off and decision making mechanism in presence of system's quality goals uncertainty. For validation, we will a) create and set up case studies in various domains, and b) use exemplars to benchmark our proposed method with existing approaches.","PeriodicalId":409631,"journal":{"name":"Proccedings of the 10th European Conference on Software Architecture Workshops","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2016-11-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129255853","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 interface diversified honeypot for malware analysis","authors":"S. Laurén, Sampsa Rauti, V. Leppänen","doi":"10.1145/2993412.2993417","DOIUrl":"https://doi.org/10.1145/2993412.2993417","url":null,"abstract":"Defending information systems against advanced attacks is a challenging task; even if all the systems have been properly updated and all the known vulnerabilities have been patched, there is still the possibility of previously unknown zero day attack compromising the system. Honeypots offer a more proactive tool for detecting possible attacks. What is more, they can act as a tool for understanding attackers intentions. In this paper, we propose a design for a diversified honeypot. By increasing variability present in software, diversification decreases the number of assumptions an attacker can make about the target system.","PeriodicalId":409631,"journal":{"name":"Proccedings of the 10th European Conference on Software Architecture Workshops","volume":"17 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2016-11-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121919972","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}
Simone da Silva Amorim, E. Almeida, J. McGregor, C. Chavez
{"title":"Towards an evaluation method for software ecosystem practices","authors":"Simone da Silva Amorim, E. Almeida, J. McGregor, C. Chavez","doi":"10.1145/2993412.3003386","DOIUrl":"https://doi.org/10.1145/2993412.3003386","url":null,"abstract":"Many software ecosystems have achieved success in recent years. Practices adopted by them are responsible for guiding their evolution and keeping the ecosystem health. However, there is not an accepted quality process model, framework or method for evaluating the essential practices that are commonly used in a software ecosystem. This paper proposes an evaluation method for software ecosystem practices and a research plan for developing such a method. We focus on the practices and metrics that can improve various facets of the ecosystem, and contributes to achieving good health for the ecosystem. These practices and metrics are modeled by three views of the ecosystem: community, business and technical. We illustrate an initial representation that summarizes the steps of the method and the identification of key areas that are relevant to the practices.","PeriodicalId":409631,"journal":{"name":"Proccedings of the 10th European Conference on Software Architecture Workshops","volume":"25 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2016-11-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116477097","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}
Simone da Silva Amorim, J. McGregor, E. Almeida, C. Chavez
{"title":"Software ecosystems architectural health: challenges x practices","authors":"Simone da Silva Amorim, J. McGregor, E. Almeida, C. Chavez","doi":"10.1145/2993412.3011881","DOIUrl":"https://doi.org/10.1145/2993412.3011881","url":null,"abstract":"Over time many software ecosystems have achieved success. Several organizations are opening their software projects for external businesses, creating an multi-organizational government to development their software platform The software architecture has an important participation in this success. In this context, there are some studies describing architectural challenges for software ecosystems, but little research is investigating how these challenges are being faced by software ecosystems organizations. This paper presents an initial investigation how open source software (OSS) ecosystems have faced several architectural challenges. We conducted interviews with three architects of different OSS ecosystems and gathered some architectural practices to lead with challenges. We also analyzed how these architectural practices have influenced the software ecosystem health, introducing the concept of Software Ecosystems Architectural Health.","PeriodicalId":409631,"journal":{"name":"Proccedings of the 10th European Conference on Software Architecture Workshops","volume":"4 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2016-11-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124198675","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-based development of sustainable cyber-physical systems including requirement formalization using the openModelica model-based development toolkit","authors":"P. Fritzson","doi":"10.1145/2993412.3004843","DOIUrl":"https://doi.org/10.1145/2993412.3004843","url":null,"abstract":"Large-scale and increasingly software-defined systems in power and factory automation are very long-lived. Longevity requires sustainability - economically, environmentally and last but not least in terms of usability. Sustainability therefore requires continuous change. In this talk we look at handling requirements, models, and implementations in a model-driven formal way that lends itself to a more systematic change tracking than 'traditional' software development approaches and languages, but that also crosses boundaries of software-controlled physical equipment models (so-called cyber-physical systems), distributed digital control (networked systems) and software services. The industry is currently seeing a rapid development of cyber-physical system products. The systems that are developed have increasing demands of sustainability, dependability and usability. Moreover, lead time and cost efficiency continue to be essential for industry competitiveness. Extensive use of modeling and simulation - Model-Based Systems Engineering (MBSE) tools - throughout the value chain and system life-cycle is one of the most important ways to effectively target these challenges. Simultaneously there is an increased interest in open source tools that allow more control of tool features and support, and increased cooperation and shared access to knowledge and innovations between organizations. In this talk we briefly present technology and open source tooling for MBSE based on the Modelica and UML standards, supported by tools such as OpenModelica and Papyrus respectively. Modelica is a modern, strongly typed, declarative, equation-based, and object-oriented language for modeling and simulation of complex cyber-physical systems, whereas UML is a wide-spread industrial standard for software modeling. We present the OpenModelica open source MBSE environment including the ModelicaML Eclipse plug-in integrating Modelica and UML, covering the development process starting from business processes, via requirements, to models, which can be compiled to simulations or to product code. An important question is whether a particular system design fulfills or violates requirements that are imposed on the system under development. We give examples of case studies starting with natural-language requirements and show briefly how they are translated into models. Then, designs and verification scenarios are modeled, and simulation models are composed and simulated automatically. The simulation results produced can then be used to draw conclusions on requirement fulfillment. Other features of the environment are meta modeling for efficient model transformations, the Functional Mockup Interface for general tool integration, model-based optimization, as well as generation of parallel code for multi-core architectures.","PeriodicalId":409631,"journal":{"name":"Proccedings of the 10th European Conference on Software Architecture Workshops","volume":"16 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2016-11-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115382496","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}
B. Boss, Christian Tischer, Sreejith Krishnan, Arun Nutakki, V. Gopinath
{"title":"Setting up architectural SW health builds in a new product line generation","authors":"B. Boss, Christian Tischer, Sreejith Krishnan, Arun Nutakki, V. Gopinath","doi":"10.1145/2993412.3003392","DOIUrl":"https://doi.org/10.1145/2993412.3003392","url":null,"abstract":"Setting up a new product line generation in a mature domain, typically does not start from scratch but takes into consideration the architecture and assets of the former product line generation. Being able to accommodate legacy and 3rd party code is one of the major product line qualities to be met. On the other side, product line qualities like reusability, maintainability and alterability, i.e. being able to cope up with a large amount of variability, with configurability and fast integratability are major drivers. While setting up a new product line generation and thus a new corresponding architecture, we this time focused on architectural software (SW) health and tracking of architectural metrics from the very beginning. Taking the definition of \"architecture being a set of design decisions\" [18] literally, we attempt to implement an architectural check for every design decision taken. Architectural design decisions in our understanding do not only - and even not mainly - deal with the definition of components and their interaction but with patterns and rules or anti-patterns. The rules and anti-patterns, \"what not to do\" or more often also \"what not to do any more\", is even more important in setting up a new product line generation because developers are not only used to the old style of developing and the old architecture, but also still have to develop assets for both generations. In this article we describe selected architectural checks that we have implemented, the layered architecture check and the check for usage of obsolete services. Additionally we discuss selected architectural metrics: the coupling coefficient metrics and the instability metrics. In the summary and outlook we describe our experiences and still open topics in setting up architectural SW health checks for a large-scale product line. The real-world examples are taken from the domain of Engine Control Unit development at Robert Bosch GmbH.","PeriodicalId":409631,"journal":{"name":"Proccedings of the 10th European Conference on Software Architecture Workshops","volume":"9 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2016-11-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128309043","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}
Deepak Krishna, Vikas Kumar Jha, Mohammad Sharaf, H. Muccini
{"title":"On the use of security principles and practices for architecting cyber-physical systems","authors":"Deepak Krishna, Vikas Kumar Jha, Mohammad Sharaf, H. Muccini","doi":"10.1145/2993412.3007553","DOIUrl":"https://doi.org/10.1145/2993412.3007553","url":null,"abstract":"Context: Security has become a major concern for modern Cyber-Physical Systems (CPS), due to their distributed, sensing, actuating, and always connected nature. A considerable number of security principles and practices have been defined by the security communities and are being implemented in architecting secure CPS. Objective: The main question we are looking for an answer in this work is on how security principles have been used while architecting secure CPS. Method: We conducted a systematic literature review by searching four major scientific databases, resulting in 1591 candidate studies and eventually retaining 32 primary studies included for data collection after applying inclusion and exclusion criteria. Results: 81% of the studies use architectural patterns in designing systems. Among the security principles used integrity is an attribute that is implemented in systems most frequently (53%) followed by confidentiality (43%) and availability (37%).Often these principles are applied in combination with each other. More than 31% of design implementation do not consider any architectural styles while implementing security in CPS. Only 9% of studies suggests security is applied ubiquitously across all relevant CPS components. Conclusions: Our analysis shows that the traditional practice to only add security as an additional layer/component into the CPS is still in place, as opposed to the real need to ensure the security of all relevant components. There is a lack of uniformity in the application of security principles in designing CPS.","PeriodicalId":409631,"journal":{"name":"Proccedings of the 10th European Conference on Software Architecture Workshops","volume":"183 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2016-11-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124617391","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 study about architectural requirements in a transition from product to software platform","authors":"A. Gusmão, C. D. Souza, R. Reis, A. Lima","doi":"10.1145/2993412.3003388","DOIUrl":"https://doi.org/10.1145/2993412.3003388","url":null,"abstract":"Software ecosystems gained attention from the industry by establishing a network of users, partners, and service providers. Several companies are interested in establishing their own ecosystems due to the business advantages they bring. However, it is not clear how a company should go about doing this. This paper describes a case study about the transition from a software product to a software platform aimed at supporting an ecosystem. A software platform is responsible for managing an ecosystem's extensions, therefore its software architecture is essential to facilitate the establishment of an ecosystem. This transition is supported by a set of architectural requirements for a software platform that we introduce. We also discuss the required changes in the software product architecture to support a platform.","PeriodicalId":409631,"journal":{"name":"Proccedings of the 10th European Conference on Software Architecture Workshops","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2016-11-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130728340","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 rule-based approach for evolution of AADL models based on changes in functional requirements","authors":"Arda Goknil, I. Kurtev, K. V. D. Berg","doi":"10.1145/2993412.3004846","DOIUrl":"https://doi.org/10.1145/2993412.3004846","url":null,"abstract":"The increasing complexity of software systems makes change management costly and time consuming. To ensure the cost-effective system longevity and endurance, it is crucial to apply change management in the early stages of software development. In this paper, we introduce a rule-based approach to make software architecture evolving based on counter examples provided by a model checker for violated, changing functional requirements. The approach works on software architecture in AADL and is based on verifying functional requirements using Maude model checker. Our goal is to provide guidelines to the architect about potential changes. Using an industrial example, we show how our approach helps in determining changes to produce a new version of the architecture.","PeriodicalId":409631,"journal":{"name":"Proccedings of the 10th European Conference on Software Architecture Workshops","volume":"15 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2016-11-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133601575","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}
Sebastian Gerdes, Stefanie Jasser, Matthias Riebisch, Sandra Schröder, Mohamed Soliman, T. Stehle
{"title":"Towards the essentials of architecture documentation for avoiding architecture erosion","authors":"Sebastian Gerdes, Stefanie Jasser, Matthias Riebisch, Sandra Schröder, Mohamed Soliman, T. Stehle","doi":"10.1145/2993412.3004844","DOIUrl":"https://doi.org/10.1145/2993412.3004844","url":null,"abstract":"Software architecture documentation is essential for preventing architecture erosion that is a major concern of sustainable software systems. However, the high effort for elaboration and maintenance of architecture documentation hinders its acceptance in practice. Most state-of-the-art research methods assume comprehensive architecture documentation. By reducing architecture documentation to those aspects that are most important for architecture erosion, we want to achieve more acceptance for architecture documentation especially in agile projects. This reduction, however, has effects on architecture-related activities during software design and implementation.","PeriodicalId":409631,"journal":{"name":"Proccedings of the 10th European Conference on Software Architecture Workshops","volume":"39 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2016-11-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116667874","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}