1 Systems Engineering with Embedded Systems De fleste avanserte industriprodukter i dag inneholder en stadig større del med datakraft. Utviklingen av innebygd datakraft er det vi kaller Embedded Systems eller innbakte/innvevde systemer. Komplekse industri prosjekt krever bidrag fra flere typer fagmiljøer. Det er viktig at alle som deltar i utviklingen av slike produkter arbeider med sammenfallende metodikk og benytter seg av et språk som blir forstått på tvers. Systems Engineering er et fagområde der en søker å utvikle kunnskapen om hvordan slike produkter best kan skapes og utvikles. Arbeidsmetodikk og systemtekning som setter oss i stand til å beherske den kompleksiteten som trengs for å skape gode, pålitelige og sikre produkter som markedet etterspør, vil i fremtiden være helt avgjørende for en fremtidig industriproduksjon. Vi ønsker derfor å øke vår evne til å skape nye avanserte produkter som ivaretar kravene til funksjonalitet, pålitelighet, sikkerhet og i fremtiden også en rekke stadig viktigere miljøkrav. En vanlig feiloppfatning er at datamaskiner stort sett finnes i PC er. Slik er det jo ikke. Datamaskiner kommer i et utall utgaver og størrelser som bygges inn i moderne produkter for å forbedre eller utvide produktenes nytteverdi for dem som skal bruke de. Kompleksiteten blir også større etter hvert som vi stiller nye krav til systemene. Det er dette vi ønsker å forberede studentene på i denne utdanningen. Et godt eksempel på et produkt som til stadighet får utvidet sin funksjonalitet er bilen. Alt i dag kan vi finne datamaskiner i en vanlig bil. De mest avanserte og dyre bilene kan ha langt flere. Alle skal programmeres og kobles sammen med mekaniske og elektriske systemer en bil består av. I dag finner vi ABS, EPS, parkeringsassistanse, navigasjons- og antikollisjons systemer. Listen av funksjoner bilen inneholder blir stadig større. Embedded systems eller innbakte systemer handler om å tilføre den datakraften som en rekke produkter krever og som sikrer at utstyr fungerer som det skal.
2 Systems Engineering with Embedded Systems vil inneholde en introduksjon til Systems Engineering med dybde i disiplinen Embedded systems. Det vil si at studentene skal kunne utvikle hardware og softwarebaserte applikasjoner og forstå hvordan disse systemene skal designes i en Systems Engineering sammenheng. Dette 2-årige studietilbudet er enestående, også i internasjonal sammenheng. Utdannelsen baserer seg på en ingeniørutdanning fra Data eller Elektro eller tilsvarende med godt resultat. Undervisning og alt studiemateriale er på engelsk, noe som har ført til en økende interesse fra studenter utenlands som søker om opptak. 1. year 2. year 1. Sem. 2. Sem. 3. Sem. 4. Sem. SEFS6202* 7.5 SEPM6102* 7.5 SESI 6202* 7.5 SETH6302* 30 SEES6201** 10 SEAD6102* 7.5 IMRS6201*** 10 IMOP6101*** 10 SESP6201** 10 SESH6201** 10 IMRM6101*** 10 * Systems Engineering course accredited through master in Systems Engineering. ** Embedded Systems course accredited through master in Systems Engineering. *** Embedded Systems course accredited through IMPACTS SEFS: Fundamentals of Systems Engineering SEES: Embedded System modelling using UML IMOP: Object Oriented Embedded Systems Programming Languages SEPM: Project Management for Complex Systems SESP: Embedded System programming IMRM: Research Methods and Project Planning SEAD: Systems Architecture and Design IMRS: Real Time Programming SESH: Software and Hardware co-development of embedded systems SETH: Master thesis Note: We reserve the right to make changes in the program.
3 SEES 6201 EMBEDDED SYSTEM MODELLING USING UML 10 ECTS Language of instruction: English Semester: FALL 1. LEARNING OUTCOME After successfully completing this course the student should: Be able to model complex technical computer systems using UML (Unified Model Language) Be able to communicate with domain experts and other professionals in an embedded system engineering project. Be able to work within a project team and critically reflect on roles and responsibilities in such projects. 1. COURSE CONTENT Principles and theories used in the development of UML-based models. Knowledge of the main diagrams of UML and their use, conventions, techniques and practices. Use case analysis and use case diagrams Static modeling using class diagrams Dynamic modeling of objects in action using sequence diagrams Activity diagrams Using state machine diagrams Communication diagrams Packet diagrams Components and component diagrams Timing diagrams Deployment diagrams Development processes and the use of models Hardware modeling and the use of UML UML extension mechanisms Interaction overview diagrams 2. TEACHING METHODS Lectures, tutorials and workshops. 3. PREREQUISITES Experience from object-oriented programming in Java/C++, computer architecture, operative systems, digital techniques and networks. 4. ATTENDANCE Attendance in tutorials and workshops is obligatory. 5. ASSESSMENT METHODS Continuous Assessment None Final assessment Written exam 5 hours.
4 Assessment type/scale A-F Aids allowed All written 6. LITERATURE/READINGS Author Bruce Powel Douglass Year 2004 Title Real Time UML Third Edition, Advances in the UML for Real- Time Systems (Ch 2-4) Publisher ISBN: Bruce Powel Douglass 2007 Real-Time UML Workshop for Embedded Systems (Ch 1) Elsevier Inc. ISBN-10: NAME OF LECTURER Professor Torbjørn Strøm
5 IMOP 6101 Language of instruction: Norwegian/English* Object Oriented Embedded Systems Programming Languages Masters Systems Engineering; electives embedded systems 10 ECTS Semester: FALL 1. OBJECTIVE OF THE COURSE Develop knowledge and critical understanding of object oriented programming languages used in embedded systems. Gaining an understanding for the use of hardware descriptive languages based on object oriented techniques. Develop and apply communicational skills in critical analysis and evaluation of concepts, techniques and tools for use in developing complex embedded systems. 2. COURSE CONTENTS Pointers and memory Classes and objects Inheritance Abstract and interface classes Polymorphism I/O Templates and generic programming Exceptions Support for multithreading Differences between programming languages 3. TEACHING METHODS Lectures, tutorial, workshops and laboratory work. 4. PREREQUISITES 5. ATTENDANCE 6. ASSESSMENT METHODS Continuous Assessment Final assessment Written exam of 5 hours duration. Assessment type/scale A-F Aids allowed All written 7. LITERATURE/READINGS Author Tittle Publisher Year ISBN no Bjarne Strostrup The C++ programming language Addison-Wesley John Barnes Programming in Ada 95 Addison-Wesley Cay S. Horstmann Big Java 4th Edition Wiley
6 Support Author Tittle Publisher Year ISBN no Moholth og Kompendium i C++ Graven 8. NAME OF LECTURERS Associate Professor Olaf Hallan Graven
7 SESP 6201 EMBEDDED SYSTEM PROGRAMMING 10 ECTS Language of instruction: English Semester: SPRING 1. LEARNING OBJECTIVES Develop knowledge and critical understanding of the main areas of real-time systems programming. Communicate and work effectively with project stakeholders within the field of complex real-time systems, and work in concert with domain experts and professionals within this field of study. Develop and apply communicational skills in critical analysis and evaluation of concepts, techniques and tools for use in developing complex real-time systems. 2. COURSE CONTENT Understanding of theories, principles and concepts relating to real-time systems. Working knowledge of the main areas of real-time systems. Develop knowledge about the state of real-time systems development and the ability to understand the necessary supporting operating systems and languages. Understanding of the necessary tools and processes (ROPES/Harmony) required for building realtime systems. Working knowledge of the various architectural configurations and the security issues involved in a modern real-time system. 1. TEACHING METHODS Lectures, tutorial, workshops and laboratory work. 2. PREREQUISITES Embedded System Modeling using UML. 3. ATTENDANCE Full attendance at tutorials and laboratory work is obligatory. 4. ASSESSMENT METHODS Continuous Assessment None Final assessment Written exam of 5 hours duration. Assessment type/scale A-F Aids allowed All written 5. LITERATURE/READINGS Author: Bruce Powel Douglass Bruce Powel Douglass Year 2004 Title Real Time UML Third Edition, Advances in the UML for Real-Time Systems (Ch 1, 4-11) 2007 Real-Time UML Workshop for Embedded Systems (selected workshops) ISBN: Elsevier Inc ISBN-10:
8 6. NAME OF LECTURER Professor Torbjørn Strøm
9 SYLLABUS STATUS: NEW Research Methods and Project planning IMRM6101 Class: System Engineering with Embedded Systems TERM: AUTUMN Credits:10 AIMS AND OBJECTIVES TOPICS To enable students to develop a range of advanced and specialist skills in the planning and undertaking of research or development work including critical review and analysis, experimental design and communication skills. To set these skills in appropriate context for professional practice in research and in industry, and to help students develop a clear understanding of ethical and legal considerations for professional practice. Literature Review Technical Writing Project planning Research Methods Experimental Design and Data Analysis Professional practice, ethics and legal requirements Master degree project work ASSESSMENT STRATEGY Written examination. To gain access to the exam, the student has to complete compulsory laboratory work during the term. PREREQUISITES IMPACTS entrance qualifications. EDUCATIONAL PROCEDURE Subject oriented lectures and tutorials, web based studies and laboratory work. LITERATURE Required literature Handouts Bob Huges and Mike Cotterell: Software Project Management MCGraw-HillWiley Publishing ISBN: X NAME OF LECTURERS Associate Professor Øyvind Eek Jensen
10 SYLLABUS STATUS: NEW SAFETY CRITICAL SYSTEMS Class: System Engineering with Embedded Systems TERM: AUTUMN IMRS6201 Credits:10 AIMS AND OBJECTIVES TOPICS Build models of real-time and safety-critical systems Simulate real-time and safety-critical systems Analyze real-time and safety-critical systems Real-time systems Safety-critical systems Hybrid systems Specification,verification, and validation of the above mentioned classes of systems ASSESSMENT STRATEGY Written examination. To gain access to the exam, the student has to complete compulsory laboratory work during the term. PREREQUISITES Completed all previous course work EDUCATIONAL PROCEDURE Subject oriented lectures and tutorials, web based studies and laboratory work. LITERATURE Required literature Web based material To be announced
11 SESH 6201 Language of instruction: English* SOFTWARE/HARDWARE CO- DEVELOPMENT OF EMBEDDED SYSTEMS 10 ECTS Semester: SPRING 1. LEARNING OBJECTIVES Co-development is the set of emerging techniques and methodologies which allow for the simultaneous design of hardware and software, facilitated by a holistic view which profits by modern development process models and non-fragmented tool chains. Student will gain an understanding of these essential practices on the conceptual level. The main objective is not to offer specific competence in any particular specialist development step, but rather to build a conceptual platform which will enable students to take part in system level teamwork in an industrial environment and to appreciate the most important emerging methodological challenges facing the embedded systems domain. 2. COURSE CONTENT Embedded systems overview Design productivity Development metrics and cost models Processor technology Tool chains Co-modelling from specification through analysis and design to implementation Co-validation and co-verification The power dissipation bottleneck Energy efficient co-synthesis Power-saving software and hardware techniques 3. TEACHING METHODS Lectures, assignments, exercises, and laboratory work. 4. PREREQUISITES Experience from object-oriented programming in Java/C++, computer architecture, operating systems, digital techniques and networks. 5. ATTENDANCE Participation in laboratory work is obligatory. 6. ASSESSMENT METHODS Continuous Assessment None Final assessment Written exam of 5 hours duration. Handwritten and printed aids permitted Assessment type/scale A-F. 7. LITERATURE/READINGS Author Year Title Publisher
12 Bruce Powell Douglass 2004 Real Time UML Third Edition, Advances in the UML for Real-Time Systems ( selected chapters) Øystein Ra 2008 SW/HW Co-development of Embedded Systems HiBu web course and lecture notes Frank Vahid and 2002 Embedded System Design John Wiley & Sons, Tony Civargis Marcus T. Schmidt, Bashir M. Al-Hashimi and Petru Eles 8. NAME OF LECTURER Associate Professor Dag Samuelsen 2004 System-Level Design Techniques for Energy-Efficient Embedded Systems Inc. Kluwer Academic Publisher
13 SEFS 6102 FUNDAMENTALS OF SYSTEMS ENGINEERING 7,5 ECTS Language of instruction: English Semester: AUTUMN 9. LEARNING OBJECTIVES After successfully completing this course the student should: Have an understanding of the Systems Engineering discipline and be able to use the core principles and processes for designing effective systems. Be able to determine customer needs and distinguish between needs and solutions. Be able to translate customer requirements into design specifications. Be able to analyze the system requirements to make the system reliable, supportable and maintainable throughout the system s life cycle. Be able to design systems that solve identified needs or perceived market opportunities effectively and efficiently throughout the entire system's operational life. 10. COURSE CONTENT Concept and origin of systems engineering; differences with other engineering branches. Overview of the Systems Engineering Process. Definition of systems engineering as a process that transforms a functional need into the set of requirements that enable system design and development. Concept and type of stakeholders. Techniques for eliciting the requirements from the stakeholders. Definition and types of requirements. High-level requirements versus detailed requirements. The need domain and the solution domain. System Capabilities and Characteristics. System scope, context diagrams, use case scenarios, checklists, input/output matrices and quality function deployment. Developing a Functional Architecture. Transforming detailed requirements into necessary functions, and evolving from functions to system elements and system structure. Functional, allocated and physical architectures. Integration, verification and validation. Verification of requirements and validation of the system as a solution to a need or opportunity. Integration of system elements; integration strategies. Reviews as part of the systems process: business requirements review, system requirements review, system design review, preliminary design review, critical design review, etc. Fundamentals of Life Cycle Analysis. The concept of operational effectiveness, introduction to supportability engineering processes, and integrating life-cycle considerations into the system design process. Systems Engineering Management Plan. Purpose and content of the SEMP as the overarching document that governs a systems engineering endeavour. 11. TEACHING METHODS
14 The course combines lectures and readings to develop an understanding of key systems engineering concepts and principles. Participants will be exposed to numerous case studies and illustrative examples. A team project will allow students to integrate their knowledge and apply it in a team environment. The course is designed to facilitate the sharing of experiences among the professionals who participate in the program. 12. PREREQUISITES Master s degree entry level. 13. ATTENDANCE Full attendance during the intensive course week is obligatory. 14. ASSESSMENT METHODS Continuous Assessment None Final assessment 30% group project report 70% individual report from project Student must achieve pass grades in both the group and individual reports in order to pass the course. Assessment type/scale A-F Aids allowed All 15. LITERATURE/READINGS 'Systems Engineering: Principles and Practices', Alexander Kossiakoff and William Sweet, John Wiley & Sons NAME OF LECTURER Professor Alberto Sols
15 SEPM 6102 PROJECT MANAGEMENT OF COMPLEX SYSTEMS 7,5 ECTS Language of instruction: English Semester: SPRING 1. LEARNING OBJECTIVES After successfully completing this course the student should: Be able to analyze and use the project as a tool to meet a set of requirements. Be able to develop their project manager s role as the application of knowledge, skills, tools, and techniques through the five phases of initiating, planning, executing, controlling and closing work in a project. Be able to decompose the project scope in tasks, arranged in a work breakdown structure, and to select the most appropriate technique for planning the performance of those tasks. Be able to practice the tools and methodologies useful for effective management of systems engineering and engineering management project. Be able to use advanced concepts of project management and understand the building blocks for managing complex systems. Be able to do the follow-up of the project regarding technical progress, costs, quality and schedule. Be able to understand and implement proper business ethics in their project manager role. 2. COURSE CONTENT Concepts of project and of project management. The iron triangle: technical performance, cost, schedule. Benefits and obstacles of project management; basic concepts of project management; defining roles of leadership in a project. Bounding project scope: creating the project charter. Project taxonomy; implications in project management of the classification of a project. Work breakdown and organizational structures. Work breakdown structure; organizational structures; selecting the organizational form. Concept of task planning. Main planning techniques: Gantt charts, PERT and CPM diagrams, and critical chain. Leading and managing the project team. The difference between management and leadership; power and the influencing of behavior; sources of authority; team-building and conflict resolution techniques; successful motivation practices; effective leader communications; the Belbin roles. Project control. Concept of project balance scorecard and of key performance indicators. Earned value analysis; change control, and configuration management. Concepts of risk and risk management; risk mitigation strategies. Concepts of quality and quality management. Fast-tracking projects: concept, reasons for fast-tracking, and mainstrategies for so doing. Evaluating, directing, and closing out a project. Independent assessments; project close-out; lessons learned.
16 Business ethics The importance of ethics in the PM profession. 3. TEACHING METHODS This modular course combines lectures, classroom activities, case studies, and readings to develop an understanding of project management concepts and principles for complex systems. A project assignment allows participants to integrate and apply their knowledge. 4. PREREQUISITES Core of Systems Engineering 5. ATTENDANCE Full attendance during the intensive course week is obligatory. 6. ASSESSMENT METHODS Continuous Assessment Team report from in-class project to be presented by the end of the week. Final assessment Individual report from 10 weeks homework period after the course. Assessment type/scale A-F Aids allowed All 7. LITERATURE/READINGS Author Year Title Publisher A J Shenar & D Dir 2007 Reinventing Project Management Harvard Harold Kerzner 2006 Project Management Case Studies Wiley 8. NAME OF LECTURERS Alberto Sols, Jan Erik Korssjøen
17 SEAD 6102 SYSTEM ARCHITECTURE AND DESIGN 7.5 ECTS Term: 2012/2013 Language of instruction: English* Semester: SPRING 1. LEARNING OUTCOME After successfully completing this course the student should: Understand the notion of modeling to reason about the problem, understand the complexities, and to communicate the architecture with others. Be able to perform and understand the practical heuristics for developing good architectures. Be able to analyze the relationship between early architecture decisions driven by customer requirements and the concept of operations, and system operational and support costs. Be able to analyze the implications of open system architectures and the use of commercial technologies and standards (COTS). Be able to do functional analysis, decomposition and system requirements flow-down. Be able to do an OO analysis, decomposition, and system requirements flow-down. 2. COURSE CONTENT This course includes an introduction to system architecture; the strategic role of architectures; an architecture metaphor; technology, business, and organizational trends that are increasing system complexity; and the importance of architecture to system integrators. It provides a review of SE fundamentals, reviewing the systems engineering process from customer needs to system requirements; benefits of a disciplined systems engineering process; introduction of the hands-on case study which students will model during the class. Presented material provides instruction on developing the functional architecture and includes an overview of the architecture process and developing a logical architecture; scenario tracing. Also covered is a module on functional architecture trade-offs, extending the decomposition process; architectural considerations and trade-offs. The functional architecture is then traced to the process of developing the physical architecture to include an interface architecture. Material is presented to discuss the distinction between functional and physical architectures; developing a physical architecture that implements a logical design; the role and importance of interfaces; specifying an interface architecture. The notion of a complete system model emerges. This includes integrating functional and physical views into a comprehensive system model, linking requirements to models and the flow-down of requirements to every level of the system design; building and using executable functional models. In class exercises reinforce the functional architecting process. Object oriented approaches, to include the OMG Systems Modelling Language (SysML) are presented. The SysML diagrams are presented, and in class exercises reinforce the use of SysML.
18 Other topics include: Architecture Assessment; Architecture Frameworks Characteristics of a good architecture, architectural metrics, examples of system architectures and trade-offs; Object-oriented design and its relation to functional decomposition; the Zachman, DoDAF and other frameworks for describing system architectures. Presentation of in-class work are conducted as necessary. 3. TEACHING METHODS The course will comprise a combination of lectures and readings to develop an understanding of key systems engineering concepts and principles. Participants will be exposed to numerous case studies and illustrative examples. In class exercises, performed in small teams allow the students to integrate their knowledge and apply it in a team environment. The course is designed to facilitate the sharing of experiences among the professionals who participate in the program. 4. PREREQUISITES Core of Systems Engineering 5. ATTENDANCE Full attendance during the intensive course week is obligatory. 6. ASSESSMENT METHODS Continuous Assessment Ongoing in-class team project. Class and project participation is mandatory. Final assessment An individual practicum model and report created over the 10 week homework period accounts for for 90%. Individual 3-5 pages paper reviewing one of the provided papers counts for 10%. Assessment type/scale A-F Aids allowed All, provided papers 7. LITERATURE/READINGS Author Year Title Publisher Friedentahl, Moore, Steiner (Booch, Maksimchuk, Engle, Young, Conallen, Houston) A Practical Guide to SysML, Second Edition Object-Oriented Analysis and Design with Applications
19 8. NAME OF LECTURER Professor Robert Cloutier