embedded software l.
Skip this Video
Loading SlideShow in 5 Seconds..
Embedded Software PowerPoint Presentation
Download Presentation
Embedded Software

Loading in 2 Seconds...

play fullscreen
1 / 16

Embedded Software - PowerPoint PPT Presentation

  • Uploaded on

Embedded Software. Original Paper by: Edward A. Lee Eal@eecs.berkeley.edu Presentation and Review by: Paresh .P. Bafna bafna@usc.edu. What is Embedded Software? . Software Realization of mathematical functions. Like a black box, takes input & gives output.

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
Download Presentation

Embedded Software

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
embedded software

Embedded Software

Original Paper by: Edward A. Lee


Presentation and Review by: Paresh .P. Bafna


what is embedded software
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.
just software on small computers
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.
just software on small computers cont
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.
limitations of present se methods
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.
limitations of present se methods cont
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..).
actor oriented design
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.
actor oriented design cont
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.
examples of models of computation
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
examples of models of computation cont
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.
examples of models of computation cont12
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.
case study ptolemy ii
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? It’s 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.
component interface
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.
  • 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.