KEMBAR78
Embedded system design challenges | PPTX
EMBEDDED SYSTEMS
DESIGN CHALLENGES
Henzinger,Thomas A., and Joseph Sifakis. "The embedded systems design
challenge." International Symposium on Formal Methods. Springer Berlin
Heidelberg, 2006.
Aditya Kamble
Abstract
Embedded systems design
Current scientific foundations
Hardware v/s software
Analytical v/s computational
Current engineering practices
Model-based
Critical v/s Best-effort engineering
Heterogeneity
Constructivity
Embedded Systems Design
• Systems design is the process of deriving, from requirements, a model or
an abstract representation of a system from which a system can be
generated more or less automatically.
• In embedded systems, holistic approach that integrates essential
paradigms from hardware design, software design, and control theory in a
consistent manner.
CURRENT SCIENTIFIC
FOUNDATIONS
Hardware versus software design
Hardware
• Parallel components
• Represented by analytical models
(equations)
• Models specify their transfer functions.
• How data flows across multiple
components.
• Deterministic (or probabilistic) models
• Correct functionality, and even
performance and robustness are often
specified discretely
Software
• Sequential components
• Represented by computational models
(programs)
• Semantics of models is defined
operationally by an abstract execution
engine
• How control flows across multiple
components.
• Models may be nondeterministic
• Continuous performance and robustness
measures refer to physical resource levels
Analytical versus Computational
Modeling
Analytical
• Electrical Engineering
• Equation based
• Eg. Netlist representation of a
circuit
• Deal naturally with concurrency and
with quantitative constraints
• Difficulties with partial and
incremental specifications and with
computational complexity.
Computational
• Computer Science
• Program based
• Eg. Program written in an imperative
language
• Naturally support nondeterministic
abstraction hierarchies and a rich
theory of computational complexity,
• Difficulties dealing with concurrency
and incorporating physical
constraints.
CURRENT ENGINEERING
PRACTICES
Model-based Design
Language-based methods
• Lie in the software tradition
• Centered on a particular
programming language with a
particular target run-time system
• Eg. Ada, RT-Java
Synthesis-based methods
• Come out of the hardware
tradition
• Start from a system description in
a tractable and structural
fragment of a hardware
description language derive an
implementation satisfying
constraints.
• Eg.VHDL andVerilog
Model-based technologies
• The synchronous languages embody an abstract hardware semantics
(synchronicity) within different kinds of software structures (functional;
imperative).
• Eg. Lustre and Esterel
• Implementations require a separation between the components to be
implemented in hardware, and those to be implemented in software; different
design-space exploration techniques provide guidance in making such partitioning
decisions.
• Modern technologies attempt to be more generic in their choice of semantics and
bring extensions in two directions: independence from a particular programming
language; and emphasis on system architecture as a means to organize
computation, communication, and constraints.
• UML and AADL
Weakness
• “The lack of analytical tools for computational models to deal with physical
constraints; and the difficulty to automatically transform
noncomputational models into efficient computational ones”
• Need to better understand relationships and transformations between
heterogeneous models.
Model transformations
• Design process by iterating model construction, model analysis, and model
transformation.
• Difficult to manually improve on the code produced by a good optimizing
compiler from programs(computational models).
• Code generators often produce inefficient code from equation-based
models.
• Develop high-level programming languages that can express reaction
constraints, together with compilers that guarantee the preservation of the
reaction constraints on a given execution platform.
Critical versus Best-Effort Engineering
Critical Engineering
• Tries to guarantee system safety at
all costs
• Design as a constraint-satisfaction
problem
• Based on worst-case analysis and
on static resource reservation
• Eg. safety-critical systems in
avionics
• Satisfy dependability, ‘hard’ worst-
case requirements
Best-Effort Engineering
• Tries to optimize system
performance (and cost)
• Design as an optimization problem
• based on average-case analysis and
on dynamic resource allocation
• Eg. telecommunications.
• Different degrees of satisfaction,
soft deadlines (QoS)
Bridging the gap
• The increasing computing power of system-on-chip and network-on-chip
technologies allows the integration of critical and noncritical applications
on a single chip.
• Reduction in communication costs and increase in hardware reliability.
• More rational and cost-effective management of resources.
• Treat the satisfaction of critical requirements as minimal guaranteed QoS
level.
• Integration of boolean-valued and quantitative methods.
Two Demands on a Solution
• Heterogeneity: property of embedded systems to be built from
components with different characteristics.
• Constructivity: possibility to build complex systems that meet given
requirements, from building blocks and glue components with known
properties.
Encompassing Heterogeneity
• The meaningful composition of heterogeneous components to ensure their
correct interoperation.
• The meaningful refinement and integration of heterogeneous viewpoints
during the design process.
• Execution semantics.
• Synchronous execution: system’s execution as a sequence of global steps.
• Asynchronous execution: does not use any notion of global computation
step
• Interaction semantics: combinations of actions performed by system
components in order to achieve a desired global behaviour.
• Atomic
• Non-atomic
Achieving Constructivity
• “Build a system meeting a given set of requirements from a given set of
components”
• Hardware synthesis techniques, software compilation techniques, algorithms
(e.g., for scheduling, mutual exclusion, clock synchronization), architectures
(such as time-triggered; publish-subscribe), as well as protocols (e.g., for
multimedia synchronization) are few solutions.
• Compositionality rules: infer global system properties from the local
properties of subsystems
• Non-interference rules: guarantee that during the system construction
process, all essential properties of subsystems are preserved
Summary
• We need a mathematical basis for systems modeling and analysis which
integrates both abstract-machine models and transfer-function models in
order to deal with computation and physical constraints in a consistent and
operative manner.
• It should be possible to combine practices for critical systems engineering to
guarantee functional requirements, with best-effort systems engineering to
optimize performance and robustness.
• The theory, the methodologies, and the tools need to encompass
heterogeneous execution and interaction mechanisms for the components of
a system, and they need to provide abstractions that isolate the sub problems
in design that require human creativity from those that can be automated.
THANKYOU!

Embedded system design challenges

  • 1.
    EMBEDDED SYSTEMS DESIGN CHALLENGES Henzinger,ThomasA., and Joseph Sifakis. "The embedded systems design challenge." International Symposium on Formal Methods. Springer Berlin Heidelberg, 2006. Aditya Kamble
  • 2.
    Abstract Embedded systems design Currentscientific foundations Hardware v/s software Analytical v/s computational Current engineering practices Model-based Critical v/s Best-effort engineering Heterogeneity Constructivity
  • 3.
    Embedded Systems Design •Systems design is the process of deriving, from requirements, a model or an abstract representation of a system from which a system can be generated more or less automatically. • In embedded systems, holistic approach that integrates essential paradigms from hardware design, software design, and control theory in a consistent manner.
  • 4.
  • 5.
    Hardware versus softwaredesign Hardware • Parallel components • Represented by analytical models (equations) • Models specify their transfer functions. • How data flows across multiple components. • Deterministic (or probabilistic) models • Correct functionality, and even performance and robustness are often specified discretely Software • Sequential components • Represented by computational models (programs) • Semantics of models is defined operationally by an abstract execution engine • How control flows across multiple components. • Models may be nondeterministic • Continuous performance and robustness measures refer to physical resource levels
  • 6.
    Analytical versus Computational Modeling Analytical •Electrical Engineering • Equation based • Eg. Netlist representation of a circuit • Deal naturally with concurrency and with quantitative constraints • Difficulties with partial and incremental specifications and with computational complexity. Computational • Computer Science • Program based • Eg. Program written in an imperative language • Naturally support nondeterministic abstraction hierarchies and a rich theory of computational complexity, • Difficulties dealing with concurrency and incorporating physical constraints.
  • 7.
  • 8.
    Model-based Design Language-based methods •Lie in the software tradition • Centered on a particular programming language with a particular target run-time system • Eg. Ada, RT-Java Synthesis-based methods • Come out of the hardware tradition • Start from a system description in a tractable and structural fragment of a hardware description language derive an implementation satisfying constraints. • Eg.VHDL andVerilog
  • 9.
    Model-based technologies • Thesynchronous languages embody an abstract hardware semantics (synchronicity) within different kinds of software structures (functional; imperative). • Eg. Lustre and Esterel • Implementations require a separation between the components to be implemented in hardware, and those to be implemented in software; different design-space exploration techniques provide guidance in making such partitioning decisions. • Modern technologies attempt to be more generic in their choice of semantics and bring extensions in two directions: independence from a particular programming language; and emphasis on system architecture as a means to organize computation, communication, and constraints. • UML and AADL
  • 10.
    Weakness • “The lackof analytical tools for computational models to deal with physical constraints; and the difficulty to automatically transform noncomputational models into efficient computational ones” • Need to better understand relationships and transformations between heterogeneous models.
  • 11.
    Model transformations • Designprocess by iterating model construction, model analysis, and model transformation. • Difficult to manually improve on the code produced by a good optimizing compiler from programs(computational models). • Code generators often produce inefficient code from equation-based models. • Develop high-level programming languages that can express reaction constraints, together with compilers that guarantee the preservation of the reaction constraints on a given execution platform.
  • 12.
    Critical versus Best-EffortEngineering Critical Engineering • Tries to guarantee system safety at all costs • Design as a constraint-satisfaction problem • Based on worst-case analysis and on static resource reservation • Eg. safety-critical systems in avionics • Satisfy dependability, ‘hard’ worst- case requirements Best-Effort Engineering • Tries to optimize system performance (and cost) • Design as an optimization problem • based on average-case analysis and on dynamic resource allocation • Eg. telecommunications. • Different degrees of satisfaction, soft deadlines (QoS)
  • 13.
    Bridging the gap •The increasing computing power of system-on-chip and network-on-chip technologies allows the integration of critical and noncritical applications on a single chip. • Reduction in communication costs and increase in hardware reliability. • More rational and cost-effective management of resources. • Treat the satisfaction of critical requirements as minimal guaranteed QoS level. • Integration of boolean-valued and quantitative methods.
  • 14.
    Two Demands ona Solution • Heterogeneity: property of embedded systems to be built from components with different characteristics. • Constructivity: possibility to build complex systems that meet given requirements, from building blocks and glue components with known properties.
  • 15.
    Encompassing Heterogeneity • Themeaningful composition of heterogeneous components to ensure their correct interoperation. • The meaningful refinement and integration of heterogeneous viewpoints during the design process. • Execution semantics. • Synchronous execution: system’s execution as a sequence of global steps. • Asynchronous execution: does not use any notion of global computation step • Interaction semantics: combinations of actions performed by system components in order to achieve a desired global behaviour. • Atomic • Non-atomic
  • 16.
    Achieving Constructivity • “Builda system meeting a given set of requirements from a given set of components” • Hardware synthesis techniques, software compilation techniques, algorithms (e.g., for scheduling, mutual exclusion, clock synchronization), architectures (such as time-triggered; publish-subscribe), as well as protocols (e.g., for multimedia synchronization) are few solutions. • Compositionality rules: infer global system properties from the local properties of subsystems • Non-interference rules: guarantee that during the system construction process, all essential properties of subsystems are preserved
  • 17.
    Summary • We needa mathematical basis for systems modeling and analysis which integrates both abstract-machine models and transfer-function models in order to deal with computation and physical constraints in a consistent and operative manner. • It should be possible to combine practices for critical systems engineering to guarantee functional requirements, with best-effort systems engineering to optimize performance and robustness. • The theory, the methodologies, and the tools need to encompass heterogeneous execution and interaction mechanisms for the components of a system, and they need to provide abstractions that isolate the sub problems in design that require human creativity from those that can be automated.
  • 18.

Editor's Notes

  • #4 1. For example, software design is the process of deriving a program that can be compiled; hardware design, the process of deriving a hardware description from which a circuit can be synthesized. 2. cannot be simply an extension of hardware design, nor of software design, but must be based on a new foundation that subsumes techniques from both worlds. Because current design theories and practices for hardware, and for software, are tailored towards the individual properties of these two domains
  • #6 -abstract execution engine: also called a virtual machine, or an automaton. -the basic operation for constructing hardware models is the composition of transfer functions; the basic operation for constructing software models is the product of automata. -software e.g., number of messages exchanged; number of failures tolerated hardware, eg. clock frequency, energy consumption, latency, mean-time to failure, and cost.
  • #9 Recent trends have focused on combining both approaches (hardware/software codesign) and on gaining maximal independence from a specific implementation platform.
  • #12 Usually design proceeds neither strictly top-down, from the requirements to the implementation, nor strictly bottom-up, by integrating library components, but in a less directed fashion.
  • #13 Meeting hard constraints and making the best possible use of the available resources seem to be two conflicting requirements. The hard real-time approach leads to low utilization of system resources. On the other hand, soft approaches take the risk of temporary unavailability.
  • #15 Encompassing heterogeneity looks outward, towards the integration of theories to provide a unifying view for bridging the gaps between analytical and computational models, and between critical and best-effort techniques. Achieving constructivity looks inward, towards developing a tractable theory for system construction.
  • #16 Sync exec & atomic: hardware, synchronous programming languages time-triggered systems Async exec & non-atomic: sdl, uml, ada, java