General Modelling Concepts
The Application Workflow Manager (AWM) is a framework based on the Eclipse Modeling Framework (EMF). AWM enables you to seamlessly
integrate application development workflow within an Eclipse IDE. Typical applications of AWM might integrate third-party
applications with your Eclipse project development platform, such as:
- Integration of an agile project management system.
- Integration of an issue tracking system.
- Integration of a distributed version control system.
- Integration of a Continuous Integration (CI) system.
- Integration of mainframe development.
You can integrate any combination to create a customized system that best fulfils your organization's requirements.
Before starting the tutorials you should review and understand the following AWM concepts:
- Function Packages
- The functionality within an AWM model can be provided by one or more function packages. A function package provides the features
of your application system.
Features in function packages can be expressed as the following concepts:
- Linked properties.
- Linked element types.
- Tools with associated input and output parameters.
- Properties
- Every attribute of an application is represented within a model by a property. A property might be an AWM property which is
managed by AWM or a property provided as a linked property by a function package.
- Tools
- Tools provide functionality within an AWM model. A tool is the fundamental execution unit within AWM. A tool must be modelled
as part of an action, it is the action that enables the tool to be executed.
Tools typically have both input and output parameters which are references to AWM properties. Output parameter values of
tools are stored in the tool parameter context and can be passed between tools.
Using the AWM resource operation concept, a tool can update the element context so that data can be exchanged between actions.
- Actions
- An action consists of one or more tools. Depending on where an action should be displayed in the IDE an action has to be
attached to the corresponding component in the AWM model.
For example, an action could be attached to an element type so that it can be displayed in the context menu of elements of
its element type. An action could be declared as a global editor action so that it is displayed in the context menu of an
editor.
- Element Types
- Every object type of an application is represented within AWM by an element type. An element type might be an AWM element
type or an element type provided as a linked element type by a function package.
Every element type within AWM needs a relation to an ID definition and a match name.
The ID definition uniquely identifies elements of the same element type. The match name is required when an element is created.
A tool which is intended to create an AWM element has to return the property values for the new element plus a match name
so that AWM can identify which element type the new element should be mapped to. The match names used in an AWM model to identify
the element types must be unique.
An element type references properties which represent the attributes of an element within the corresponding application system.
An element type references actions. The referenced actions are displayed in the context menu of elements of this element type.
- ID Definitions
- The ID definition uniquely identifies elements of the same element type. The ID definition references properties which represent
the key attributes of an element type.
The properties of an ID definition have to be chosen so that they uniquely identify elements of the corresponding element
type. If the properties of the ID definition do not uniquely identify elements then unpredictable behavior may occur when
the AWM model is executed.
- File Descriptors
- File descriptors represent files used in the application. File descriptors can be used as input or output parameters of tools.
Files can be unstructured or structured. Structured files must reference properties to describe the format of the file.
- Elementlist Structures
- An elementlist structure describes the representation of an element list in the
Table Results view. An elementlist structure has to reference properties to specify the table format.
- Filter Types
- Filter types have filter criteria that produce filtered element lists displayed in the
Table Results view. Filter types are listed in the
Filter Definitions view. A filter type has properties that specify the filter dialog displayed when the filter is executed. A filter type reference
an action which is executed when you confirm the filter dialog. The values from the filter dialog are passed as input parameters
to the tool(s) of the filter action.
The following tutorials are intended to build on your understanding of these concepts and develop techniques which you can
apply when creating your own applications: