Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Embedded system design challenges
1. 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
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.
5. 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
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.
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
• 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
10. 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.
11. 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.
12. 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)
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 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.
15. 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
16. 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
17. 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.
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
-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.
Recent trends have focused on combining both approaches (hardware/software codesign) and on gaining maximal independence from a specific implementation platform.
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.
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.
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.
Sync exec & atomic: hardware, synchronous programming languages time-triggered systems
Async exec & non-atomic: sdl, uml, ada, java