Role-based learning guide

Acquiring an in-depth knowledge of a comprehensive modeling tool such as HCL RTist (RTist) is a process that might take a significant amount of time. Fortunately the typical user does not need to know every detail of all parts of the tool in order to use it productively. This document is a guide for new RTist users to what they should prioritize to learn depending on their role.

Let's start with some general information that every RTist user needs to know.

General

RTist is an Eclipse-based application, and therefore a basic understanding of Eclipse is necessary. The links below provide general information about Eclipse; what it is and how to use it.

Video tutorial describing basic usage of the Eclipse workbench

Collection of links to various reading material about Eclipse

Typical types of RTist users

This is not a complete listing of all possible user roles. Some users might belong to more than one of these groups, in particular at different points in time.

The rest of this article provides links to information that is relevant for the different types of users identified above.

Software Designer

A software designer that uses RTist needs to have at least a basic knowledge of UML modeling. However, not all parts of UML are used when creating a real-time model. This document describes the subset of UML that is used when creating real-time models with RTist.

RTist Concepts

To get a deeper understanding of what the different UML constructs that are mentioned in the above document mean, you can read about them in the UML2 standard:

UML 2.3 standard specification Note: RTist currently supports UML 2.2 plus some additions from UML 2.3, so this version of the standard is the most appropriate to read and use as a reference.

A software designer also needs to know the target language that is used in the real-time model, typically C++. The following are some suggested reading materials appropriate for C++ users:

A collection of tutorials teaching how to program using C++

Another set of similar tutorials

Portal with links to resources for learning both C and C++ programming

To get a hands-on experience with RTist, you should run the cheat-sheet called "Creating, building, running and debugging a RealTime model".

Software designers that work in teams with others need to know how to compare and merge models:

Compare and Merge

System Analyst

A system analyst uses a subset of UML that is different from that of a software designer. However, most parts of the RTist Concepts document are of interest also for a system analyst. It's mainly the parts of the document dealing with the action language (typically C++) that a system analyst can skip.

Other UML constructs used by system analysts mostly include sequence diagrams and activity diagrams, but not exclusively.

Sequence diagrams

Activity diagrams

Build Engineer

Build engineers in teams that use C++ as target language should start by reading the following document:

C++ Build Describes all the steps involved when building a real-time C++ application from a UML-RT model in RTist.

To be able to automate builds, it is helpful to have knowledge about Ant, since build automation is achieved by utilizing Ant tasks provided by Eclipse and RTist. The following is some information about Ant:

Introduction tutorial for basic Ant usage

Collection of frequently asked questions (and answers) about Ant

Customization Expert

Customization experts need to know about the different preferences available in RTist, for example those that control diagram appearance:

Diagram filtering preferences

It is important to configure RTist in a way that makes it perform well:

Performance Discusses several important aspects to take into account when deploying RTist to obtain best possible performance.

Customization experts also develop pluglets and plugins using Java. There are many resources for learning general-purpose Java; the following are some examples:

Tutorials covering the fundamentals of the Java language

Tutorial for learning how to program in Java using Eclipse

Video tutorial about how to use the Eclipse Java debugger

To learn about Eclipse plugin development look at the following:

A good starting point for getting started with Eclipse plugin development

A pluglet is a simplified plugin which may be easier to get started with, but has some limitations compared to full-fledged Eclipse plugins. Read more about pluglets in the following tutorial:

Tutorial for creating a simple pluglet

Finally, the following is a link to documentation about some of the APIs you might encounter and need knowledge about when developing plugins and pluglets for RTist:

UML2 API reference