Results 1 - 10
of
14
Concurrent Models of computation for Embedded Software
- IEEE Proceedings on Computers and Digital Techniques
, 2005
"... The prevailing abstractions for software are better suited to the traditional problem of computation, namely transformation of data, than to the problems of embedded software. These abstractions have weak notions of concurrency and the passage of time, which are key elements of embedded software. In ..."
Abstract
-
Cited by 12 (1 self)
- Add to MetaCart
The prevailing abstractions for software are better suited to the traditional problem of computation, namely transformation of data, than to the problems of embedded software. These abstractions have weak notions of concurrency and the passage of time, which are key elements of embedded software. Innovations such as nesC/TinyOS (developed for programming very small programmable sensor nodes called ”motes”), Click (created to support the design of software-based network routers), Simulink with Real-Time Workshop (created for embedded control software), and Lustre/SCADE (created for safety-critical embedded software) offer abstractions that address some of these issues and differ significantly from the prevailing abstractions in software engineering. This paper surveys some of the abstractions that have been explored. 1
The RUNES middleware for networked embedded systems and its application in a disaster management scenario
- In Proc. of the 5 th Int. Conf. on Pervasive Communications (PERCOM
, 2007
"... Due to the inherent nature of their heterogeneity, resource scarcity and dynamism, the provision of middleware for future networked embedded environments is a challenging task. In this paper we present a middleware approach that addresses these key challenges; we also discuss its application in a re ..."
Abstract
-
Cited by 12 (3 self)
- Add to MetaCart
Due to the inherent nature of their heterogeneity, resource scarcity and dynamism, the provision of middleware for future networked embedded environments is a challenging task. In this paper we present a middleware approach that addresses these key challenges; we also discuss its application in a realistic networked embedded environment. Our application scenario involves fire management in a road tunnel that is instrumented with networked sensor and actuator devices. These devices are able to reconfigure their behaviour and their information dissemination strategies as they become damaged under emergency conditions, and firefighters are able to coordinate their operations and manage sensors and actuators through dynamic reprogramming. Our supporting middleware is based on a two-level architecture: the foundation is a language-independent, component-based programming model that is sufficiently minimal to run on any of the devices typically found in networked embedded environments. Above this is a layer of software components that offer the necessary middleware functionality. Rather than providing a monolithic middleware ‘layer’, we separate orthogonal areas of middleware functionality into self-contained components that can be selectively and individually deployed according to current resource constraints and application needs. Crucially, the set of such components can be updated at runtime to provide the basis of a highly dynamic and reconfigurable system. 1
Causality Interfaces and Compositional Causality Analysis
- FIT 2005 PRELIMINARY VERSION
, 2005
"... In this paper, we consider concurrent models of computation where ”actors” (components that are in charge of their own actions) communicate by exchanging messages. The interfaces of actors principally consist of “ports,” which mediate the exchange of messages. Actor-oriented architectures contrast w ..."
Abstract
-
Cited by 10 (8 self)
- Add to MetaCart
In this paper, we consider concurrent models of computation where ”actors” (components that are in charge of their own actions) communicate by exchanging messages. The interfaces of actors principally consist of “ports,” which mediate the exchange of messages. Actor-oriented architectures contrast with and complement object-oriented models by emphasizing the exchange of data between concurrent components rather than transfer of control. Examples of such models of computation include the classical actor model, synchronous languages, dataflow models, and discrete-event models. Many of these models of computation benefit considerably from having access to causality information about the components. This paper augments the interfaces of such components to include such causality information. It shows how this causality information can be algebraically composed so that compositions of components acquire causality interfaces that are inferred from their components and the interconnections. We illustrate the use of these causality interfaces to statically analyze discrete-event models for uniqueness of behaviors, synchronous models for causality loops, and dataflow models for schedulability.
G.: CAmkES: a component model for secure microkernel-based embedded systems
- Journal of Systems and Software Special Edition on Component-Based Software Engineering of Trustworthy Embedded Systems
, 2007
"... Component-based software engineering promises to provide structure and reusability to embedded-systems software. At the same time, microkernel-based operating systems are being used to increase the reliability and trustworthiness of embedded systems. Since the microkernel approach to designing syste ..."
Abstract
-
Cited by 8 (4 self)
- Add to MetaCart
Component-based software engineering promises to provide structure and reusability to embedded-systems software. At the same time, microkernel-based operating systems are being used to increase the reliability and trustworthiness of embedded systems. Since the microkernel approach to designing systems is partially based on the componentisation of system services, component-based software engineering is a particularly attractive approach to developing microkernel-based systems. While a number of widely used component architectures already exist, they are generally targeted at enterprise computing rather than embedded systems. Due to the unique characteristics of embedded systems, a component architecture for embedded systems must have low overhead, be able to address relevant non-functional issues, and be flexible to accommodate application specific requirements. In this paper we introduce a component architecture aimed at the development of microkernel-based embedded systems. The key characteristics of the architecture are that it is has a minimal, low-overhead, core but is highly modular and therefore flexible and extensible. We have implemented a prototype of this architecture and confirm that it has very low overhead and is suitable for implementing both system-level and application level services.
Balboa: A component-based design environment for system models
- IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems
, 2002
"... Abstract—This paper presents the BALBOA component composition framework for system-level architectural design. It has three parts: a loosely-typed component integration language (CIL); a set of C++ intellectual property (IP) component libraries; and a set of split-level interfaces (SLIs) to link the ..."
Abstract
-
Cited by 5 (1 self)
- Add to MetaCart
Abstract—This paper presents the BALBOA component composition framework for system-level architectural design. It has three parts: a loosely-typed component integration language (CIL); a set of C++ intellectual property (IP) component libraries; and a set of split-level interfaces (SLIs) to link the two. A CIL component interface can be mapped to many different C++ component implementations. A type-inference system maps all weakly-typed CIL interfaces to strongly typed C++ component implementations to produce an executable architectural model. Thus, this amounts to selecting IP implementations according to a set of connection constraints. The SLIs are used to select, adapt, and validate the implementation types. The advantage of using the CIL is that the design description sizes are much smaller because the runtime infrastructure automatically selects the IP and communication implementations. The type inference facilitates changes by automatically propagating them through the design structure. We show that the inference problem is NP complete and we present a heuristic solution to the problem. We bring forth a number of issues related to the automation of reusable IP composition including type- compatibility checking, split-programming, and introspective composition environment, and demonstrate their utility through design examples. Index Terms—Hardware/software co-design, system-on-chip, embedded systems, hardware description language (HDL), modeling, simulation, design reuse, interface design. I.
Visualization of areas of interest in component-based architectures
- In Proc. EUROMICRO SEAA - Component-Based Software Engineering, IEEE Press. www.win.tue.nl/alext/ALEX/PAPERS/ EUROMICRO06/paper.pdf
"... Understanding complex component-based systems often requires getting insight in how certain system properties, such as performance, trust, reliability, or structural attributes, correspond to the actual system architecture. Such properties can be seen as defining several ‘areas of interest ’ over th ..."
Abstract
-
Cited by 2 (2 self)
- Add to MetaCart
Understanding complex component-based systems often requires getting insight in how certain system properties, such as performance, trust, reliability, or structural attributes, correspond to the actual system architecture. Such properties can be seen as defining several ‘areas of interest ’ over the system architecture. We present an interactive tool that efficiently and effectively combines visual presentation of componentbased architectures with that of areas of interest. Our tool helps users investigate how various system properties correlate with each other and correspond to the actual architecture, while preserving the visual architecture layout familiar to designers. We validate our tool and the proposed techniques on a component framework used in the industry. 1.
A step-wise approach for integrating QoS throughout software development
- In FASE’11: 14th European Conference on Fundamental Approaches to Software Engineering
, 2011
"... Abstract. When developing real-time systems such as avionics software, it is critical to ensure the performance of these systems. In general, deterministic Quality of Service (QoS) is guaranteed by the execution platform, independently of a particular application. For example, in the avionics domain ..."
Abstract
-
Cited by 1 (1 self)
- Add to MetaCart
Abstract. When developing real-time systems such as avionics software, it is critical to ensure the performance of these systems. In general, deterministic Quality of Service (QoS) is guaranteed by the execution platform, independently of a particular application. For example, in the avionics domain, the ARINC 664 standard defines a data network that provides deterministic QoS guarantees. However, this strategy falls short of addressing how the QoS requirements of an application get transformed through all development phases and artifacts. Existing approaches provide support for QoS concerns that only cover part of the development process, preventing traceability. In this paper, we propose a declarative approach for specifying QoS requirements that covers the complete software development process, from the requirements analysis to the deployment. This step-wise approach is dedicated to control-loop systems such as avionics software. The domainspecific trait of this approach enables the stakeholders to be guided and ensures QoS requirements traceability via a tool-based methodology.
Fine-grained Entities in Component Architectures
"... Component-based software engineering (CBSE) defines components as basic software building blocks with relatively strongly formalized behavior and interactions. The key benefits of structuring code into components include good analyzability of performance and behavioral correctness, simpler code gene ..."
Abstract
- Add to MetaCart
Component-based software engineering (CBSE) defines components as basic software building blocks with relatively strongly formalized behavior and interactions. The key benefits of structuring code into components include good analyzability of performance and behavioral correctness, simpler code generation and high documentation value. However, a sufficiently detailed formalization including all relevant parts of application behavior often requires finer granularity than of a software component – a typical example is component own data exposed to other components, e.g., opened files, client sessions. Moreover, we show these concepts should be captured at the architecture level in order to keep all the mentioned benefits of CBSE. In this respect, we propose a component model extension. Our main goal is to define a model allowing seamless integration in existing behavior specification formalisms and implementation in current component systems.
Instituto de Computação – Universidade Estadual de Campinas (UNICAMP)
"... Abstract. Component-based software engineering has recently emerged as a promising solution to the development of system-level software. Unfortunately, current approaches are limited to specific platforms and domains. This lack of generality is particularly problematic as it prevents knowledge shari ..."
Abstract
- Add to MetaCart
Abstract. Component-based software engineering has recently emerged as a promising solution to the development of system-level software. Unfortunately, current approaches are limited to specific platforms and domains. This lack of generality is particularly problematic as it prevents knowledge sharing and generally increases development costs. In this paper we present OpenCom, a generic component-based platform that is specifically designed to support a wide range of system software, both in terms of deployment environments (e.g. PDAs, embedded devices, network processor-based routers) and target domains (e.g. embedded systems, middleware, OSs, programmable networking environments). We discuss the fundamentals of OpenCom’s programming model, present a performance evaluation, and illustrate the advantages of our model based on several case studies. 1.

