SYSTEM DESIGN DIFFERS radically from pure software design in that it must account not only for functional requirements but also for extrafunctional requirements regarding the use of execution platform resources, such as time, memory, and energy. Meeting extrafunctional requirements is essential in embedded system design and requires evaluation of how design choices affect overall system behavior. It also implies a deep understanding of how the application software interacts with the underlying execution platform. Yet system designers currently lack rigorous techniques for deriving global models of a given system from models of its application software and execution platform. We define a rigorous design flow as one that guarantees essential system properties. Most existing design flows that aspire to this goal privilege a unique programming model and associate it with a compilation chain that's adapted for a given execution model. For example, synchronous system design relies on synchronous programming models and usually targets hardware or sequential implementations on single processors. 1 Alternatively, realtime programming, based on scheduling theory for periodic tasks, targets dedicated real-time multitasking platforms. 2 At the Verimag Laboratory, we've been developing the behavior, interaction, priority (BIP) component framework to support a rigorous system design flow. The BIP framework is • model-based, describing all software and systems according to a single semantic model. This maintains the flow's overall coherency by guaranteeing that a description at step n+1 meets essential properties of a description at step n.
BIP (Behavior Interaction Priority) REF allows rigorous design of complex component-based systems.
Rigorous Component-Based System Design Using the BIP Framework
IEEE Software
IEEE Software
Computer Science