Systems Engineering with Embedded Systems
Most advanced industry products of today contain an ever increasing amount of computing power. The development of built-in computing power is what we call Embedded Systems. Complex industry projects are requiring contribution from different professions. It is of vital importance that those that are
participating in the development of such products work with coherent methodology, and apply a language that is understood by everyone. Systems Engineering is an area of expertise that provides such a common language, and is an area where the knowhow about how to best create new products is developed.
Methodology and systems thinking that is enabling us to master the complexity needed to create good, reliable and safe products in high demand will in the future be of vital importance for advanced industrial production. Therefore, we are seeking to increase our ability to create advanced products that is taking care of the requirements for functionality, reliability, safety and in the future also satisfying increasing environmental requirements.
A common misconception is that computers basically are the same as PCs. This is not the case.
Computes come in a variety of versions and sizes and are built into modern products to improve or widen the usability of the products for their users. The complexity is also increasing as we are demanding more of the products. This reality is what we will aim to prepare our students for in this program.
A good example of a product that continuously is expanding its functionality is the automobile. Today, we can easily find 25-30 computers in an ordinary car. The most advanced and expensive cars may have far more. All of these need to be programmed and connected to the mechanical and electrical systems comprising the car. Today, we find ABS, EPS, parking assistance, navigation and anti-collision systems, and so on. The list of functions is ever increasing.
Embedded systems is dealing with the issue of giving the computing power that different kinds of products are requiring and that ensures that the equipment is working as it is supposed to.
Systems Engineering with Embedded Systems will contain an introduction to Systems Engineering with in-depth courses in the discipline Embedded systems. This means that the students will develop hardware and software based applications and understands how these systems are to be designed in a Systems Engineering setting.
This 2-year program is unique, also internationally. The program is based on a bachelor degree in either Computer Science or Electrical Engineering, with good grades. The lectures and all material are in English, a fact that has led to the program's popularity among international students.
1.
year
2.
year
1. Sem. 2. Sem. 3. Sem. 4. Sem.
SEFS6102* 7.5 SEPM6102* 7.5 SESI 6202* 7.5 SETH6301 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
SEAD: Systems Architecture and Design SESP: Embedded System programming
IMRM: Research Methods and Project Planning SESI: Systems Integration
IMRS: Safety Critical Systems
SESH: Software and Hardware co-development of embedded systems SETH: Master thesis
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.
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: 0-321-16076-2
Bruce Powel Douglass
2007 Real-Time UML Workshop for Embedded Systems (Ch 1)
Elsevier Inc.
ISBN-10: 0-7506-7906-9
7. NAME OF LECTURER Professor Torbjørn Strøm
IMOP 6101 Object Oriented Embedded Systems Programming Languages 10 ECTS Language of instruction: Norwegian/English*
Masters Systems Engineering; electives embedded systems
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 1991 0-201-53992-6
John Barnes Programming in Ada 95 Addison-Wesley 2006 978-0-321-34078-8 Cay S. Horstmann Big Java 4th Edition Wiley 2010
Support
Author Tittle Publisher Year ISBN no
Moholth og Graven
Kompendium i C++
8. NAME OF LECTURERS
SESP 6201
EMBEDDED SYSTEM PROGRAMMING
10 ECTS Language of instruction:English Semester: SPRING 1. LEARNING OBJECTIVESDevelop 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 real-time 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 Year 2004 Title
Real Time UML Third Edition, Advances in the UML for Real-Time Systems (Ch 1, 4- 11)
ISBN:
0-321-16076-2
Bruce Powel Douglass
2007 Real-Time UML Workshop for Embedded Systems
(selected workshops)
Elsevier Inc
6. NAME OF LECTURER Professor Torbjørn Strøm
IMRM6101 RESEARCH METHODS 10 ECTS Language of instruction: English Semester: SPRING 9. LEARNING OBJECTIVES
The objective of this course is to present an introduction to the important processes and tasks
involved in conducting a research project.The course will introduce general concepts and problems in science theory and research methodology .
At the end of this course the students should be able :
To study research methodology for computer science and engineering
To search information and to have a criticism of the sources
To develop their analytical and critical evaluation skills of published literature
To understand basic concepts of experiment design, data analysis and use of measurement instrumentation
To write scientific papers
To present scientific papers
10. COURSE CONTENT
Science theory
Management Research Process ( library searches, literature review, article analysis,…)
Research methodology for computer science and engineering
Qualitative and Quantitative Research Design and Analysis
Presenting scientific results (writing of a thesis, paper, report or research proposal; oral presentations)
Research Project management skills
Elements of engineering ethics
11. TEACHING METHODS
Lecture, case studies, tutorials
12. PREREQUISITES
Master’s degree entry level.
13. ATTENDANCE
Full attendance during the course week is obligatory.
14. ASSESSMENT METHODS
Continuous Assessment
Team Project (20% of final grade)
Final assessment
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
During the class, some papers and online information will be given
Research Design: Qualitative, Quantitative, and Mixed Methods Approaches by John W. Creswell
16. NAME OF LECTURER
SYLLABUS
STATUS: NEWSAFETY CRITICAL SYSTEMS IMRS6201
Class: System Engineering with Embedded Systems TERM: AUTUMN Credits:10 AIMS AND OBJECTIVES
Build models of real-time and safety-critical systems
Simulate real-time and safety-critical systems
Analyze real-time and safety-critical systems TOPICS
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
SESH 6201 SOFTWARE/HARDWARE CO-DEVELOPMENT OF EMBEDDED SYSTEMS 10 ECTS Language of instruction:English* 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
Douglass 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
Tony Civargis
2002 Embedded System Design John Wiley & Sons, Inc.
Marcus T. Schmidt, Bashir M. Al-Hashimi and Petru Eles
2004 System-Level Design Techniques for Energy-Efficient Embedded Systems
Kluwer Academic Publisher
8. NAME OF LECTURER
SEFS 6102 FUNDAMENTALS OF SYSTEMS ENGINEERING 7,5 ECTS Language of instruction: English Semester: AUTUMN 17. 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.
18. 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.
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.
20. PREREQUISITES Master’s degree entry level. 21. ATTENDANCE
Full attendance during the intensive course week is obligatory.
22. 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
23. LITERATURE/READINGS
'Systems Engineering: Principles and Practices', Alexander Kossiakoff and William Sweet, John Wiley & Sons 2011
24. NAME OF LECTURER Professor Alberto Sols
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.
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
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.
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
8. NAME OF LECTURER Professor Robert Cloutier
SESI 6202 SYSTEMS INTEGRATION 7.5 ECTS Term: 2013/2014 Language of instruction: English Semester: FALL 1. LEARNING OUTCOME
After successfully completing this course the student should:
Be able to understand and implement the technical and business process issues involved in systems integration.
Be able to use state of the art theories and practices of several integration aspects with a special focus on interface management and testability.
Be able to use system integration in a life cycle concept of the projects.
2. COURSE CONTENT
This course includes an introduction to course content, teaching methodology, guidelines for the exams and the final project and grading criteria. The concept of system integration will be introduced with the help of definitions and approaches. Other topics include:
System Integration Architecture – Understand the concept, approaches, and drivers for system integration architecture.
Business Processes Integration – Understand the concept of a business process and the need to conduct integrated business process analysis as a prerequisite for system integration.
Integrated Business Requirements Analysis – Understand the process of conducting integrated requirements collection and analysis and why it is important to analyse requirements in an integrated manner.
Commercial off-the-shelf Products Integration – Understand the issues related to integrating commercial off-the-shelf (COTS) products, factors affecting COTS integration, benefits of COTS, pitfalls of COTS, critical success factors and challenges.
Interoperability and Standards – Understand the role of interoperability and standards in SI. Topics include: interoperability concept, models, requirements, activities, standards and metrics for interoperability.
Interface Control and Management – Understand the role of interface control and management in SI. Topics include: definition, assessment, and documentation of interfaces, interface control documents (ICDs), key components of interface control, interface management, interface architecture, system interface agreement, and interface definition language (IDL) and technologies.
Integrated Testing, Verification, Validation – Understand the concepts and objectives of testing, verification, and validation.
Integrated Program Management – Understand the need and challenge to integrate the program management and system integration function in large/complex multi-vendor projects.
Extended Enterprise Application Integration – Understand the concepts of EAI and EEAI and the role of system integration in designing and implementing them.
3. TEACHING METHODS
This modular course combines lectures and readings to develop an understanding of system integration concepts and principles. Guest speakers/practitioners from industry will provide participants with real-life case studies. Finally, the team project will allow students to integrate their knowledge in a team environment.
4. PREREQUISITES
SEAD 6101 System Architecture and Design 5. ATTENDANCE
Full attendance during the intensive course week is obligatory. 6. ASSESSMENT METHODS
Continuous Assessment
In-class team project report counts for 10%. Class participation is mandatory. Final assessment
Team project report from 10 weeks post-course homework period counts for 50%. Individual project report from 10 weeks post-course homework period counts for 40%.
The student must achieve pass grades in both the group and the individual reports in order to pass the course. Assessment type/scale A- F Aids allowed All 7. LITERATURE/READINGS
Author Year Title Publisher
M A Mische 1998 Defining Systems Integration CRC Press
8. NAME OF LECTURERS