1 / 12

Review of “Embedded Software” by E.A. Lee

Review of “Embedded Software” by E.A. Lee. Katherine Barrow Vladimir Jakobac. Roadmap. Overview Programming Abstraction Limits of current Software Engineering methodologies Actor-Oriented Design Models of Computation Weaknesses of the paper Summary Future Research Challenges. Overview.

inoke
Download Presentation

Review of “Embedded Software” by E.A. Lee

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Review of “Embedded Software” by E.A. Lee Katherine Barrow Vladimir Jakobac

  2. Roadmap • Overview • Programming Abstraction • Limits of current Software Engineering methodologies • Actor-Oriented Design • Models of Computation • Weaknesses of the paper • Summary • Future Research Challenges

  3. Overview • Embedded software differs from traditional software in that it interfaces with and is subject to the constraints of the physical world. • Current software engineering methods do not satisfy the unique requirements of embedded software. • Actor-oriented design is an abstraction paradigm that addresses the issues of concurrency, communication and time.

  4. Programming Abstraction Properties of embedded software are: • timeliness • concurrency • liveness • interfaces • heterogeneity • reactivity • synchronous languages: Esterel, Lustre, Signal, Argos

  5. Limitations of current design methods • Object-oriented design is a procedural abstraction with passive objects • Real-time operating systems use microkernels for task scheduling • Scheduling techniques are not compositional • Real-time CORBA • event handling • real-time scheduling

  6. Actor-oriented Design • Abstract syntax defines how a design can be decomposed into interconnected components • Concrete syntax is a visual or textual representation of the abstract syntax • Models of computation (semantics) • concurrency • varying latencies • abstractions over hardware

  7. Examples of Models of Computation • Time Triggered (TT) & Discrete-time (DT) • Cp-Cn: indefinitely run processes – signals with data values every clock tick (Scenic) • used for digital signal processing • Synchronous/Reactive (SR) • Cp-Cn: relations btw. I/O signals – signals (at time ticks) • used for safety-critical control systems • excellent for concurrent models with irregular events vs. limited platforms, limited SW support • Discrete Events (DE) • Cp-Cn: - signals that carry events placed in time • used for specifying HW (HDL), for simulating telecommunications systems (VHDL, Verilog) • expensive to implement in SW • Continuous Time (CT) • Cp-Cn: relations btw. signals – continuous-time signals • modeling the physical systems – differential equations

  8. Examples… (cont.) • Process Networks (PN), Dataflow (DF) • Cp-Cn: processes/threads (computations) – asynchronous messages (flow of data) • excellent for signal processingvs. awkward for specifying complicated control logic • Rendezvous (CSP) • Cp-Cn: processes/threads – synchronous message passing • used for C/S database models, multitasking of HW resources • good at resource sharing vs. deadlocks • Publish and Subscribe • Cp-Cn: producer/consumer of events – event streams • Finite State Machines (FSM) • strictly sequential (not concurrent) • Cp-Cn: state/mode – transitions • excellent for describing control logic (safety-critical systems)vs. number of states can get very large • solution: use FSMs hierarchically combined with concurrent models  “*charts”

  9. Component interface • Heterogeneous models • Type systems, strong typing • limit component’s interface, affect framework compatibility; poor reuse of components • ensure software correctness; improved run time efficiency, high safety degree • Extended types • dynamic properties of components • using automata and polymorphism • Reflection on the program dynamics • communication protocols • process state

  10. Weaknesses • Components must be designed to the particular framework • limited reusability • Communication protocols btw. concurrent processes – type checked or not? • Poor organization • objectives of the paper were not clearly stated

  11. Summary • Standard abstractions in software development to be abandoned • Concurrency and time – first-class status • Goal: modules that dynamically reconfigure the system

  12. Further research challenges • Frameworks with properties that better match the application domain • reintroduce time • safety and liveness • Hardware-software partnership – balance btw. their sequential and parallel execution styles • configurable hardware • networking • hardware and software design techniques that minimize power consumption • Extending types • novel syntactic language support • Human-computer interaction

More Related