Training Courses - Course Information
CODE-205 : Introduction to Real-time C++ with UML
Course Particulars
Course Description
The benefits of object-oriented (OO) software development are now well established and many organizations are adopting OO approaches. C++ is the language of choice for many such organizations, particularly those coming from a ‘C’ background. UML has, in recent years, become the most popular modeling language for OO systems, allowing consistent and requirements related software designs to be expressed quickly and concisely. This training course introduces the C++ programming language and relates it to UML. As well as providing the essential language concepts and skills, it will show how UML diagram constructs are realized in C++. In addition, the course covers a number of specific topics relevant to the development of real-time and embedded systems.
Course Objectives
- To introduce the main concepts and benefits of object-orientation programming.
- To explain the essential language elements of C++ and relate them to the UML.
- To introduce design patterns and examine some relevant patterns.
- To consider issues relating to the use of C++ in real-time systems.
Attendees Will Learn
- How to understand program related aspects of the UML.
- How to create and test C++ programs.
- Essential concepts relating to the application of design patterns in C++.
- How to produce C++ applications that operate under a real-time operating system (RTOS).
Pre-requisites
- Experience of procedural programming using a language such as C.
- Some understanding of real-time systems.
- An understanding of UML is not required.
Who Should Attend
- Programmers who need to learn how to use C++ in a real-time development.
Attendees Receive
- An annotated copy of all course presentation material.
- All course exercises and solutions.
Course Format
Presentations and discussion are used to convey concepts, techniques and notation. Much of the course involves practical application of the techniques through programming exercises. Use is made of the GNU C++ compiler to facilitate an understanding of developed designs and quickly aid in the completion of exercises. All the examples are based on real-world, real-time and embedded systems.
Related Courses
- Course ‘UML-204 : Real-time Software Engineering with UML’ provides a useful background in using UML to define and design OO real-time systems.
- Course ‘STUDIO-301 : Customizing Artisan Studio’ provides a foundation for customizing C++ code generation from a Studio model.
Course Outline
Object-Orientation
- Modeling with objects
- Classes and instances.
- Class and object relationships.
- Introduction to the UML.
- The Requirements Architecture.
C++ Essentials
- An overview of C in C++.
- Input/output in C++.
- Constructors and destructors.
- Operator and function overloading.
- Inheritance.
- Virtual functions and classes.
- Static member variables and member functions.
- Using the standard template library.
RTOS Issues
- Thread and process objects
- Shared resource management objects.
- Inter-process communication objects.
- Synchronization objects.
Other Issues
- Design Patterns
- Mixing C and C++.
- Performance and size concerns.



