TRAINING SERVICES


CARNICA TECHNOLOGY offers a broad spectrum of consulting and educational services, reaching from introductory to advanced teaching levels on methodology, technology and language to tool training courses. These services are taught as open standard courses at fixed dates and locations. Usually, training courses are taught in German language. Alternatively, all offered courses can be led at your premises. On-site courses may be customized to meet the needs of your organization. In-house courses can be given in English or German language.

Our mission is to bridge the gap of knowledge and experience by providing you with the tools and all prerequisites you need to be successful.

Telelogic has certified the technical competence of CARNICA TECHNOLOGY to best consult, educate and coach our customers in OOP and UML using RHAPSODY, the industry's leading Model-Driven Development environment for systems, software and test.

As one of a few distribution companies for Telelogic's RHAPSODY in Europe, CARNICA TECHNOLOGY's service carries the "Rhapsody Certified Trainer" Award.




The SysML and UML Start-Up Training courses are essential ingredients of a successful introduction of the new methodology in your company. CARNICA TECHNOLOGY offers SysML Start-Up Training courses for system engineers and UML Start-Up courses for software engineers. Depending on your existing background and knowledge, courses range from three to five days. For Telelogic Rhapsody, we offer an open standard course, teaching the concepts and techniques of object-oriented software development, using this leading model-driven development environment. There are specific courses for object-oriented software development in embedded and real-time environments using hardware with limited resources. Hands-on exercises using Telelogic Rhapsody allow the students to practice concepts introduced in the lecture.

Read more about our training courses for: Contact us with your requirements and request details.




Object-oriented programming (OOP) is a computer programming paradigm. Many programming languages (like C++, UML) support object-oriented programming.

Object-oriented programming was born at the end of the 1960s, when the nascent field of software engineering had begun to discuss the idea of a software crisis. As hardware and software became increasingly complex, how could software quality be maintained? Object-oriented programming in part addresses this problem by strongly emphasizing modularity in software.

The idea behind object-oriented programming is that a computer program may be seen as comprising a collection of individual units, or objects, that act on each other, as opposed to a traditional view in which a program may be seen as a collection of functions, or simply as a list of instructions to the computer. Each object is capable of receiving messages, processing data, and sending messages to other objects. Each object can be viewed as an independent little machine or actor with a distinct role or responsibility.

Object-oriented programming claims to promote greater flexibility and maintainability in programming, and is widely popular in large-scale software engineering. It is easier to learn for those new to computer programming than previous approaches, and its approach is often simpler to develop and to maintain, lending itself to more direct analysis, coding, and understanding of complex situations and procedures than other programming methods.

CARNICA TECHNOLOGY offers Object-oriented Programming Training as five days course. Contact us for details.




In software engineering, the Unified Modeling Language (UML) is a non-proprietary specification language for object modeling. UML is a general-purpose modeling language that includes a standardized graphical notation used to create an abstract model of a system, referred to as a UML model. UML is extendable as it offers a profile mechanism for customization. If a concept is not present, it can be introduced by defining a stereotype. The semantics of extension by profiles has been improved with the UML 2.0 major revision.

UML is officially defined at the Object Management Group (OMG) by the UML metamodel – a Meta-Object Facility metamodel (MOF). Like other MOF-based specifications, the UML metamodel and UML models may be serialized in XMI. While UML was designed to specify, visualize, construct, and document software-intensive systems, UML is not restricted to modeling software. UML is also used for business process modeling, systems engineering modeling, and representing organizational structures. The Systems Modeling Language (SysML) is a Domain-Specific Modeling language for systems engineering that is defined as a UML 2.0 profile.

UML has been a catalyst for the evolution of model-driven technologies, which include Model Driven Development (MDD), Model Driven Engineering (MDE), and model-driven architecture. By establishing an industry consensus on a graphic notation to represent common concepts like classes, components, generalization, aggregation, and behaviors, UML has allowed software developers to concentrate more on design and architecture.

CARNICA TECHNOLOGY offers Unified Modeling Language (UML) Training as five days course. Contact us for details.




The Systems Modeling Language (SysML), is a Domain-Specific Modeling language for systems engineering. It supports the specification, analysis, design, verification and validation of a broad range of systems and systems-of-systems. These systems may include hardware, software, information, processes, personnel, and facilities. SysML was originally developed by an open source specification project, and includes an open source license for distribution and use. SysML is defined as an extension of a subset of the Unified Modeling Language (UML) using UML's profile mechanism.

SysML offers systems engineers several noteworthy improvements over UML, which tends to be software-centric. These improvements include the following:
  • SysML's semantics are more flexible and expressive. SysML reduces UML's software-centric restrictions and adds two new diagram types, Requirement and Parametric diagrams. The former can be used for requirements management; the latter can be used for performance analysis and quantitative analysis. As a result of these enhancements, SysML is able to model a wide range of systems, which may include hardware, software, information, processes, personnel, and facilities.
  • SysML is a smaller language that is easier to learn and apply. Since SysML removes many of UML's software-centric and gratuitous constructs, the overall language is smaller as measured both in diagram types and total constructs.
  • SysML allocation tables support common kinds of allocations. Whereas UML provides only limited support for tabular notations, SysML furnishes flexible allocation tables that will support requirements allocation, functional allocation, and structural allocation. This capability facilitates automated verification and validation (V&V) and gap analysis.
  • SysML model management constructs support models, views, and viewpoints. These constructs extend UML's capabilities and are architecturally aligned with IEEE-Std-1471-2000 (IEEE Recommended Practice for Architectural Description of Software Intensive Systems).
SysML reuses seven of UML 2.0's thirteen diagrams, and adds two diagrams (Requirements and Parametric diagrams) and Allocation Tables, which can be dynamically derived from SysML diagrams.

The advantages of SysML over UML for systems engineering become obvious if you consider a concrete example, such as modeling an automotive system. With SysML you can use Requirement diagrams to efficiently capture functional, performance and interface requirements, whereas with UML you are subject to the limitations of Use Case diagrams to define high-level functional requirements. Likewise, with SysML you can use Parametric diagrams to precisely define performance and mechanical constraints such as maximum acceleration, curb weight, air conditioning capacity, and interior cabin noise management. UML provides no straightforward mechanism to capture this essential performance and mechanical information.As for the rest of the automotive system, SysML enhanced Activity and State Machine diagrams can be used to specify the embedded software control logic for the on-board automotive computers. Other SysML structural and behavioral diagrams can be used to model factories that build the automobiles, as well as the interfaces between the organizations that work in the factories.

CARNICA TECHNOLOGY offers Systems Modeling Language (SysML) Training as five days course. Contact us for details.




Learn to build the exceptional reliability and scalability of QNX Neutrino RTOS into your embedded device. A true microkernel operating system, the QNX® Neutrino® RTOS offers advanced memory protection, distributed processing, symmetric multiprocessing, POSIX APIs, a dynamically upgradable architecture, and industry-leading realtime performance.

Expert instruction, small class size, practical problem solving, and hands-on training mean you'll walk away from one of our workshops ready to apply QNX technology to your own real-world challenges. A short time spent in our classroom can save you months in development time.

CARNICA TECHNOLOGY and QNX Software Systems provides a number of courses to help accelerate your development cycle.

Read more about available training courses or contact us for details.




CARNICA TECHNOLOGY offers programming language courses for engineers and software developers with knowledge in Assembler and basic knowledge in C, who intend to gain a comprehensive understanding and knowledge of high level languages like C, C++ and Java.

Contact us with your requirements and request details.