A systems engineering laboratory in the context of the Bologna Process Matthias Kühnle, Martin Hillenbrand EWME, Budapest, 28.05.2008 Institut für Technik der Informationsverarbeitung (ITIV) Institutsleitung: Prof. Dr.-Ing. K.D. Müller-Glaser Prof. Dr.-Ing. J. Becker
Outline Challenges and goals of embedded system design in education Overview Laboratory Didactical aspects in the laboratory Detailed design flow in the laboratory Acquired competences Assessment of individual performance Summary Slide 2
Challenges Challenges in education didactical view Winning competence instead of transferring knowledge (Bologna) Learning by experience as individual process Focus on student activity Preparation for demands of industry Challenges in systems engineering - technical view Embedded design Model based development Project oriented development Tool Usage Systems Engineering Slide 3
Goals - competences Experience in preparing and presenting subjects Teamwork Process based development Model based software design Object oriented programming Integration and test techniques Big Picture on embedded design Autonomous approach of solving complex problems Assessment criteria given in the beginning Slide 4
The lab at once - a continuous companion Specification Competences Embedded system comprehension Software design with UML Coding and debugging Integration and test Student to student communication Slide 5
Target System Autosampler Robot arm from a system stack for chemical analysis (chromatography) Mechanical elements, Stepper motors, Sensors and power amplifier Sensors and Actuators RP-System Embedded RT-Linux for application FPGA for generation of actuator signals and interface to Autosampler Software Design Student PC GUI Graphical User Interface (GUI) Interface to RP System Slide 6
Robot Management RT Framework Services: RT-/NRT-Task Io Management Semaphore Mailbox Device Driver Linux Kernel RTAI Kernel User Space Embedded Application Windows Application Robot Management Command Terminal Windows Operating System PowerPC Processor Prozessor PowerPC FPGA LAN AS Simulator RT Framework Kernel Space Kernel Space User Space Software / Hardware Architecture x86 Prozessor LAN Autosampler Sensor-Actuator-Unit Slide 7
Didactical aspects - Student Presentations Lab dates are introduced by short presentations 10 minutes of presentation Subjects concerning the lab Subject selection made by tutors Following question session about 10 minutes Every student becomes an expert in a specific subject Sharing of knowledge all over lab attendants Slide 8
Didactical aspects - Stud²COMM Presentation of subjects concerning the lab from students for students Tutor as team leader Teamwork and self organization Industry oriented development task Iterative improvement of the Lab Slide 9
Didactical aspects - Project oriented lab Tutor introduces task and context Students understand the requirements Students design a solution Students implement the solution Tutor watches and intervenes if necessary to reach the lab s goals Students integrate and test their solution Tutor assesses the students solution, puts it in the context of the task Slide 10
Designflow leaned on V-Model ENG.1 / ENG.2 Visit at manufacturer First hand Information ENG.10 manufacturer Provided Student Activity Input form Tutor s with high priority ENG.3 sens-act-modul rp, ml310 rt-linux sw abstr. system description. Architectur- ENG.4 use-case-diagram Collaboration-diagram testconcept for ENG.8 Designreview Codegeneration ENG.5 detailed sw-draft class-diagram Implementing sw-abstr. testconcept for ENG.7 Verification ENG.6 sw-creation / unit-test testdocumentation ENG.7 Integration and test communication test cases ENG.5 ENG.8 sw-test using simulator ENG.9 system integration cross-compile ML310 mainly on student's own authority proposal for solution and alternatives given from tutor mainly on student's own authority Slide 11
System Requirements Visit at the Autosampler Manufacturer Introduction in Chromatography Modular stack for liquid analysis Position and purpose of Autosampler in the stack Discussion with engineers Understanding of the System ENG.1 / ENG.2 Visit at manufacturer First hand information ENG.10 manufacturer ENG.3 sens-act-modul rp, ml310 rt-linux sw abstr. Provided system description. Student Activity ENG.4 use-case-diagram Collaboration-diagram testconcept for ENG.8 Verification ENG.9 system integration cross-compile ML310 ENG.8 sw-test using simulator Architectur- ENG.5 detailed sw-draft class-diagram Implementing sw-abstr. testconcept for ENG.7 ENG.7 Integration and test communication test cases ENG.5 Designreview Codegeneration ENG.6 sw-creation / unit-test testdocumentation Slide 12
System Specification Presentation from tutor The lab s target system Basic Software requirements Design flow Question session RP-System Operating System and realtime requirements Software abstraction layer for OS independent implementation Simulation Tools Kernel Space Application SpaceEmbedded User PowerPC Processor Prozessor FPGA Robot Management RT Framework Services: RT-/NRT-Task Io Management Semaphore Mailbox Device Driver Linux Kernel RTAI Kernel LAN Autosampler Sensor-Actuator-Unit Provided ENG.1 / ENG.2 Visit at manufacturer First hand information Student Activity Application SpaceWindows User Space Kernel Space ENG.3 sens-act-modul rp, ml310 rt-linux sw abstr. system description. ENG.4 use-case-diagram Collaboration-diagram testconcept for ENG.8 Windows Operating System LAN Command Terminal Verification Robot Management AS Simulator RT Framework x86 Prozessor ENG.8 sw-test using simulator ENG.10 manufacturer ENG.9 system integration cross-compile ML310 Architectur- ENG.5 detailed sw-draft class-diagram Implementing sw-abstr. testconcept for ENG.7 ENG.7 Integration and test communication test cases ENG.5 Designreview Codegeneration ENG.6 sw-creation / unit-test testdocumentation Slide 13
Software Architecture Design Working into the software abstraction layer Formulation of detailed software requirements Use Case Diagrams System Understanding Criteria for software integration Working into UML tool Modeling scenarios with Use Case diagrams Uniform understanding of the tasks Criteria for passing the software integration ENG.1 / ENG.2 Visit at manufacturer First hand information ENG.3 sens-act-modul rp, ml310 rt-linux sw abstr. Provided system description. Student Activity ENG.4 use-case-diagram Collaboration-diagram Verification testconcept for ENG.8 ENG.5 detailed sw-draft Architectur- class-diagram Implementing sw-abstr. testconcept for ENG.7 ENG.10 manufacturer ENG.9 system integration cross-compile ML310 ENG.8 sw-test using simulator ENG.7 Integration and test communication test cases ENG.5 Designreview Codegeneration ENG.6 sw-creation / unit-test testdocumentation Slide 14
Detailied software design Object oriented (OO) modeling of software architecture Class diagrams Additional UML diagrams Object diagram Sequence diagram Communication diagram Class Diagrams Generated C++ code Criteria for software module integration Generation and evaluation of C++ code Criteria for passing the software module integration ENG.1 / ENG.2 Visit at manufacturer First hand information ENG.3 sens-act-modul rp, ml310 rt-linux sw abstr. Provided system description. Student Activity ENG.4 use-case-diagram Collaboration-diagram testconcept for ENG.8 Verification ENG.10 manufacturer ENG.9 system integration cross-compile ML310 ENG.8 sw-test using simulator Architectur- ENG.5 detailed sw-draft class-diagram Implementing sw-abstr. testconcept for ENG.7 ENG.7 Integration and test communication test cases ENG.5 Designreview Codegeneration ENG.6 sw-creation / unit-test testdocumentation Slide 15
Module implementation and unit test Coding and debugging in MS Visual Studio Integrating the software abstraction layer (RT-Framework) Usage of SW abstraction framework Code style Unit tests and results Partitioning of tasks Detailed description as comment in code for documentation generator Implementation of units / Methods Implementation of unit test and unit testing ENG.1 / ENG.2 Visit at manufacturer First hand information ENG.10 manufacturer ENG.3 sens-act-modul rp, ml310 rt-linux sw abstr. Provided system description. Student Activity ENG.4 use-case-diagram Collaboration-diagram testconcept for ENG.8 Verification ENG.9 system integration cross-compile ML310 ENG.8 sw-test using simulator Architectur- ENG.5 detailed sw-draft class-diagram Implementing sw-abstr. testconcept for ENG.7 ENG.7 Integration and test communication test cases ENG.5 Unit Unittest Designreview Codegeneration ENG.6 sw-creation / unit-test testdocumentation Slide 16
Integration and test Combination of Units and SW abstraction framework Manufacturer Testing against simulator on PC Cross compilation for RP Platform and test with real autosampler Documentation Visit from Manufacturer Presentation of result Discussion about realization alternatives Student ENG.1 / ENG.2 Visit at manufacturer First hand information ENG.3 sens-act-modul rp, ml310 rt-linux sw abstr. Provided system description. ENG.10 manufacturer ENG.9 system integration cross-compile ML310 Sandwich complete Student Activity ENG.4 use-case-diagram Collaboration-diagram Verification testconcept for ENG.8 ENG.5 detailed sw-draft Architectur- class-diagram Implementing sw-abstr. testconcept for ENG.7 ENG.8 sw-test using simulator ENG.7 Integration and test communication test cases ENG.5 Designreview Codegeneration ENG.6 sw-creation / unit-test testdocumentation Slide 17
Acquired competences Experience in preparing and presenting subjects Teamwork Process based development Techniques in integration and test Model based software design Object oriented programming Big Picture on embedded design Slide 18
Assessment Presentation techniques Flow of specification Team integration Style of design Style of implementation Oral Examination of theoretical Background A set of assessment criteria is given for these topics for individual performance evaluation Slide 19
Summary Slide 20
Thank you for your attention! Slide 21
Outlook Stud²COMM will be used in the following semester Project oriented development Process based development Tutor as team leader Criteria for assessment Slide 22
Designflow leaned on V-Model Automotive SPICE State of the art process assessment systems containing mechanical, hardware and software components Get in touch with process based proceeding V-Model Potent lifecycle model Top down approach Well known from lectures Slide 23
Role of tutors Teamleader Not classical role as instance of knowledge Slide 24
Student activities Software development for sensor / actuator unit from chemical analysis device Model based, object oriented Software design with UML Coding and debugging Integration and test Student to student communication (Stud²COMM) Project oriented learning Winning competences in embedded design Slide 25
Prerequisites for lab attendance 3rd or 4th year students Study focus on systems engineering Basic knowledge of C syntax Theoretical knowledge in object orientation (OO) Basic knowledge in design alternatives for hardware and modeling techniques Slide 26
ENG.1 / ENG.2 Visit at manufacturer First hand information ENG.10 manufacturer ENG.1 / ENG.2 Visit at manufacturer First hand information ENG.10 manufacturer Provided ENG.3 sens-act-modul rp, ml310 rt-linux sw abstr. system description. ENG.9 system integration cross-compile ML310 Provided ENG.3 sens-act-modul rp, ml310 rt-linux sw abstr. system description. ENG.9 system integration cross-compile ML310 Student Activity ENG.4 use-case-diagram Collaboration-diagram testconcept for ENG.8 Verification ENG.8 sw-test using simulator Student Activity ENG.4 use-case-diagram Collaboration-diagram testconcept for ENG.8 Verification ENG.8 sw-test using simulator Architectur- ENG.5 detailed sw-draft class-diagram Implementing sw-abstr. testconcept for ENG.7 ENG.7 Integration and test communication test cases ENG.5 Architectur- ENG.5 detailed sw-draft class-diagram Implementing sw-abstr. testconcept for ENG.7 ENG.7 Integration and test communication test cases ENG.5 Designreview Codegeneration ENG.6 sw-creation / unit-test testdocumentation Designreview Codegeneration ENG.6 sw-creation / unit-test testdocumentation ENG.1 / ENG.2 Visit at manufacturer First hand information ENG.10 manufacturer ENG.1 / ENG.2 Visit at manufacturer First hand information ENG.10 manufacturer ENG.3 sens-act-modul rp, ml310 rt-linux sw abstr. Provided system description. Student Activity ENG.4 use-case-diagram Collaboration-diagram testconcept for ENG.8 Verification ENG.9 system integration cross-compile ML310 ENG.8 sw-test using simulator ENG.3 sens-act-modul rp, ml310 rt-linux sw abstr. Provided system description. Student Activity ENG.4 use-case-diagram Collaboration-diagram testconcept for ENG.8 Verification ENG.9 system integration cross-compile ML310 ENG.8 sw-test using simulator Architectur- ENG.5 detailed sw-draft class-diagram Implementing sw-abstr. testconcept for ENG.7 ENG.7 Integration and test communication test cases ENG.5 Architectur- ENG.5 detailed sw-draft class-diagram Implementing sw-abstr. testconcept for ENG.7 ENG.7 Integration and test communication test cases ENG.5 Designreview Codegeneration ENG.6 sw-creation / unit-test testdocumentation Designreview Codegeneration ENG.6 sw-creation / unit-test testdocumentation ENG.1 / ENG.2 Visit at manufacturer First hand information ENG.10 manufacturer ENG.1 / ENG.2 Visit at manufacturer First hand information ENG.10 manufacturer Provided ENG.3 sens-act-modul rp, ml310 rt-linux sw abstr. system description. ENG.9 system integration cross-compile ML310 Provided ENG.3 sens-act-modul rp, ml310 rt-linux sw abstr. system description. ENG.9 system integration cross-compile ML310 Student Activity ENG.4 use-case-diagram Collaboration-diagram testconcept for ENG.8 Verification ENG.8 sw-test using simulator Student Activity ENG.4 use-case-diagram Collaboration-diagram testconcept for ENG.8 Verification ENG.8 sw-test using simulator Architectur- ENG.5 detailed sw-draft class-diagram Implementing sw-abstr. testconcept for ENG.7 ENG.7 Integration and test communication test cases ENG.5 Architectur- ENG.5 detailed sw-draft class-diagram Implementing sw-abstr. testconcept for ENG.7 ENG.7 Integration and test communication test cases ENG.5 Designreview Codegeneration ENG.6 sw-creation / unit-test testdocumentation Designreview Codegeneration ENG.6 sw-creation / unit-test testdocumentation Slide 27
Motivation Motivation for engineering skills are experiences in: Embedded design Model based development Project oriented development Tool Usage Systems Engineering Motivation for assembling new education techniques Student activity Winning competence by doing Learning by experience Change from diploma to bachelor / master Quality assurance and improvement for higher education Slide 28
The content of the Lab - Poster Einführungsveranstaltung: 15.04.2008, 14:00 Uhr ITIV, Seminarraum (Raum 339) Sensor / Aktor Einheit SW-Lastenheft Systembeschreibung Systemverständnis eingebetteter HW/SW Architekturen Modellbasiertes Software Design ENG.9 Systemintegration Cross Compile Robot Management RT Framework Services: RT-/NRT-Task Io Management Semaphore Mailbox User Space Embedded Application Devive Driver Linux Kernel RTAI Kernel Windows Application Robot Management Command Terminal RtFramework Windows Operating System x86 Prozessor PowerPC Prozessor Präsentationstechnik ENG.4 Komm. Diagramm Test Koncept ENG.8 ENG.8 Software Test Simulator Teamwork Testprotokoll FPGA Lan AS Simulator Lan Autosampler Sensor-Aktor-Einheit Architektur Code Gen. Design- ENG.5 ENG.7 SW Fein-Design Klassen Diagramm Test Konzept ENG.7 Integration und Test Kommunikation Testfälle aus ENG.5 ENG.6 Programmierung Unit Test Testdokumentation Eigenverantwortung Hinweise von Tutor Eig Hin env we era ise ntw vo ortu nt n ut o g r r rt uto isie n T prior vo n g en isu erd we s w Ein view Re Pflichtenheft, studentische Aktivität Besuch vom Hersteller Objektorientierte Programmierung in C++ ENG.3 Vorgegeben Studentische Aktivität ENG.10 Kompetenzen im Fokus des Labors Infos aus erster Hand Kernel Space Herstellerbesuch Kernel Space ENG.1 / ENG.2 User Space Lastenheft, vorgegeben Testprotokoll Testprotokoll Test gegen Testkonzept aus ENG.4 und ENG.5 Dipl. Ing. Martin Hillenbrand, hillenbrand@itiv.uka.de, Tel: +49 721 608 6501 Dipl. Ing. Matthias Kühnle, kuehnle@itiv.uka.de, Tel: +49 721 608 2509 Slide 29
Tools Artisan Real time Studio Software modeling in UML and C++ Code generation Microsoft Visual Studio Coding Debugging Compiling Simulator Antioch3000 (ITIV) SVN Subversion Doxygen Generation of documentation based on comments in C++ code Slide 30