Results 1 - 10
of
82
A Formal Approach to Software Architecture
, 1997
"... As software systems become more complex, the overall system structure---or software architecture---becomes a central design problem. A system's architecture provides a model of the system that suppresses implementation detail, allowing the architect to concentrate on the analyses and decisions that ..."
Abstract
-
Cited by 258 (14 self)
- Add to MetaCart
As software systems become more complex, the overall system structure---or software architecture---becomes a central design problem. A system's architecture provides a model of the system that suppresses implementation detail, allowing the architect to concentrate on the analyses and decisions that are most crucial to structuring the system to satisfy its requirements. Unfortunately, current representations of software architecture are informal and ad hoc. While architectural concepts are often embodied in infrastructure to support specific architectural styles and in the initial conceptualization of a system configuration, the lack of an explicit, independently-characterized architecture or architectural style significantly limits the benefits of software architectural design in current practice. In this dissertation, I show that an Architecture Description Language based on a formal, abstract model of system behavior can provide a practical means of describing and analyzing softwar...
The CLARAty Architecture for Robotic Autonomy
, 2001
"... This paper presents an overview of a newly developed Coupled Layer Architecture for Robotic Autonomy (CLARAty), which is designed for improving the modularity of system software while more tightly coupling the interaction of autonomy and controls. First, we frame the problem by briefly reviewing pre ..."
Abstract
-
Cited by 63 (10 self)
- Add to MetaCart
This paper presents an overview of a newly developed Coupled Layer Architecture for Robotic Autonomy (CLARAty), which is designed for improving the modularity of system software while more tightly coupling the interaction of autonomy and controls. First, we frame the problem by briefly reviewing previous work in the field and describing the impediments and constraints that been encountered. Then we describe why a fresh approach of the topic is warranted, and introduce our new two-tiered design as an evolutionary modification of the conventional three-level robotics architecture. The new design features a tight coupling of the planner and executive in one Decision Layer, which interacts with a separate Functional Layer at all levels of system granularity. The Functional Layer is an object-oriented software hierarchy that provides basic capabilities of system operation, resource prediction, state estimation, and status reporting. The Decision Layer utilizes these capabilities of the Func...
TinyGALS: A Programming Model for Event-Driven Embedded Systems
, 2003
"... Networked embedded systems such as wireless sensor networks are usually designed to be event-driven so that they are reactive and power efficient. Programming embedded systems with multiple reactive tasks is difficult due to the complex nature of managing the concurrency of execution threads and con ..."
Abstract
-
Cited by 47 (7 self)
- Add to MetaCart
Networked embedded systems such as wireless sensor networks are usually designed to be event-driven so that they are reactive and power efficient. Programming embedded systems with multiple reactive tasks is difficult due to the complex nature of managing the concurrency of execution threads and consistency of shared states. This paper describes a globally asynchronous and locally synchronous model (TinyGALS) for programming event-driven embedded systems. Software components are composed locally through synchronous method calls to form modules, and asynchronous message passing is used between modules to separate the flow of control. In addition, a guarded yet synchronous model (TinyGUYS) is designed to allow thread-safe sharing of global state by multiple modules without explicitly passing messages. This programming model is structured such that all asynchronous message passing code and module triggering mechanisms can be automatically generated from a high-level specification. We have implemented the programming model and code generation facilities on a wireless sensor network platform known as the Berkeley motes. As an example, we have redesigned a multi-hop ad hoc communication protocol using the TinyGALS model.
The performance and energy consumption of three embedded real-time operating systems
- In Proceedings of the 2001 International Conference on Compilers, Architecture, and Synthesis for Embedded Systems (CASES ’01
, 2001
"... This paper presents the modeling of embedded systems with SimBed, an execution-driven simulation testbed that measures the execution behavior and power consumption of embedded applications and RTOSs by executing them on an accurate architectural model of a microcontroller with simulated real-time st ..."
Abstract
-
Cited by 24 (8 self)
- Add to MetaCart
This paper presents the modeling of embedded systems with SimBed, an execution-driven simulation testbed that measures the execution behavior and power consumption of embedded applications and RTOSs by executing them on an accurate architectural model of a microcontroller with simulated real-time stimuli. We briefly describe the simulation environment and present a study that compares three RTOSs: µC/OS-II, a popular public-domain embedded real-time operating system; Echidna, a sophisticated, industrial-strength (commercial) RTOS; and NOS, a bare-bones multi-rate task scheduler reminiscent of typical “roll-your-own” RTOSs found in many commercial embedded systems. The microcontroller simulated in this study is the Motorola M-CORE processor: a low-power, 32-bit CPU core with 16-bit instructions, running at 20MHz.
Real-Time Dependable Channels: Customizing QoS Attributes for Distributed Systems
- IEEE Transactions on Parallel and Distributed Systems
, 1998
"... Communication services that provide enhanced Quality of Service (QoS) guarantees related to dependability and real time are important for many applications in distributed systems. This paper presents real-time dependable (RTD) channels, a communication-oriented abstraction that can be configured to ..."
Abstract
-
Cited by 21 (12 self)
- Add to MetaCart
Communication services that provide enhanced Quality of Service (QoS) guarantees related to dependability and real time are important for many applications in distributed systems. This paper presents real-time dependable (RTD) channels, a communication-oriented abstraction that can be configured to meet the QoS requirements of a variety of distributed applications. This customization ability is based on using CactusRT, a system that supports the construction of middleware services out of software modules called micro-protocols. Each micro-protocol implements a different semantic property or property variant, and interacts with other micro-protocols using an event-driven model supported by the CactusRT runtime system. In addition to RTD channels, CactusRT and its implementation are described. This prototype executes on a cluster of Pentium PCs running the OpenGroup/RI MK 7.3 Mach real-time operating system and CORDS, a system for building network protocols based on the x-kernel. July 9...
A GENERIC COMPONENT MODEL FOR BUILDING SYSTEMS SOFTWARE
"... Component-based software structuring principles are now commonly and successfully applied at the application level; but componentisation is far less established when it comes to building low-level systems software. Although there have been pioneering efforts in applying componentisation to systems-b ..."
Abstract
-
Cited by 17 (7 self)
- Add to MetaCart
Component-based software structuring principles are now commonly and successfully applied at the application level; but componentisation is far less established when it comes to building low-level systems software. Although there have been pioneering efforts in applying componentisation to systems-building, these efforts have tended to be narrowly targeted at specific application domains (e.g. embedded systems, operating systems, communications systems, programmable networking environments, or middleware platforms). They also tend to be narrowly targeted at specific deployment environments (e.g. standard personal computer (PC) environments, network processors, or microcontrollers). The disadvantage of this narrow targeting is that it fails to maximise the genericity and abstraction potential of the component approach. In this paper we argue for the benefits and feasibility of a generic yet tailorable approach to component-based systems-building that offers a uniform programming model in a wide range of target domains and deployment environments. More specifically, we present our OpenCom component model which is explicitly tailorable to diverse domains and environments. The component model is supported by a reflective runtime architecture that is itself built from components. After describing OpenCom and evaluating its performance and overhead characteristics, we present and evaluate two case studies of systems we have built using OpenCom technology, thus illustrating its benefits and its general applicability.
Components for Embedded Software - The PECOS Approach
, 2002
"... Software is more and more becoming the major cost factor for embedded devices. Already today, software accounts for more than 50 percent of the development costs of such a device. However, software development practices in this area lag far behind those in the traditional software industry. Reuse is ..."
Abstract
-
Cited by 17 (0 self)
- Add to MetaCart
Software is more and more becoming the major cost factor for embedded devices. Already today, software accounts for more than 50 percent of the development costs of such a device. However, software development practices in this area lag far behind those in the traditional software industry. Reuse is hardly ever heard of in some areas, development from scratch is common practice and component-based software is usually a foreign word. PECOS is a collaborative project between industrial and research partners that seeks to enable component-based technology for a certain class of embedded systems known as "field devices" by taking into account the specific properties of this application area. In this paper we introduce a component model for field device software. Furthermore we report on the PECOS component composition language CoCo and the mapping from CoCo to Java and C .
Using hypermedia and reconfigurable software assembly to support virtual laboratories and factories
- in Proc. of 5th International Symposium on Robotics and Manufacturing (ISRAM), Maui, Hawaii
, 1994
"... ..."
Classes and Subclasses in Actor-Oriented Design
, 2004
"... Edward Lee and Stephen Neuendorffer EECS Department University of California at Berkeley Berkeley, CA 94720, U.S.A. ..."
Abstract
-
Cited by 15 (11 self)
- Add to MetaCart
Edward Lee and Stephen Neuendorffer EECS Department University of California at Berkeley Berkeley, CA 94720, U.S.A.
A Study of the Applicability of Existing Exception-Handling Techniques to Component-Based Real-Time Software Technology
- ACM Trans. Program. Lang. Syst
, 1998
"... this article differentiate the exception-handling needs of CB-RTS as compared to other software paradigms and can serve as a driving force for future research into exception-handling technology. ..."
Abstract
-
Cited by 13 (0 self)
- Add to MetaCart
this article differentiate the exception-handling needs of CB-RTS as compared to other software paradigms and can serve as a driving force for future research into exception-handling technology.

