Berkeley ELENG C149 - An Introductory Capstone Design Course on Embedded Systems

Unformatted text preview:

An Introductory Capstone Design Courseon Embedded SystemsJeff C. JensenNational InstrumentsAustin, TX 78759-3504E-mail: [email protected] A. LeeEECS DepartmentUniversity of California, BerkeleyBerkeley, CA 94720E-mail: [email protected] A. SeshiaEECS DepartmentUniversity of California, BerkeleyBerkeley, CA 94720E-mail: [email protected]—We review an introductory course in embedded systems thatcharacterizes embedded systems not by resource constraints, but ratherby interactions with the physical world. This course teaches studentsthe basics of models, analysis tools, and design for embedded systems.Traditional undergraduate courses in embedded systems focus on ad-hocengineering practices and the use of existing modeling techniques, oftenomitting critical analysis and meta-modeling; we emphasize model-baseddesign of embedded and cyber-physical systems. Students learn how tomodel the physical world with continuous time differential equations,and how to model computation using logic and discrete models suchas state machines. Students evaluate these modeling techniques throughthe use of meta-modeling, illuminating the interplay of practical designwith formal models of systems that incorporate both physical dynamicsand computation. Students learn formal techniques to specify and verifydesired behavior. A combination of structured labs and design projectssolidifies these concepts when applied to the design of embedded andcyber-physical systems with real-time and concurrent behaviors.I. INTRODUCTIONWe share an interdisciplinary approach to teaching embeddedsystems that deviates from the more traditional approach of character-izing embedded systems by resource constraints [1]. While resourceconstraints are an important aspect of embedded systems design,such constraints are part of every engineering discipline and givelittle insight into the interplay between computation and physicaldynamics. Our approach challenges students to draw from topicsin physics, circuits, transducers, digital signal processing, digitalcommunications, networking, operating systems, robotics, controltheory, algorithms, probability, and logic. Students are exposed tothe lowest levels of abstraction for programming embedded systems,including traditional imperative programming models, to the highestlevels of abstraction, including graphical system design tools andconcurrent models of computation. Here, we focus on the hands-onaspects of the course, partitioned into structured laboratories and acapstone senior design project. The theoretical foundation for thecourse follows Lee and Seshia, Introduction to Embedded Systems:A Cyber-Physical Approach [6].The course EECS 149 [2], “Introduction to Embedded Systems,”at the University of California at Berkeley is targeted at advancedundergraduate juniors and seniors in Electrical Engineering and Com-puter Science. Prerequisites include an introductory course in signalsand systems, an introductory course in computer architecture (whichcovers both C and assembly programming), and an introductorycourse in discrete mathematics. While these prerequisites establish acommon language for the technical aspects of embedded systems, webelieve that the ubiquitous and interdisciplinary nature of embeddedsystems requires students to investigate topics beyond computerscience.Cyber-physical systems [3] are dynamic systems that integratephysical processes with computation, often in feedback loops, wherephysical processes affect computations and vice-versa. Model-baseddesign [4], [5] emphasizes mathematical modeling to design, analyze,verify, and validate dynamic systems. Mathematical models are usedto design, simulate, synthesize, and test cyber-physical systems, andare based on system specifications and analysis of the physical contextin which the system resides. A complete model of a cyber-physicalsystem represents the coupling of its physical processes and embed-ded computations. Design of these systems requires understanding ofthese joint dynamics, which is the focus of our course.II. STRUCTURED LABORATORIESThe course begins with a series of structured laboratories, spreadacross weekly, three hour laboratory sessions. Each laboratory con-sists of a pre-laboratory assignment, in-laboratory exercises, anda formal writeup, and starts with a brief lecture that covers theinstruments used, their theory of operation, and the overall goal of thelaboratory. In teams of two or three, students follow prompts from alaboratory guide that lead them towards developing a solution; thesesolutions are not unique, and teams are encouraged to experimentand innovate.In addition to traditional C programming, we use LabVIEW [7](National Instruments) for data acquisition, simulation, and embeddedprogramming. As a graphical system design tool, students see em-bedded programming at a higher level of abstraction than traditionalimperative programming models. LabVIEW supports heterogeneouscompositions of several models of computation: continuous systemsare expressed as ordinary differential equations or differential al-gebraic equations, and discrete systems are expressed as differenceequations, in the LabVIEW Control, Design, and Simulation Module;concurrent state machines are expressed in models created in theLabVIEW Statechart Module; imperative expressions are expressedas Formula Nodes (a subset of ANSI C) or MathScript Nodes(compatible with scripts created by developers using The Mathworks,Inc. MATLAB software and others); data acquisition and programflow are expressed in structured dataflow, which is general enoughto allow the composition of each of these models of computation[9]. While many graphical design tools exist, LabVIEW is attractivebecause of its adoption of platform-based design [10], enablingportability of LabVIEW applications from desktop computers toembedded controllers, wireless sensor networks, or arbitrary targetsthrough synthesis of ANSI C code.Like most graphical system design tools, LabVIEW implementsa limited number of models of computation for the purpose ofserving industry in the design, prototyping, and implementation ofembedded systems; while this enables students to quickly deployembedded software, it is difficult (if not impossible) to compareand critically analyze variations of each model of computation, orto incorporate entirely new models of computation. To better servethe exploration and critical analysis of formal models of compu-tation, we


View Full Document
Download An Introductory Capstone Design Course on Embedded Systems
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view An Introductory Capstone Design Course on Embedded Systems and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view An Introductory Capstone Design Course on Embedded Systems 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?