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.
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
Designs and implements real-time software applications by code and model construction. Created models are formal enough to enable them to be transformed into target code such as C++.
Specifies, analyzes, and documents the behavior of a real-time software application. Models that are created are not always completely formal and their purpose is mostly for the understanding, specification, and documentation of the application.
Configures and establishes, for a particular build environment, the tools and methodologies that make it possible to build real-time software applications from model and code into executables and libraries.
Implements additional functionality in RTist that is specific for a particular user group to make members of this user group more productive when using the tool.
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.
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.
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
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.
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 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