Scispace (Formerly Typeset)
  1. Home
  2. Conferences
  3. Component-Based Software Engineering
  4. 2016
  1. Home
  2. Conferences
  3. Component-Based Software Engineering
  4. 2016
Showing papers presented at "Component-Based Software Engineering in 2016"
Proceedings Article•10.1109/CBSE.2016.14•
OccuRE: An Occupancy REasoning Platform for Occupancy-Driven Applications

[...]

Mikkel Baun Kjærgaard1, Aslak Johansen1, Fisayo Caleb Sangogboye1, Emil Holmegaard1•
University of Southern Denmark1
5 Apr 2016
TL;DR: The design, implementation and evaluation of OccuRE are presented, a stream-based Occupancy REasoning platform that provides a technology agnostic API for accessing occupancy information to significantly improve portability and enables several types of occupancy-driven applications.
Abstract: Occupant behavior determines a large share of the energy consumption of buildings. Software applications driven by information about occupant behavior provide a mean to optimize this share. However, existing systems for sensing occupancy behavior provide technology-specific APIs statically coupled to the type of computed occupancy information. Software platforms for developing applications for buildings do also not provide abstractions for occupancy behavior. Therefore, technology lock in and lack of proper abstractions wreck the development of occupancy-driven applications. In this paper we present the design, implementation and evaluation of OccuRE, a stream-based Occupancy REasoning platform. OccuRE provides a technology agnostic API for accessing occupancy information to significantly improve portability. The platform uses a component-based computation model with dynamic composition to calculate and reason about occupancy behavior. Together these elements avoid that developers need to deal with technology-specific processing of sensor data to ease application development. Through micro-benchmarks we show that OccuRE successfully and efficiently computes occupancy information for technology-heterogeneous building instrumentations. We use the development of three prototype applications to demonstrate that the API of OccuRE (i) enables several types of occupancy-driven applications, (ii) that the applications -- by using the interface -- achieve portability in regards to occupancy information computation and (iii) that the application code avoids handling sensor data processing.

25 citations

Proceedings Article•
Challenges in the Evolution of Metamodels: Smells and Anti-Patterns of a Historically-Grown Metamodel

[...]

Misha Strittmatter1, Georg Hinkel2, Michael Langhammer1, Reiner Jung3, Robert Heinrich1 •
Karlsruhe Institute of Technology1, Forschungszentrum Informatik2, University of Kiel3
24 Oct 2016
TL;DR: This paper presents bad smells and anti-patterns that were discovered in a thorough metamodel review of the Palladio Component Model (PCM).
Abstract: In model-driven engineering, modeling languages are developed to serve as basis for system design, simulation and code generation. Like any software artifact, modeling languages evolve over time. If, however, the metamodel that defines the language is badly designed, the effort needed for its maintenance is unnecessarily increased. In this paper, we present bad smells and anti-patterns that we discovered in a thorough metamodel review of the Palladio Component Model (PCM). The PCM is a good representative for big and old metamodels that have grown over time. Thus, these results are meaningful, as they reflect the types of smells that accumulate in such metamodels over time. Related work deals mainly with automatically detectable bad smells, anti-patterns and defects. However, there are smells and anti-patterns, which cannot be detected automatically. They should not be neglected. Thus, in this paper, we focus on both: automatically and non-automatically detectable smells.

22 citations

Proceedings Article•10.1109/CBSE.2016.21•
Increasing the Throughput of Pipe-and-Filter Architectures by Integrating the Task Farm Parallelization Pattern

[...]

Christian Wulf1, Christian Claus Wiechmann1, Wilhelm Hasselbring1•
University of Kiel1
5 Apr 2016
TL;DR: An automatic parallelization approach providing high throughput and utilizing the available processing units, and a modular, self-adaptive mechanism that automatically adapts the number of instances at runtime to achieve the highest possible throughput is presented.
Abstract: The Pipe-and-Filter style represents a well-known family of component-based architectures. By executing each filter on a dedicated processing unit, it is also possible to leverage contemporary distributed systems and multi-core systems for a high throughput. However, this simple parallelization approach is not very effective when (1) the workload is uneven distributed over all filters and when (2) the number of available processing units exceeds the number of filters. In the first case, parallelizing all filters can lead to a waste of resources since only the slowest filter is responsible for the overall throughput. In the second case, some processing units remain unused. In this paper, we present an automatic parallelization approach providing high throughput and utilizing the available processing units. Our main idea is to provide a composite filter that is wrapped around an existing filter to increase its throughput. We call this composite filter the Task Farm Filter since it implements the Task Farm parallelization pattern. It creates and executes multiple instances of the underlying filter in parallel. Moreover, we present a modular, self-adaptive mechanism that automatically adapts the number of instances at runtime to achieve the highest possible throughput. Finally, we present an extensive experimental evaluation of our self-adaptive task farm filter by employing a CPU-intensive, an I/O-intensive, and a hybrid scenario. The evaluation shows that our task farm automatically parallelize the underlying filter and thus increases the overall throughput. Furthermore, the evaluation shows that our task farm scales well with the workload of the executed Pipe-and-Filter architecture.

17 citations

Proceedings Article•10.1109/CBSE.2016.18•
Building Dynamic and Dependable Component-Based Internet-of-Things Applications with Dawn

[...]

Gowri Sankar Ramachandran1, Nelson Matthys1, Wilfried Daniels1, Wouter Joosen1, Danny Hughes1 •
Katholieke Universiteit Leuven1
5 Apr 2016
TL;DR: Dawn is introduced, a network optimisation approach for component-based systems that automatically extracts and enforces bandwidth requirements from component compositions that allows application developers to build extremely flexible and yet dependable IoT networks.
Abstract: The Internet of Things (IoT) embeds sensors, actuators and computation into everyday 'things' such as lights and thermostats. These things form low-power wireless networks connecting to the Internet via IPv6 for monitoring and control. Such IoT systems are increasingly subject to runtime reconfiguration, wherein new hardware and software may be installed dynamically to accommodate changing application objectives. Supporting runtime reconfiguration, while maintaining reliability and low-power operation requires cross-layer optimisation of network resources. This paper introduces Dawn, a network optimisation approach for component-based systems that automatically extracts and enforces bandwidth requirements from component compositions. Dawn allows application developers to build extremely flexible and yet dependable IoT networks. We implemented a prototype of Dawn for a 50-node testbed composed of state-of-the-art embedded IoT devices. Our evaluation shows that Dawn preserves 100% end-to-end reliability in the face of network reconfiguration, while extending battery lifetime three-fold compared to a one-size-fits-all network configuration with minimal memory and performance overhead.

13 citations

Proceedings Article•10.1109/CBSE.2016.11•
Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

[...]

Andrea Gallidabino1, Cesare Pautasso1•
University of Lugano1
5 Apr 2016
TL;DR: This paper presents Liquid.js for Polymer, a framework whose goal is to support developers that need to build liquid Web applications taking full advantage of multiple heterogeneous devices, and extends emerging Web components standards to enable the liquid user experience.
Abstract: Nowadays, the average users owns two or more Web-enabled devices (smart phones, personal computers and tablets), while more are coming: watches, cars, glasses. While responsive Web applications can adapt to the specific device (e.g., screen size or input method) on which they are deployed, they only provide limited support when one user connects from more than one device at the same time. In this paper we present Liquid.js for Polymer, a framework whose goal is to support developers that need to build liquid Web applications taking full advantage of multiple heterogeneous devices. It extends emerging Web components standards to enable the liquid user experience, whereby any device can be used sequentially or concurrently with applications that can roam from one device to another with no effort required by users controlling them. This way, users do not need to stop and resume their work on their Web application as they switch devices. Developers using Liquid.js for Polymer do not need to worry about the underlying connectivity, pairing and synchronization issues of their stateful Web components.

13 citations

Proceedings Article•10.1109/CBSE.2016.10•
Towards Safe Execution of Reconfigurations in Cyber-Physical Systems

[...]

David Schubert1, Christian Heinzemann2, Christopher Gerking1•
University of Paderborn1, Bosch2
5 Apr 2016
TL;DR: This paper introduces a novel approach that is based on a design-time specification of conditions for unsafe states combined with a runtime evaluation of these conditions that enables to detect all relevant unsafe states with respect to a requested reconfiguration at runtime.
Abstract: The component-based software architecture of a cyber-physical system (CPS) is often subject to structural reconfigurations in response to changing environmental conditions. When introducing reconfigurations to CPS, it is mandatory to ensure that the execution of a reconfiguration does not compromise the safety of the system, e.g., by causing a violation of hard real-time constraints. Existing approaches for ensuring safe reconfiguration do not consider such hard realtime constraints or the interaction of a CPS with its physical environment. Thus, they can not detect all relevant unsafe situations. In this paper, we introduce a novel approach that is based on a design-time specification of conditions for unsafe states combined with a runtime evaluation of these conditions. This enables to detect all relevant unsafe states with respect to a requested reconfiguration at runtime. We illustrate our approach based on a smart railway system.

9 citations

Proceedings Article•10.1109/CBSE.2016.15•
A Component Model for Defining Software Product Families with Explicit Variation Points

[...]

Simone Di Cola1, Cuong M. Tran1, Kung-Kiu Lau1, Chen Qian1, Michael Schulze •
University of Manchester1
5 Apr 2016
TL;DR: This paper outlines a component model that can be used to define architectures for product families, by incorporating explicit variation points.
Abstract: In software product line engineering, the construction of an ADL architecture for a product family is still an outstanding engineering challenge. An ADL architecture for a product family would define the architectures for all the products in the family, allowing engineers to reason at a higher level of abstraction. In this paper, we outline a component model that can be used to define architectures for product families, by incorporating explicit variation points.

9 citations

Proceedings Article•10.1109/CBSE.2016.13•
Extending the Rubus Component Model with GPU-Aware Components

[...]

Gabriel Campeanu1, Jan Carlson1, Séverine Sentilles1, Saad Mubeen1•
Mälardalen University College1
5 Apr 2016
TL;DR: This paper proposes to extend Rubus, an industrial component model for embedded systems, with dedicated support for GPUs, and introduces new constructs, including GPU ports and automatically generated adapters to facilitate seamless component communication over the heterogeneous processing units, regardless of whether the components use the CPU, GPU, or both.
Abstract: To support the complex functionality expected of modern embedded systems, the trend is to supplement CPUs with Graphical Processing Units (GPUs), thus creating heterogeneous embedded systems. However, taking full advantage of GPUs increases the complexity of the development and requires dedicated support, and no such support exists in the component models currently available. The only solution today is to completely encapsulate all GPU-specific information and operations within the components, which increases the communication overhead and reduces component reusability, thus significantly limiting the applicability of component-based development to heterogeneous embedded systems. In this paper, we propose to extend Rubus, an industrial component model for embedded systems, with dedicated support for GPUs. We introduce new constructs, including GPU ports and automatically generated adapters to facilitate seamless component communication over the heterogeneous processing units, regardless of whether the components use the CPU, GPU, or both. A running example is used for the problem description, the proposed extension, and to evaluate our solution.

8 citations

Proceedings Article•10.1109/CBSE.2016.8•
Exploring the Understandability of Components in Architectural Component Models Using Component Level Metrics and Participants' Experience

[...]

Srdjan Stevanetic1, Uwe Zdun1•
University of Vienna1
5 Apr 2016
TL;DR: The results provide evidence that the hierarchical understandability metrics are significantly better in predicting the understandability effort than the models obtained in the previous studies or the models that include just the participants' experiences.
Abstract: Architectural component models play a crucial role in achieving the desired software quality, as understandability of components and their interactions plays a key role in supporting the architectural understanding of a software system. In this article, we extend our previous studies on component models understandability. Our extensions study hierarchical understandability metrics, the impact of personal factors of participants like experience and expertise, and the combinations of both personal factors and the metrics (the previously studied and the newly introduced). The subjects of the study had to fully understand the functionalities of a number of components of an open source system by exploring the relationships of the components' classes. Our results provide evidence that the hierarchical understandability metrics are significantly better in predicting the understandability effort than the models obtained in our previous studies or the models that include just the participants' experiences. The participants' experience plays an important role in the prediction but the obtained prediction models are not as accurate as the models that use the component level metrics.

6 citations

Proceedings Article•10.1109/CBSE.2016.19•
Extra-Functional Properties Composability for Embedded Systems Partitioning

[...]

Gaetana Sapienza1, Séverine Sentilles1, Ivica Crnkovic1, Tiberiu Seceleanu1•
Mälardalen University College1
5 Apr 2016
TL;DR: This paper addresses the problem of composability of EFPs at system level by detailing constraints related to the system architecture, platform and process development and providing composition rules for different types of E FPs.
Abstract: Modern embedded systems utilize the advances in heterogeneous platforms that enable implementing functions in software (SW) and hardware (HW) components. A proper configuration of SW and HW components can significantly improve the values of the extra-functional properties such as performance and energy savings. However, due to increasing application complexity, it is difficult to find the best combination of HW and SW components. The problem basically boils down to calculate, for a given architecture, the system properties from the components' ones. In this paper, we address the problem of composability of EFPs at system level. Although in general this is not a solvable problem, we present that, under strictly specified constraints, it is possible to compose the system EFPs starting from the component ones. We start by detailing constraints related to the system architecture, platform and process development and, based on these constraints, we provide composition rules for different types of EFPs. We demonstrate the results through an industrial example.

6 citations

Proceedings Article•10.1109/CBSE.2016.20•
KevoreeJS: Enabling Dynamic Software Reconfigurations in the Browser

[...]

Maxime Tricoire, Olivier Barais, Manuel Leduc, Francois Fouquet, Gerson Sunyé1, Brice Morin1, Johann Bourcier1, Grégory Nain1, Ludovic Mouline2 •
French Institute for Research in Computer Science and Automation1, SINTEF2
5 Apr 2016
TL;DR: An approach called KevoreeJS based on models@runtime to control browser as component platform which address some of the main challenges to create a component-based platform supporting the development of dynamically adaptable single web page applications.
Abstract: The architecture of classic productivity software are moving from a traditional desktop-based software to a client server architecture hosted in the Cloud. In this context, web browsers behave as application containers that allow users to access a variety of Cloud-based applications and services, such as IDEs, Word processors, Music Collection Managers, etc. As a result, a significant part of these software run in the browser and accesses remote services. A lesson learned from development framework used in distributed applications is the success of pluggable architecture pattern as a core architecture concept, i.e., a Software Architecture that promotes the use of Pluggable Module to dynamically plug. Following this trend, this paper discusses the main challenges to create a component-based platform supporting the development of dynamically adaptable single web page applications. This paper also presents an approach called KevoreeJS based on models@runtime to control browser as component platform which address some of these challenges. We validate this work by presenting the design of a dashboard for sensor based system and highlighting the capacity of KevoreeJS to dynamically choose the placement of code on the server or client side and how KevoreeJS can be used to dynamically install or remove running components.
Proceedings Article•10.1109/CBSE.2016.17•
Modeling of Legacy Distributed Embedded Systems at Vehicle Abstraction Level

[...]

Saad Mubeen1, Thomas Nolte1, Mikael Sjödin1, John Lundbäck, Mattias Galnander, Kurt-Lennart Lundbäck •
Mälardalen University College1
5 Apr 2016
TL;DR: A new technique for model-and component-based development of vehicular distributed embedded systems at the vehicle level, which supports not only modeling of crude nodes or Electronic Control Units but also modeling of legacy nodes whose software architectures can be partially or completely reused.
Abstract: A large majority of existing software development approaches in the vehicle industrial domain have a limited or no modeling support to fully reuse legacy nodes at the highest abstraction, called the vehicle level. In this paper, we introduce a new technique for model-and component-based development of vehicular distributed embedded systems at the vehicle level. The proposed technique supports not only modeling of crude nodes or Electronic Control Units but also modeling of legacy nodes whose software architectures can be partially or completely reused. As a proof of concept, we implement the modeling technique in an industrial model, the Rubus Component Model. In order to show the usability of our approach, we model a vehicular application using the extended component model and its tool suite.
Proceedings Article•
Performance Modeling in the Age of Big Data: Some reflections on current limitations.

[...]

Robert Heinrich1, Holger Eichelberger2, Klaus Schmid2•
Karlsruhe Institute of Technology1, University of Hildesheim2
1 Jan 2016
TL;DR: Based on experiences from modeling Big Data solutions, some problems in applying performance modeling are described and potential solution approaches are discussed.
Abstract: Big Data aims at the efficient processing of massive amounts of data. Performance modeling is often used to optimize performance of systems under development. Based on experiences from modeling Big Data solutions, we describe some problems in applying performance modeling and discuss potential solution approaches.
Proceedings Article•
Fault-Aware pareto frontier exploration for dependable system architectures

[...]

Lukas Märtin1, Hauke Baller1, Anne Koziolek2, Ralf Reussner2•
Braunschweig University of Technology1, Karlsruhe Institute of Technology2
1 Jan 2016
TL;DR: A multi-stage approach to sample Paretooptimal configurations for redundant system designs within hostile environments, to check satisfiability of structural constraints and to measure and identify quality degradation in fault scenarios is proposed, allowing developers to identify design flaws, leading to large quality degradations in case of emerging faults.
Abstract: While designing dependable systems, a large number of asset combinations (system configurations) with contrary quality objectives needs to be investigated. Basically, each feasible configuration should be investigated. For fault-tolerant embedded systems this problem is extended by anticipating hardware faults leading to changed deployments of stressed resources in redundant constellations. The identification and evaluation of the best-fitting configuration remains a computationally intensive and difficult task at all. We propose a multi-stage approach (1) to sample Paretooptimal configurations for redundant system designs within hostile environments, (2) to check satisfiability of structural constraints and (3) to measure and identify quality degradation in fault scenarios. Thus, allowing developers to identify design flaws, leading to large quality degradations in case of emerging faults. We use genetic algorithms (NSGA-II) for sampling a wide range of system designs and demonstrate our approach by means of an exemplary fault-tolerant system.
Proceedings Article•
Towards concern-oriented design of component-based systems

[...]

Jörg Kienzle1, Anne Koziolek2, Axel Busch2, Ralf Reussner2•
McGill University1, Karlsruhe Institute of Technology2
1 Jan 2016
TL;DR: This paper outlines how to integrate CBSE and concern-oriented reuse (CORE), a novel reuse paradigm that extends Model-Driven Engineering (MDE) with best practices from aspect-oriented software composition and Software Product Lines (SPL).
Abstract: Component-based software engineering (CBSE) is based on defining, implementing and composing loosely coupled, independent components, thus increasing modularity, analyzability, separation of concerns and reuse. However, complete separation of concerns is difficult to achieve in CBSE when concerns crosscut several components. Furthermore, in some cases, reuse of components is limited because component developers make certain implementation choices that are incompatible with the non-functional requirements of the application that is being built. In this paper we outline how to integrate CBSE and concern-oriented reuse (CORE), a novel reuse paradigm that extends Model-Driven Engineering (MDE) with best practices from aspect-oriented software composition and Software Product Lines (SPL). Concretely, we outline how to combine the Palladio Component Model (PCM) capable of expressing complex software architectures with CORE class and sequence diagrams for low-level design. As a result, multiple solutions for addressing concerns that might even crosscut component boundaries can be modularized in a reusable way, and integrated with applications that reuse them using aspect-oriented techniques. Additionally, thanks to CORE, component developers can avoid premature decision making when reusing existing libraries during implementation.
Proceedings Article•10.1109/CBSE.2016.16•
VISCTE: Runtime Exploration of Component-Based Systems

[...]

André L. Santos1, Ivo Albuquerque•
Spanish National Research Council1
5 Apr 2016
TL;DR: VISCTE as discussed by the authors is a tool for exploring component collaborations through runtime monitoring, where a user-controlled recording process enables developers to obtain diagrams that depict a partial representation of the system.
Abstract: Component-based systems are often comprised of a large number of components, as well as services for binding them together. Static visualization of component dependencies suffers from scalability issues, due to the high number of nodes and edges, despite the fact that there have been previous approaches to mitigate this problem through diagram cluttering reduction mechanisms. Another limitation of static visualization is the inability to represent bindings that are dynamically determined at runtime. In this paper, we describe VISCTE, a tool for exploring component collaborations through runtime monitoring. We target concept location at the component level, where a user-controlled recording process enables developers to obtain diagrams that depict a partial representation of the system. We materialized the approach for OSGi-based component systems and successfully experimented it with an industrial-scale component-based system.
Proceedings Article•10.1109/CBSE.2016.9•
On the Use of Component-Based Principles and Practices for Architecting Cyber-Physical Systems

[...]

Ivica Crnkovic1, Ivano Malavolta, Henry Muccini2, Mohammad Sharaf2•
Mälardalen University College1, University of L'Aquila2
5 Apr 2016
TL;DR: Overall, the results show a transition of technologies and approaches used in Embedded Systems to CPS, but still lacking methods for integrated architecting, in particular in incremental development.
Abstract: By focussing on Cyber Physical Systems (CPS), this paper investigates how component-based principles and practices are used and support the activity of architecting CPS. For doing so, by running a systematic process, we selected 49 primary studies from the most important publishers search engines. Those papers have been analyzed and their contents classified according to the Classification Framework for Component Models proposed in our previous work. The results show that the main concerns handled by CPS component models are those of integration, performance, and maintainability. The instruments to satisfy those concerns, while architecting CPS, are ad-hoc software/system architecture, model-based approaches, architectural and component languages, and design. The IEC 61499 standard with its functions block is remarkably used to drive the work on six papers. Java is the most frequently used programming language used for implementing the components. Components are deployed mostly at compile time. Interfaces are almost equally distributed into port-based and operation-based. Overall, the results show a transition of technologies and approaches used in Embedded Systems to CPS, but still lacking methods for integrated architecting, in particular in incremental development.
Proceedings Article•10.1109/CBSE.2016.12•
A Generative Middleware for Heterogeneous and Distributed Services

[...]

Brice Morin1, Franck Fleurey1, Knut-Eilif Husa, Olivier Barais2•
SINTEF1, French Institute for Research in Computer Science and Automation2
5 Apr 2016
TL;DR: This paper presents a set of languages dedicated to the integration, deployment and continuous operation of existing libraries and components already available and implemented in various languages and validated on an industrial case study in the eHealth domain.
Abstract: Modern software-based services increasingly rely on a highly heterogeneous and dynamic interconnection of platforms and devices offering a wide diversity of capabilities ranging from cloud server with virtually unlimited resources down to microcontrollers with only a few KB of RAM. This paper motivates the fact that no single software framework or software engineering approach is suited to span across this range, and proposes an approach which leverages the latest advances in model-driven engineering, generative techniques and models@runtime in order to tame this tremendous heterogeneity. This paper presents a set of languages dedicated to the integration, deployment and continuous operation of existing libraries and components already available and implemented in various languages. The proposed approach is validated on an industrial case study in the eHealth domain, implemented by an industrial partner that provide an qualitative evaluation of the approach. This case study involves a large number of sensors, devices and gateways based on Rasperry Pi, Intel Edison and Arduino.

Tools

SciSpace AgentBiomedical AgentSciSpace RecruitSciSpace for EnterpriseAgent GalleryChat with PDFLiterature ReviewAI WriterFind TopicsParaphraserCitation GeneratorExtract DataAI DetectorCitation Booster

Learn

ResourcesLive Workshops

SciSpace

CareersSupportBrowse PapersPricingSciSpace Affiliate ProgramCancellation & Refund PolicyTermsPrivacyData Sources

Directories

PapersTopicsJournalsAuthorsConferencesInstitutionsCitation StylesWriting templates

Extension & Apps

SciSpace Chrome ExtensionSciSpace Mobile App

Contact

support@scispace.com
SciSpace

© 2026 | PubGenius Inc. | Suite # 217 691 S Milpitas Blvd Milpitas CA 95035, USA

soc2
Secured by Delve