Andrew Nelson, A. Molnos, Ashkan Beyranvand Nejad, D. Mirzoyan, S. Cotofana, K. Goossens
{"title":"Embedded computer architecture laboratory: a hands-on experience programming embedded systems with resource and energy constraints","authors":"Andrew Nelson, A. Molnos, Ashkan Beyranvand Nejad, D. Mirzoyan, S. Cotofana, K. Goossens","doi":"10.1145/2530544.2530551","DOIUrl":"https://doi.org/10.1145/2530544.2530551","url":null,"abstract":"Embedded systems are complex, requiring multi-disciplinary skills for their design. Developing appropriate educational curricula is a non trivial problem. Embedded system design requires both theoretical and practical understanding. It is common in embedded system education to provide practical laboratory sessions to put into practice what is learnt from lectures and textbooks.\u0000 In this paper, we present our embedded systems laboratory that is given as part of the Embedded Computer Architecture (ECA) module at Delft University of Technology. Our laboratory provides practical, hands-on experience of programming a multiprocessor embedded system, that is prototyped on an FPGA. We provide details of the hardware platform and software APIs that are provided to the students, along with the laboratory assignment that was given to the ECA students in the 2011-2012 academic year. We present example results that were submitted by groups taking part in the laboratory, and describe the lessons we learned from our own practical experience of giving the laboratory.","PeriodicalId":121254,"journal":{"name":"Workshop on Embedded and Cyber-Physical Systems Education","volume":"23 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2012-10-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116882793","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Steffen Jaschke, Steffen Büchner, Sigrid E. Schubert, André Schäfer, R. Brück
{"title":"Competence oriented embedded systems course for computer science students","authors":"Steffen Jaschke, Steffen Büchner, Sigrid E. Schubert, André Schäfer, R. Brück","doi":"10.1145/2530544.2530550","DOIUrl":"https://doi.org/10.1145/2530544.2530550","url":null,"abstract":"This paper describes the evaluation process of an embedded systems laboratory course by observing students' solution approaches in an embedded systems project. Furthermore, the course's conditions, organization, objectives and a software/hardware environment are presented. This environment allows the relocation of many tasks from the laboratory to the students' home workplace. Additionally, the biggest hurdles for the participants are summarized.","PeriodicalId":121254,"journal":{"name":"Workshop on Embedded and Cyber-Physical Systems Education","volume":"66 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2012-10-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124535139","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Teaching embedded systems the Berkeley way","authors":"Edward A. Lee, S. Seshia, J. Jensen","doi":"10.1145/2530544.2530545","DOIUrl":"https://doi.org/10.1145/2530544.2530545","url":null,"abstract":"This paper describes an approach to teaching embedded systems from the perspective of cyber-physical systems. We place less emphasis on the mechanics of embedded system design and more on critical thinking about design technologies and on how the design of embedded software affects the behavior, safety, and reliability of cyber-physical systems. The course gives students experience with three distinct levels of design of embedded software, namely bare-iron programming (software that executes in the absence of an operating system), programming within a real-time operating system, and model-based design. In each case, students are taught to think critically about the technology, to probe deeply the mechanisms and abstractions that are provided, and to understand the consequences of chosen abstractions on overall system design. This paper describes a laboratory experience that first exposes students to the three levels of abstraction through a structured sequence of exercises, followed by an open-ended capstone project. Several example projects are described.","PeriodicalId":121254,"journal":{"name":"Workshop on Embedded and Cyber-Physical Systems Education","volume":"24 5","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2012-10-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"113967935","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Seiko Akayama, Shin Kuboaki, K. Hisazumi, T. Futagami, T. Kitasuka
{"title":"Development of a modeling education program for novices using model-driven development","authors":"Seiko Akayama, Shin Kuboaki, K. Hisazumi, T. Futagami, T. Kitasuka","doi":"10.1145/2530544.2530548","DOIUrl":"https://doi.org/10.1145/2530544.2530548","url":null,"abstract":"Modeling education is necessary for software engineers because object-oriented modeling is used widely in the computing industry. However, there may be problems in terms of the \"necessity of models,\" \"modeling methodology,\" and \"model refinement\" when learning about modeling.\u0000 Model-driven development (MDD) can verify the accuracy of models and generate the source code, which allows a programmer to reduce the development time required to check the software so he or she can focus on the modeling process. Thus, modeling should be taught with MDD because it allows students to acquire modeling skills in a short period of time.\u0000 We developed an education program using MDD for novices. The first concept used by this program is \"software modeling education using MDD,\" which allows students to repeat model refinement in a short period of time. The second concept used by this program is \"spiral education in the fundamental techniques and development experience,\" which allows students to learn fundamental techniques and understand methods that utilize these fundamental techniques.\u0000 We conducted a trial course in a college, and the results confirmed improvement of modeling skills and reduction in the above-stated problems.","PeriodicalId":121254,"journal":{"name":"Workshop on Embedded and Cyber-Physical Systems Education","volume":"29 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2012-10-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123437823","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Teaching cyber-physical systems: a programming approach","authors":"Kerstin Bauer, K. Schneider","doi":"10.1145/2530544.2530547","DOIUrl":"https://doi.org/10.1145/2530544.2530547","url":null,"abstract":"One major problem for the design of cyber-physical systems is the understanding of problems that can arise from the interaction of discrete and continuous behaviors, i.e., the behaviors of hybrid systems whose discrete states enable attached differential equations. Tools like Simulink, Labview, Scicos, and Dymola are powerful choices for the simulation of such systems. However, the modeling capabilities of these tools are limited to a composition of given blackbox modules, so that they miss the notion of typical programs. To make use of algorithmic models, we recently proposed an extension of the synchronous programming language Quartz to model, simulate, and verify cyber-physical systems. We developed an operational semantics of this language that formally specifies a simulator, and we also defined a translation to hybrid state transition systems for the formal verification of these systems.\u0000 In this paper, we describe how our Quartz language and the related Averest toolset can be used for teaching cyber-physical systems. We present the concept of an introductory course for modeling, simulation, and verification of these systems in a Master program in Computer Science. The goal of the lecture is to provide a broad overview to introduce the students to the main research areas in this field. Besides a theoretical foundation, we emphasize the combination of lecture courses with practical exercises using our Averest tools for simulation and verification. This way, we show our students several effects that may occur in the design of cyber-physical systems like zeno behaviors, urgent transitions, real-time requirements, etc.","PeriodicalId":121254,"journal":{"name":"Workshop on Embedded and Cyber-Physical Systems Education","volume":"45 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2012-10-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122484893","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"RIOS: a lightweight task scheduler for embedded systems","authors":"Bailey Miller, F. Vahid, T. Givargis","doi":"10.1145/2530544.2530553","DOIUrl":"https://doi.org/10.1145/2530544.2530553","url":null,"abstract":"RIOS (Riverside-Irvine Operating System) is a lightweight portable task scheduler written entirely in C. The scheduler consists of just a few dozens lines of code, intended to be understandable by students learning embedded systems programming. Non-preemptive and preemptive scheduler versions exist. Compared to the existing open-source solutions FreeRTOS and AtomThreads, RIOS on average has 95% fewer lines of total C code for a sample multitasking application, a 71% smaller executable, and 70% less scheduler time overhead. RIOS source code and examples are available for free at http://www.riosscheduler.org. RIOS is useful for education and as a stepping stone to understanding real-time operating system behavior. Additionally, RIOS is a sufficient real-time scheduling solution for various commercial applications.","PeriodicalId":121254,"journal":{"name":"Workshop on Embedded and Cyber-Physical Systems Education","volume":"4 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2012-10-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128682420","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Automating exercise generation: a step towards meeting the MOOC challenge for embedded systems","authors":"Dorsa Sadigh, S. Seshia, M. Gupta","doi":"10.1145/2530544.2530546","DOIUrl":"https://doi.org/10.1145/2530544.2530546","url":null,"abstract":"The advent of massively open online courses (MOOCs) poses several technical challenges for educators. One of these challenges is the need to automate, as much as possible, the generation of problems, creation of solutions, and grading, in order to deal with the huge number of students. We collectively refer to this challenge as automated exercise generation. In this paper, we present a step towards tackling this challenge for an embedded systems course. We present a template-based approach to classifying problems in a recent textbook by Lee and Seshia, and outline approaches to problem and solution generation based on mutation and satisfiability solving. Several directions for future work are also outlined.","PeriodicalId":121254,"journal":{"name":"Workshop on Embedded and Cyber-Physical Systems Education","volume":"171 ","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2012-10-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"120872553","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Microprocessor-based systems design teaching platform for undergraduate students in computer engineering","authors":"D. C. Dyer, Y. Aung","doi":"10.1145/2530544.2530552","DOIUrl":"https://doi.org/10.1145/2530544.2530552","url":null,"abstract":"This paper describes a teaching platform that comprises a commercial FPGA-based board called the DE0 and a custom complementary circuit board of our design called Teaching Auxiliary Board (TAB). The combination contains an ARM Cortex-M1 soft-core processor, numerous analogue and digital peripherals, different types of memory and a Cortex-M3 highly-integrated microcontroller. The deliberate intention was to support laboratory experiments related to embedded systems design in a manner that was of greater educational benefit than using commercial products alone. The content of three core courses in the BEng degree programme for Computer Engineering is outlined to show the context in which the DE0/TAB platform is used. Thereafter, the purpose and expectations of five 2-hour laboratory sessions are presented in detail to illustrate the range of topics to which the platform can be applied.","PeriodicalId":121254,"journal":{"name":"Workshop on Embedded and Cyber-Physical Systems Education","volume":"197 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2012-10-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121748686","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
S. Bhattacharyya, W. Plishker, A. Gupta, Chung-Ching Shen
{"title":"Teaching cross-platform design and testing methods for embedded systems using DICE","authors":"S. Bhattacharyya, W. Plishker, A. Gupta, Chung-Ching Shen","doi":"10.1145/2077370.2077376","DOIUrl":"https://doi.org/10.1145/2077370.2077376","url":null,"abstract":"DICE (the DSPCAD Integrative Command Line Environment) is a package of utilities that facilitates efficient management of software projects. Key areas of emphasis in DICE are cross-platform operation, support for projects that integrate heterogeneous programming languages, and support for applying and integrating different kinds of design and testing methodologies. The package is being developed at the University of Maryland to facilitate the research and teaching of methods for implementation, testing, evolution, and revision of engineering software.\u0000 The platform- and language-independent focus of DICE makes it an effective vehicle for teaching high-productivity, high-reliability methods for design and implementation of embedded systems for a variety of courses. In this paper, we provide an overview of features of DICE --- particularly as they relate to testing driven design practices --- that are useful in embedded systems education, and discuss examples and experiences of applying the tool in courses at the University of Maryland aimed at diverse groups of students --- undergraduate programming concepts for engineers, graduate VLSI architectures (aimed at research-oriented students), and graduate FPGA system design (aimed at professional Master's students).","PeriodicalId":121254,"journal":{"name":"Workshop on Embedded and Cyber-Physical Systems Education","volume":"51 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2011-10-13","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121925865","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Embedded system design 2.0: rationale behind a textbook revision","authors":"P. Marwedel, M. Engel","doi":"10.1145/2077370.2077372","DOIUrl":"https://doi.org/10.1145/2077370.2077372","url":null,"abstract":"Seven years after its first release, it became necessary to publish a new edition of the author's text book on embedded system design. This paper explains the key changes that were incorporated into the second edition. These changes reflect seven years of teaching of the subject, with two courses every year. The rationale behind these changes can also be found in the paper. In this way, the paper also reflects changes in the area over time, while the area becomes more mature. The paper helps understanding why a particular topic is included in this curriculum for embedded system design and why a certain structure of the course is suggested.","PeriodicalId":121254,"journal":{"name":"Workshop on Embedded and Cyber-Physical Systems Education","volume":"31 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2011-10-13","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133738189","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}