280 likes | 535 Views
Chapter 16 Component based embedded systems. Overview. Introduction Component technology in embedded systems Case study – ABB’s Field Devices Prerequisites for effective development of Component-based embedded systems Summary. Where is the problem?.
E N D
Chapter 16Component based embedded systems Building Reliable Component-based SystemsChapter 16 - Component based embedded systems
Overview • Introduction • Component technology in embedded systems • Case study – ABB’s Field Devices • Prerequisites for effective development of Component-based embedded systems • Summary Building Reliable Component-based SystemsChapter 16 - Component based embedded systems
Where is the problem? • Huge market arises for embedded devices, and thus for software for them • Similar basic functionalities are repeated • New functionalities are added constantly • Shorter development time is required Building Reliable Component-based SystemsChapter 16 - Component based embedded systems
Introduction Building Reliable Component-based SystemsChapter 16 - Component based embedded systems
Monolithic approach requires re-implementing the functionalities Component based SE provides a mean to reuse the functionalities Embedded vs. Component-based Component based SE can provide a framework instead of technology Embedded devices are too small for component off-the-shelf technologies Building Reliable Component-based SystemsChapter 16 - Component based embedded systems
Component technology in embedded world • Contractually specified interfaces • Component as a unit of composition and independent deployment • Explicit context dependencies • Component granularity • Reuse • Location transparency • Component wiring • Portability, platform independence Building Reliable Component-based SystemsChapter 16 - Component based embedded systems
Contractually specified interfaces • State-of-the-art technologies approach: Interfaces as pure collection of methods. • Embedded environment constraint: • Non-functional specifications are equally important part of the contract Building Reliable Component-based SystemsChapter 16 - Component based embedded systems
Interfaces II • Component interfaces support: • Late binding, • Polymorphism, • Semantic specification • Pre conditions, • Post conditions, • Invariants Building Reliable Component-based SystemsChapter 16 - Component based embedded systems
Run-time composition Component model, Run-time environment, Dynamic communication, Design-time composition Capable of generating monolithic firmware from component-based design, Optimization Unit of composition and independent deployment Building Reliable Component-based SystemsChapter 16 - Component based embedded systems
Explicit context dependencies What is a context in embedded world? • Other components and interfaces • Run-time environment • CPU, • RTOS, • Component implementation language, • Resource constraints Building Reliable Component-based SystemsChapter 16 - Component based embedded systems
Coarse-grained components, Too heavy bag of unnecessary functionality, Too much resources used, Fine-grained components, Light, unneeded functionality reduced, Scarcer uses of resources, Greater communication overhead, Component granularity Building Reliable Component-based SystemsChapter 16 - Component based embedded systems
Reuse • Black-box reuse • From component’s user point of view, • White-box reuse • From composition environment point of view • Gray-box reuse (composition environment) • If clear conventions for knowledge about implementation are introduced Building Reliable Component-based SystemsChapter 16 - Component based embedded systems
Architecture and frameworks Defining components alone will not lead to reuse • Common architecture for family of embedded devices • Framework for development Building Reliable Component-based SystemsChapter 16 - Component based embedded systems
Portability, Platform independence • Source level portability suffices, • Design-time composition, • Run-time environment restrictions • Source level portability requires: • Agreement on implementation language, • Agreement on available libraries, • Providing proper abstractions (i.e. RTOS API) Building Reliable Component-based SystemsChapter 16 - Component based embedded systems
Other issues • Location transparency • For embedded devices there is a single location, • Component wiring • Needed for flexible composition of software, • Optimizes component interaction, • Component ”glue code” should be in implementation language Building Reliable Component-based SystemsChapter 16 - Component based embedded systems
Case study – ABB’s Field devices • Synchronous approach • Architecture of the field devices • Dynamic behavior • Inter-component communication Building Reliable Component-based SystemsChapter 16 - Component based embedded systems
Synchronous approach Synchronous languages have been developed to simplify the programming of reactive systems • Provide the mean to handle concurrency, determinism, response time control • Based on synchrony hypothesis Building Reliable Component-based SystemsChapter 16 - Component based embedded systems
Architecture of the field device Building Reliable Component-based SystemsChapter 16 - Component based embedded systems
manipulatedvariable (3) a) setpoint ControlledSystem Controller(2) actual value (1) speed Tv,Tv,kp Setpoint error out b) Signalbus out speed Actuator(3) Sensors(1) PID (2) Dynamic behavior Building Reliable Component-based SystemsChapter 16 - Component based embedded systems
Inter-component communication • Based on Signal Bus • Signal Bus communication is maintained by Object Manager • Communication itself is based on signals • One source per signal Building Reliable Component-based SystemsChapter 16 - Component based embedded systems
UserInterface (1) (4) (2) CommunicationLink Real-timeSystem ProcessInterface (3) Mass storageInterface Types of Interfaces Building Reliable Component-based SystemsChapter 16 - Component based embedded systems
Prerequisites for effective development • Component model • Additionally must address non functional properties, • Allow for code generation, • Allow for efficient functional interfaces, • Allow for specification of architectural styles that describe component connections and containment relations, Building Reliable Component-based SystemsChapter 16 - Component based embedded systems
Component Model Component-based Architecture for field devices Component Composition Run-time Repository environment environment Framework Building Reliable Component-based SystemsChapter 16 - Component based embedded systems
Prerequisites II • Component-based architecture for field devices • Framework, • Compile time optimizations, • Field-bus architecture, • Repository • Storage and retrieval of components, • Storage of non-functional properties, implementation, support and test scripts, • Versioning Building Reliable Component-based SystemsChapter 16 - Component based embedded systems
Prerequisites III • Composition environment • Constraint verification, • Component adaptation and code generation, • Composition techniques, • Definition of composition rules Building Reliable Component-based SystemsChapter 16 - Component based embedded systems
Prerequisites IV • Run-time environment • Provide efficient implementation model, • Address embedded systems constraints, • Allow for compilation to optimized firmware thus allowing for no extra run-time environment that RTOS • Allow for hardware and RTOS independent implementation of components Building Reliable Component-based SystemsChapter 16 - Component based embedded systems
Case study summary • Architecture of the field device • Prerequisites for effective development • Framework Building Reliable Component-based SystemsChapter 16 - Component based embedded systems
Presentation summary • Introduction • Component technology in embedded systems • Case study – ABB’s Field Devices • Prerequisites for effective development of Component-based embedded systems • Summary Building Reliable Component-based SystemsChapter 16 - Component based embedded systems