Computing For Embedded System IEEE Instrumentation and Measurement Technology Conference Budapest, Hungary, May 21-23, Author : Edward A. Lee UC Berkeley, Berkeley, CA 94720, USA ID : E ID : E Interpreter : YU - HAU LIOU Interpreter : YU - HAU LIOU Department of Computer Science and Information Engineering Da-Yeh University
Outline Embedded System A general definition of embedded systems is: computing systems with tightly coupled hardware and software integration, that are designed to perform a dedicated function.
Outline Embedded System Embedded System needs the minimum code. Embedded System needs the minimum code. Embedded System must have task Embedded System must have task priority with scheduling thread priority with scheduling thread highly. highly. Embedded System needs the highest Embedded System needs the highest reliability. reliability.
Outline Embedded System Embedded System is different from general-purpose processor considerably. Embedded System is different from general-purpose processor considerably.
Computing For Embedded System Framework enforces the patterns and implements the models of computation. Frameworks can be built to support useful architectural patterns. The design pattern rather than as a language feature.
Computing For Embedded System The framework is a set of constraints on The framework is a set of constraints on components and their interaction, and a set of benefits that derive from those constraints. components and their interaction, and a set of benefits that derive from those constraints.
Computing For Embedded System We really want are architecture design languages rather than architecture description languages. That is, their focus should not be on describing current practice, but rather on improving future practice.
Computing For Embedded System VHDL ( Very High Speed Integrated Circuit Hardware Description ) Language VHDL ( Very High Speed Integrated Circuit Hardware Description ) Language JAVA JAVA SYSTEM C SYSTEM C
Computing For Embedded System State Machine 1. In finite state machines (FSMs) FSM models are amenable to in-depth formal analysis, using for example model checking, and thus can be used to avoid surprising behavior. Moreover, FSMs are easily mapped to either hardware or software implementations Abstract state machines (ASMs)
Computing For Embedded System Models of computation 1. Synchronous/reactive models The components represent relations between input and output values at each tick, and are usually partial functions with certain technical restrictions to ensure determinacy. 2. Discrete-event models The components process events in chronological order, so is popular for specifying hardware and simulating telecommunications systems. 3. Cycle-driven models Cycle driven models associate components with clocks and stimulate computations regularly according to the clock ticks.
Are patterns suitable for Embedded System ?
Performance TimeCost What does this illustration mean ? ─ Implementation is momentous.
Computing For Embedded System CPSR ( CPSR ( We now have 330 patterns (many nearly complete and many still "placeholders" -- alas!) in the "Pattern Pool". There are more than 115 patterns in use.Pattern Pool
Computing For Embedded System Technical report Dr.Michel J. Pont “Can patterns increase the reliability of embedded hardware- software co-designs?”, IEE Colloquium on Hardware-Software Co-Design, Savoy Place, London, 8 December, IEE Colloquium Digests #111.
Final We believe that the best way to learn design patterns is to be coached by by someone who has used them while your team works on a real project. In this way, when they will be useful, your coach can see that, and help your team use them. We believe that the best way to learn design patterns is to be coached by by someone who has used them while your team works on a real project. In this way, when they will be useful, your coach can see that, and help your team use them. From : From :