Page 1 Building Reliable Component-based Systems Chapter 16 - Component based embedded systems Chapter 16 Component based embedded systems.

Slides:



Advertisements
Similar presentations
.NET Technology. Introduction Overview of.NET What.NET means for Developers, Users and Businesses Two.NET Research Projects:.NET Generics AsmL.
Advertisements

Component-Based Software Engineering Main issues: assemble systems out of (reusable) components compatibility of components.
Component Oriented Programming 1 Chapter 2 Theory of Components.
Department of Computer Science and Engineering University of Washington Brian N. Bershad, Stefan Savage, Przemyslaw Pardyak, Emin Gun Sirer, Marc E. Fiuczynski,
Towards a Practical Composition Language Oscar Nierstrasz Software Composition Group University of Bern.
Software Reuse SEII-Lecture 28
Verification/Simulati on –GUI for simulation and formal verification –Simulator: Exploration of dynamic behavior Checking.
Generative Programming for a Component-based Framework of Distributed Embedded Software Systems Xu Ke, Krzysztof Sierszecki Mads Clausen Institute for.
Filling the Gap Between System Design & Performance Verification Rafik HENIA, Laurent RIOUX, Nicolas SORDON Thales Research & Technology.
Basic Concepts in Component-Based Software Engineering
Chapter Object-Oriented Practices. Agenda Object-Oriented Concepts Terminology Object-Oriented Modeling Tips Object-Oriented Data Models and DBMSs.
An Architecture-Based Approach to Self-Adaptive Software Presenters Douglas Yu-cheng Su Ajit G. Sonawane.
Software Reuse Building software from reusable components Objectives
CBSD – Component Based Software Development - Introduction -
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 19 Slide 1 Component-based software engineering.
Software Architecture Design Instructor: Dr. Jerry Gao.
Chapter 13 Embedded Systems
Object-Oriented Databases
Page 1 Building Reliable Component-based Systems Chapter 12 - The Koala Component Model Chapter 12 The Koala Component Model.
State Machines Timing Computer Bus Computer Performance Instruction Set Architectures RISC / CISC Machines.
Page 1 Building Reliable Component-based Systems Chapter 6 - Semantic Integrity in Component Based Development Chapter 6 Semantic Integrity in Component.
Page 1 Building Reliable Component-based Systems Chapter 18 - A Framework for Integrating Business Applications Chapter 18 A Framework for Integrating.
SNAL Sensor Networks Application Language Alvise Bonivento Mentor: Prof. Sangiovanni-Vincentelli 290N project, Fall 04.
CprE 458/558: Real-Time Systems
Page 1 Building Reliable Component-based Systems Chapter 4 - Component Models and Technology Chapter 4 Component Models and Technology.
Page 1, July 3, 2015 CBSE – graduate course Component-Based Software Engineering Building reliable component-based systems Overview
1 FM Overview of Adaptation. 2 FM RAPIDware: Component-Based Design of Adaptive and Dependable Middleware Project Investigators: Philip McKinley, Kurt.
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
COMPONENT-BASED SOFTWARE ENGINEERING
Software Engineering Muhammad Fahad Khan
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 19 Slide 1 Component-based software engineering 1.
Design Patterns OOD. Course topics Design Principles UML –Class Diagrams –Sequence Diagrams Design Patterns C#,.NET (all the course examples) Design Principles.
1 CSBP430 – Database Systems Chapter 1: Databases and Database Users Mamoun Awad College of Information Technology United Arab Emirates University
An Introduction to Software Architecture
Software Models (Cont.) 9/22/2015ICS 413 – Software Engineering1 -Component-based software engineering -Formal Development Model.
Magnetic Field Measurement System as Part of a Software Family Jerzy M. Nogiec Joe DiMarco Fermilab.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 07. Review Architectural Representation – Using UML – Using ADL.
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 20 Object-Oriented.
By Xiangzhe Li Thanh Nguyen.  Introduction  Terminology  Architecture  Component  Connector  Configuration  Architectural Style  Architectural.
R R R 1 Frameworks III Practical Issues. R R R 2 How to use Application Frameworks Application developed with Framework has 3 parts: –framework –concrete.
Question To know that quality has improved, it would be helpful to be able to measure quality. How can we measure quality?
Chapter 10 Analysis and Design Discipline. 2 Purpose The purpose is to translate the requirements into a specification that describes how to implement.
Design Analysis builds a logical model that delivers the functionality. Design fully specifies how this functionality will be delivered. Design looks from.
Grid programming with components: an advanced COMPonent platform for an effective invisible grid © 2006 GridCOMP Grids Programming with components. An.
FDT Foil no 1 On Methodology from Domain to System Descriptions by Rolv Bræk NTNU Workshop on Philosophy and Applicablitiy of Formal Languages Geneve 15.
Component Oriented Programming 1 Introduction to COP.
Distribution and components. 2 What is the problem? Enterprise computing is Large scale & complex: It supports large scale and complex organisations Spanning.
Object Oriented Software Development
Basic Concepts of Component- Based Software Development (CBSD) Model-Based Programming and Verification.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 14Slide 1 Chapter 14 Design with Reuse.
> Power Supervison Desired Output level Source Diesel Valve Sink Diesel Valve > Valve Regulator Sink T = 40 ms Air Valve CBSE Course The SaveComp Component.
Page 1, December 8, 2015 CBSE – graduate course Component-Based Software Engineering Building reliable component-based systems Overview
MDD approach for the Design of Context-Aware Applications.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
CBSE Component Based Software Engineering cs. upt
Overview of SAIP and LSSA. Software Architecture in Practice Provides a set of techniques, not a prescriptive method for architectural design. Based on.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 32. Review Behavioral Patterns – Observer Pattern – Chain of command.
Developing Product Line Components Jan Bosch Professor of Software Engineering University of Groningen, Netherlands
What’s Ahead for Embedded Software? (Wed) Gilsoo Kim
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 15. Review Interaction-Oriented Software Architectures – MVC.
Lecture 21: Component-Based Software Engineering
Banaras Hindu University. A Course on Software Reuse by Design Patterns and Frameworks.
Component-based Software Engineering CBSE seminar, Oslo, 4 Feb Christian Bunse
Gerhard Dueck -- CS3013Architecture 1 Architecture-Centric Process  There is more to software development then going blindly through the workflows driven.
CLASSIFICATION OF DESIGN PATTERNS Hladchuk Maksym.
Why is Design so Difficult? Analysis: Focuses on the application domain Design: Focuses on the solution domain –The solution domain is changing very rapidly.
Distribution and components
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 2 Database System Concepts and Architecture.
An Introduction to Software Architecture
Presentation transcript:

Page 1 Building Reliable Component-based Systems Chapter 16 - Component based embedded systems Chapter 16 Component based embedded systems

Page 2 Building Reliable Component-based Systems 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

Page 3 Building Reliable Component-based Systems Chapter 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

Page 4 Building Reliable Component-based Systems Chapter 16 - Component based embedded systems Introduction

Page 5 Building Reliable Component-based Systems Chapter 16 - Component based embedded systems Embedded vs. Component-based  Monolithic approach requires re-implementing the functionalities  Component based SE provides a mean to reuse the functionalities Component based SE can provide a framework instead of technology Embedded devices are too small for component off-the- shelf technologies

Page 6 Building Reliable Component-based Systems Chapter 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

Page 7 Building Reliable Component-based Systems Chapter 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

Page 8 Building Reliable Component-based Systems Chapter 16 - Component based embedded systems Interfaces II  Component interfaces support: Late binding, Polymorphism, Semantic specification  Pre conditions,  Post conditions,  Invariants

Page 9 Building Reliable Component-based Systems Chapter 16 - Component based embedded systems Unit of composition and independent deployment  Run-time composition Component model, Run-time environment, Dynamic communication,  Design-time composition Capable of generating monolithic firmware from component-based design, Optimization

Page 10 Building Reliable Component-based Systems Chapter 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

Page 11 Building Reliable Component-based Systems Chapter 16 - Component based embedded systems Component granularity  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,

Page 12 Building Reliable Component-based Systems Chapter 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

Page 13 Building Reliable Component-based Systems Chapter 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

Page 14 Building Reliable Component-based Systems Chapter 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)

Page 15 Building Reliable Component-based Systems Chapter 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

Page 16 Building Reliable Component-based Systems Chapter 16 - Component based embedded systems Case study – ABB’s Field devices  Synchronous approach  Architecture of the field devices  Dynamic behavior  Inter-component communication

Page 17 Building Reliable Component-based Systems Chapter 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

Page 18 Building Reliable Component-based Systems Chapter 16 - Component based embedded systems Architecture of the field device

Page 19 Building Reliable Component-based Systems Chapter 16 - Component based embedded systems Dynamic behavior speed Tv,Tv,kp Setpoint error out setpoint a) Controller (2) manipulated variable (3) Controlled System actual value (1) b) Signalbus Sensors (1) PID (2) Actuator (3) out speed

Page 20 Building Reliable Component-based Systems Chapter 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

Page 21 Building Reliable Component-based Systems Chapter 16 - Component based embedded systems Types of Interfaces User Interface Real-time System Process Interface Communication Link Mass storage Interface (1) (2) (3) (4)

Page 22 Building Reliable Component-based Systems Chapter 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,

Page 23 Building Reliable Component-based Systems Chapter 16 - Component based embedded systems Framework Component Repository Composition environment Run-time environment Component Model Component-based Architecture for field devices

Page 24 Building Reliable Component-based Systems Chapter 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

Page 25 Building Reliable Component-based Systems Chapter 16 - Component based embedded systems Prerequisites III  Composition environment Constraint verification, Component adaptation and code generation, Composition techniques, Definition of composition rules

Page 26 Building Reliable Component-based Systems Chapter 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

Page 27 Building Reliable Component-based Systems Chapter 16 - Component based embedded systems Case study summary  Architecture of the field device  Prerequisites for effective development  Framework

Page 28 Building Reliable Component-based Systems Chapter 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