Application Note

 

 

 

Altia® Design

Human Interface Design Software

Using Altia Design with ShortCut for the teamwork Environment

ShortCut from C.S.E. GesmbH is an add-on product for teamwork from Cadre Technologies. ShortCut allows teamwork/SA and teamwork/RT users to execute their models. The ShortCut product is essentially made up of 3 components:

1. The ShortCut Compiler

The ShortCut Compiler reads a model or portion of a model from the Teamwork database and creates a Runtime Definition File (RDF).

2. The ShortCut Runtime Kernel

The ShortCut Runtime Kernel consumes a Runtime Definition File (RDF) and executes it. Data and Control Flows entering or leaving the model can be connected to a Graphical User Interface or any external software module that accepts and delivers flow values to drive the prototype.

3. The ShortCut GUI Editor and Runtime

The ShortCut Graphical User Interface (GUI) Editor can be used to create a graphical interface that drives the prototype. The GUI Runtime executes the GUI and connects it to the Runtime Kernel that is controlling prototype execution.

The ShortCut GUI Editor/Runtime can be replaced with the Altia Design Editor/Runtime. This Altia/ShortCut/Teamwork combination is much stronger than just the ShortCut/Teamwork combination for the following reasons:

· Altia provides substantially more user interface customization and flexibility than is possible with the ShortCut GUI Editor/Runtime.

· Many users may find the Altia Design Editor easier to use and more intuitive than the standard ShortCut GUI Editor.

· The application program which serves as the connection between the Altia interface and the ShortCut Runtime Kernel can be customized to meet any unique needs. For example, it could be customized to read data from files to set model flow values.

· Altia's support of multiple application program connections as well as networked program connections adds additional flexibility for those who are prototyping very large or distributed designs. For example, multiple ShortCut Runtime Kernels, possibly executing on different workstations, can be easily connected to a single Altia interface.

 

Details of the Altia Design/ShortCut Prototype Connection

At your request, Altia is happy to provide you with the Altia/ShortCut integration software. This software provides the programs necessary for integrating any ShortCut model prototype with an Altia interface. It also provides an example of just such an integration using the standard ShortCut/Teamwork Cruise Control demonstration model.

The core of the Altia/ShortCut integration software is a simple program, altiasc, which translates between Data and Control Flow inputs/outputs and Altia Design interface events. The program knows how to start the ShortCut Runtime Kernel and it connects to the Kernel's stdin and stdout so it can send and receive flow values. This is the same method used by the ShortCut GUI component. The program also starts the Altia Design product and loads the appropriate interface design. Teamwork menu customization files are provided so that the Altia/ShortCut combination can be started from the ShortCut menu displayed within Teamwork (i.e., with the Altia/ShortCut integration software, the ShortCut menu contains the additional options of Run (Altia), Run (Altia,Debug), Run (Altia-Edit), and Run (Altia-Edit,Debug). These new options allow the user to start the Altia Runtime or Editor with or without ShortCut debug enabled.).

Altia interface animations are defined as logical names that have an integer state value associated with the name. For example, a speedometer animation might be named speed_level. When speed_level is 0, the speedometer needle points to 0. At speed_level of 100, the needle would be rotated such that it points at the 100 mph marker. The altiasc program maps animation name/value pairs directly to Data Flow name/value pairs. Flows exiting the prototype can drive Altia interface objects and Altia interface stimulus events can likewise drive prototype input flows.

Mapping Control Flow states to Altia interface animations is also supported. Control Flow values are enumerated types rather than integer values. For example, a Brake flow might have a FALSE and TRUE state. To handle these translations, the altiasc program looks for a file ending in the suffix .flows with the same base name as the Altia interface design file (e.g., the Cruise Control example comes with a design file named SC_Cruise_Control.dsn and a flow translation file named SC_Cruise_Control.flows). The .flows file is assumed to contain information on how to translate enumerated values to integer values and vice-a-versa. It is edited and customized by the user as required for a particular prototype.

In summary, Altia Design is a direct replacement for the ShortCut GUI Editor/Runtime component. It interfaces to the ShortCut Runtime Kernel through the Kernel's stdin/stdout in the same manner as the ShortCut GUI Editor/Runtime, but Altia Design provides added interface design flexibility due to its broader capabilities. For more specific integration details, also see the README file installed as part of the Altia/ShortCut integration software.

The Altia / Shortcut Demos

The altia/shortcut directory contains files to demonstrate how Altia Design can be used with Cadre's ShortCut product. It provides interfaces for models running under ShortCut. Customization files are included so that the demonstrations can be started from the user defined menus within ShortCut.

How to Install:

Just copy the contents of the directories under altia/shortcut to ones with the same names under your ShortCut directory. Since you will not have an altia directory already under your ShortCut directory, make one and copy the files in altia/shortcut/altia to that directory.

What The Directories Contain:

bin - This directory contains the Altia client program executable (altiasc) plus the script (altiasc.sh) which allows the program to be started from the menus in ShortCut. The client program forks off Altia Design as well as the ShortCut engine. It then functions as a communications handler between the Altia interface process and the ShortCut engine process.

altia - This directory contains the Altia client program source (altiasc.c) and a make file for generating the executable from the source. Executables are already built and installed in the bin directory so recompilation of the source is normally unnecessary.

proto - This directory contains the Altia Design files and data files accessed by altiasc for the available demonstration interfaces. Each type of file is identified by its unique suffix:

*.dsn - Altia Design interface design files. These are binary files describing the graphics and

animations that make up a particular Altia Design interface.

*.rtm - Altia Design interface configuration files. These are text files with X11 style

application defaults specifications. The specifications describe how a design

should be positioned in a display window, the size of the window, etc.

*.flow - these are files used by the Altia client program (altiasc) to emulate the behavior

of ShortCut. They support formulas as defined in ShortCut. They also handle the

mapping between Altia's integer behavior function values and ShortCut's control

flow string values (see the files themselves for more info).

twk_menus - This directory contains the modified ShortCut user defined menus that support calling Altia.

toolkit - This directory contains a simple demo showing how to use ShortCut's ability to call user defined functions inside of a PSpec to make Altia client program API calls. This capability is not currently being used by the demos.

models - This directory contains the Teamwork dump files for the Teamwork models. Use load_tsa to load the models into your database.