Global Sources
EE Times-Asia
Stay in touch with EE Times Asia
EE Times-Asia > Embedded

Reusable models trim software costs

Posted: 01 May 2001 ?? ?Print Version ?Bookmark and Share

Keywords:fsm? nfsm? real-time software? embedded software?

Developing state-of-the-art embedded real-time software is very expensive. However, the cost can greatly be reduced by using model-based integration of reusable components. To this end, we propose an architecture that supports integration of software components and their behavior and reconfiguration of component behavior at executable-code level.

In this architecture, components are designed and used as building blocks for integration, each of which is modeled with event-based external interfaces, a control logic driver and service protocols. The behavior of each component is specified as a finite-state machine (FSM) and the integrated behavior is modeled as a nested finite-state machine (NFSM).

Agile and low-cost software development for real-time embedded systems have become critically important as embedded systems and devices are being used widely and customized frequently. Although component-based software development and integration are efficient for software development, such an approach is neither well defined nor well understood in the embedded real-time system domain.

Typically, embedded system software consists of various device drivers and control algorithms, which usually exist as software components and are preferred so they can be reused for similar applications. Unfortunately, these components may contain dedicated information for some physical processes so they cannot be reused based only on their functions. The physical process for a target domain, on the other hand, is relatively static and can be modeled through component behaviors.

Thus, components can be designed with customizable behavior mechanisms so that they can be reused for different applications. Besides supporting reuse and reconfiguration, the architecture for embedded software should support separation of the specification and verification of non-functional constraints from those of functions.

The new architecture supports such features for embedded software integration. The reusable component model separates function definitions from behavior specifications and enables behavior reconfiguration after structural composition. Components can be structurally integrated using their communication ports, through which acceptable external events can be exchanged to invoke target operations. The integrated software can then be mapped onto various platform configurations by customizing service protocols of components.

Behavior of integrated software in our architecture is modeled as NFSMs. The NFSM model supports compositional behavior specifications and supports incremental and formal behavior analysis. The integrated behavior can then be specified in a control plan program for remote and run-time behavior reconfiguration. Our architecture also separates other non-functional constraints, especially timing and resource constraints.

Component structure

Components are software modules that are implemented beforehand and treated as building blocks in integration. The integrated embedded software can be viewed as a collection of communicating reusable components.

The component structure defines the information required for components to cooperate with others in a system. Our software component is modeled as a set of external interfaces with registration and mapping mechanisms, communication ports, control logic driver and service protocols.

External interfaces define the functionality of the component that can be invoked outside it. In our model, external interfaces are represented as a set of acceptable events with designated parameters.

An event-mapping mechanism that can be customized is devised in a component to translate between global events and the component's internal representations. A registration mechanism is further equipped to perform a run-time check on received events.

Communication ports are used to connect reusable components?that is, they are physical interfaces of a component. Each reusable component can have one or more communication ports.

The control logic driver, also called the FSM driver, is designed to separate function definitions from control logic specifications and support control logic reconfiguration. Every component that controls behavior should have an FSM driver inside itself. Control logic of a component can now be modeled as an FSM and be fully specified as a table or a state table.

The FSM driver enables the control logic to be reused, so it solves some cross-cutting design problems of physical process information blended with component behavior. Typically, the behavior of a component is designed to control some physical process and is traditionally hard coded in the implementation of the component tailored to an execution environment. Therefore, the software and the execution platform have to be designed cooperatively.

Reconfigured logic

The FSM driver and state tables also enable remote and run-time control logic reconfiguration while service protocols define the execution environment or infrastructures of a component. In our architecture, the behavior of integrated software is modeled as an NFSM while component behaviors are modeled as traditional FSMs.

Control logic specifications are used to define the static behavior or the control logic of a component. Operation specifications define the desired run-time behavior and can be specified as a programmed operation sequence that will trigger the component actions when there is no other interference. The operation specifications will generate predefined input events for a component FSM at run-time.

Since different sub-systems of an embedded system may deal with different physical processes, it is possible that component behavior is expressed in other models. Although the system integration of components in multiple models is being researched and the results are directly applicable to our architecture, we adopt translators to solve the problem of integrating heterogeneous models.

? Shige Wang and Kang Shin

University of Michigan

Article Comments - Reusable models trim software costs
*? You can enter [0] more charecters.
*Verify code:


Visit Asia Webinars to learn about the latest in technology and get practical design tips.

Back to Top