Embedded Software - PowerPoint PPT Presentation

1 / 16
About This Presentation
Title:

Embedded Software

Description:

Hardware design. Distinction among hardware and software, from the perspective of computation: ... Actor oriented design, where components are actor with ports ... – PowerPoint PPT presentation

Number of Views:51
Avg rating:3.0/5.0
Slides: 17
Provided by: que78
Category:

less

Transcript and Presenter's Notes

Title: Embedded Software


1
Embedded Software
  • Original Paper by Edward A. Lee
  • Eal_at_eecs.berkeley.edu
  • Presentation and Review by Paresh .P. Bafna
  • bafna_at_usc.edu

2
What is Embedded Software?
  • Software
  • Realization of mathematical functions.
  • Like a black box, takes input gives output.
  • Not much concerned about non-functional aspects.
  • Embedded software
  • It executes on machines, which are not computers
    e.g.
  • Its principle role interact with physical world.
  • Its works at low level, as its build by experts
    of that application domain e.g.
  • Its designed for specific application and so its
    not scalable e.g.
  • It has to consider the non-functional aspects.

3
Non Functional Properties
4
Just software on small computers?
  • Timeliness Concurrency
  • Computations take time and primary goal is gain
    control over time.
  • Plus doing jobs simultaneously i.e. concurrently.
  • Various ways to implement concurrency are
  • Interleaving processes.
  • CPU bound and I/O bound processes.
  • Various ways to implement timeliness are
  • Priority.
  • Statistical speedups e.g. cache schema, branch
    prediction etc
  • Liveness
  • Turing view of computation Vs Embedded view of
    computation.
  • Programs never terminate.

5
Just software on small computers? cont...
  • Interfaces
  • Component technology exposes interface and hides
    complexity.
  • Embedded software should inherit this interface
    with dynamic properties e.g.
  • One form of interface is a procedure. Buts its
    finite computation.
  • Similarly, OO design uses procedures along with
    data. Provide interface.
  • Lee argues that Embedded software is more like
    processes than procedures.
  • However, processes get weak, due to porcess1
    process2 ! process3.
  • To allow dynamic composition, type systems along
    with temporal prop are used.
  • Heterogeneity
  • The system mixes computational styles and
    implementation technologies i.e.
  • Reactivity
  • System reacts to various stimuli at the speed of
    the environment. e.g.

6
Limitations of present SE methods.
  • Complex Embedded system would benefit if
    components were composing other components. Hide
    details and expose interfaces in well defined
    manner.
  • Procedures and Object Orientation
  • Procedures are terminating. Objects are passive.
  • Real world is active and more like processes,
    with proper semantics rooted in physical world.
  • Embedded software requires is composition of
    processes and concurrency among processes.
  • Hardware design
  • Distinction among hardware and software, from the
    perspective of computation
  • An application with concurrency and temporal
    content should be thought using hardware
    abstractions.
  • An application with no temporal content should be
    thought using software abstraction.
  • Embedded software requires system needs of both
    hardware and software.

7
Limitations of present SE methods. Cont
  • Real time operating system
  • Embedded software requiring real-time throughput
    also require low latency.
  • Most general purpose processors have dedicated
    resources e.g.
  • Embedded system are resource constrained and have
    to use scheduling techniques to allocate
    resources at run-time.
  • Key problem in scheduling is the composition of
    the components.
  • A chronic priority based scheduling might lead to
    e.g. priority inversion.
  • Real-time Object oriented models
  • These are real-time practices extended for
    distributed components e.g. real time CORBA.
  • Scheduling is done by associating priority with
    event handling and other parameters (importance
    etc..).

8
Actor Oriented Design
  • What do we need?
  • Approach which constructs complex applications by
    composing components.
  • Emphasizing concurrency, communication
    abstractions along with time constraints.
  • What do we have?
  • Actor oriented design, where components are actor
    with ports and parameters.
  • Ports for interaction among actors with proper
    semantics (not call and return).
  • Actor oriented design described in two ways
  • Abstract syntax system is decomposed into
    interconnection components without defining its
    meaning.
  • Concrete syntax various abstract syntax along
    with concrete define how the components fit
    together.

9
Actor oriented design cont
  • Semantics of Actor oriented design
  • Component is a process, and connector represents
    connection between process.
  • Component may be a state and connector be
    transition between states.
  • Semantics may be viewed as architectural patterns
    called models of computations.
  • Key challenges for embedded software to choose
    models of computations
  • Support concurrency.
  • Network systems require communication and
    bandwidth.
  • Applications may be interconnection of modules
    and modules written in c, java etc
  • Large applications may mix various models of
    computations.

10
Examples of models of computation
  • Data Flow Model
  • Actors are atomic components triggered by
    availability of incoming data.
  • Connection within actors represents data flow
    from producer to consumer.
  • Time Triggered
  • Connection is represented by events driven by
    some clock.
  • Components communicate synchronously with other
    components.
  • Synchronous/Reactive Model
  • Connections represents input and output data
    values aligned with global clock.
  • Its not necessary that every signal must have a
    value at every clock tick.
  • Discrete Event Model
  • Connections represented by set of events placed
    on time line, having values and time stamp.
  • Specially designed for hardware or communication
    systems

11
Examples of models of computation cont
  • Process Network
  • Connection represent sequence of data or values
    of token.
  • Components that map input data to output using
    asynchronous buffered mechanism.
  • Rendezvous Model
  • Components communicate in synchronous atomic
    instantaneous action.
  • Processes exchange data simultaneously, in single
    step.
  • Publish and subscribe Model
  • Connections represented by named event streams.
  • Consumer component registers and interest in the
    stream.
  • Producer component produces and notifies the
    consumer component..
  • Continuous Time Model
  • Differential equations coupled together to find
    solutions (time constraints).
  • Connection represents continuous time signals.

12
Examples of models of computation cont
  • Finite state Machine
  • Different from all the above model, it is
    strictly sequential.
  • Component in the model is a state or mode. Only
    one state active at a time.
  • Connection between states represents transition.
  • It is used for control logic in embedded system
    and in-depth analysis.
  • FSM can be hierarchically combined with other
    concurrent model to get hybrid model called
    chart.

13
Case Study Ptolemy II
  • A project at Berkeley emphasizes on heterogeneous
    combination of models of computation.
  • Composition of model is formed via the notion of
    domain polymorphism.
  • What is domain polymorphism? Its a property of
    components.
  • The components are used in several domain, their
    interface is different for different domain.
  • Application is a set of composed actor, connected
    together, assigned a domain.
  • Govern interaction between components and flow of
    control.
  • To get hierarchical mixture of domains, the
    domain must implement executable interface. E.g.
    three phases, initialization, iteration and
    termination.

14
Component Interface
  • To make the combination of models of computation
    more systematic, Lee argues that type system
    concept should be used.
  • Type system constrains
  • What a component can say about its interface.
  • How compatibility is ensured when components are
    composed.
  • In order to provide dynamic properties of an
    interface, system level type system is
    introduced.

15
Conclusion
  • Embedded system requires a different view of
    computation. As the software engages the physical
    world.
  • The system has to consider time and other
    non-functional properties.
  • Models of computation with stronger properties
    are specialized.
  • This specialization limits the capability, which
    can be overcome by hierarchically combining
    heterogeneous models of computations.
  • System level types capture key features of
    components, and provides a robust and
    understandable composition technology.

16
  • End of Presentation
Write a Comment
User Comments (0)
About PowerShow.com