Editing a first AADL model

From AadlWiki

Jump to: navigation, search

Osate 2 now makes use of XText for editing and compiling textual AADL. Xtext uses its own builder process. Declarative AADL models are stored in the file system only as text files (aadl) and opened as EMF resource, i.e., parsed and maintained in memory in the Meta model based representation. Instance models are stored in their XMI format. OSATE2/XText makes use of project dependencies to find referenced packages in other projects.

Contents

Launch options

NOTICE: Please check you installation folder if you get PermSize or out of memory errors

In your installation folder (called osate2) you will find a file called osate.ini. (THe folder may also be called eclipse and the file eclipse.ini). It has PermSize and virtual memory size set to values higher than the default for Osate V2 to work. The values are:

--launcher.XXPermSize 64M
--launcher.XXMaxPermSize 256M
-vmargs -XX:PermSize=64m -XX:MaxPermSize=256m -Xms40m -Xmx768m

For instructions on how to find eclipse.ini on your platform, please see http://wiki.eclipse.org/Eclipse.ini

Instructions

The following are instructions for the second snapshot release of OSATE V2 (Nov 7, 2011).

Create a new project

  1. The AADL Perspective should come up by default. Otherwise, switch to it.
  2. Add the predeclared properties to your workspace by selecting "Create/update Predeclared and Annex Properties" in the context menu of the AADL Navigator.
  3. Add a generic project to your workspace or use the AADL Project wizard to create a project. (right click for menu then New>Project, select AADL Wizards>Aadl Project)
  4. Select the project (left click to highlight your project then right click to bring up context menu) and select Properties in the context menu. Select Project References and add Plugin Resources as project dependency. This allows the compiler to find the predeclared property sets.
  5. NOTE: if you have your model in multiple projects you need to specify the appropriate project dependencies in order for Osate to find cross project references.

Create a declarative model

  1. Create a file in your project using the "New"->"file" command and give it the extension aadl. You can create folders first and then create the file in one of the folders. The name of the file does not have to be identical with the name of the package you create inside the file. For example, you can create folders to reflect a nested package hierarchy and then name the file with the last identifier of the package name.
  2. Once the file is open you can start typing your AADL model. Each file is expected to contain one package or one property set. The text is parsed incrementally as you type.

Get help about AADL

  1. Control spacebar gives you context help. A number of templates have been added. You can add your own through the Eclipse template interface via the Preferences -> Aadl2 -> Templates.
  2. Holding down the Control key and hovering over a reference turns it into a hyperlink to the origin of the reference.

Create an instance model

  1. Once you have a model with a top level system type and system implementation you can create an instance model by placing the cursor anywhere inside the system implementation and then selecting Instantiate System in the context menu (right click to get the context menu). This will create the instance model in an instances folder.
  2. You can open the instance model by double clicking on file and navigate the model with the object editor as you did under OSATE 1.5.8.
  3. You can request an AADL model to be saved as aaxl2 file by selecting Save As XMI File in the context menu while in the Osate text editor. These files can then be opened in the AADL Object Editor by double clicking on the file.

The analysis plug-ins that were available under OSATE 1.5.8 have been ported to OSATE V2 and will be available with the next Snapshot.

We have just completed the reimplementation of the interface for Annex plugins. The old Error Model Annex plugin and the Behavior Annex plugin, as well as the prototype implementation of the revised Error Model Annex are being adapted to this interface.

Personal tools