Modeling Function Package Features

You must define a function package in the model before you can use its tools.

A function package must implement the AWM model extension point so that it can be selected in the model editor.

A function package can be added to the model by right-clicking Function Packages, and then clicking New Child followed by the function package required:


Adding a new function package

Alternatively, right-click Tool Descriptors, and then click New Child > Add Function Package . This opens the Create Function Package dialog box which displays the number of tools available in each package.


Alternative method to add a new function package

Click the function package required, and then click OK. Once you have added a function package you can access the list of available tools, right-click Tool Descriptors, and then click New Child followed by the function package you require.

If the model already contains function packages, you can define linked element types, linked properties, or select tools from these function packages.

In order to select a function package tool, right-click Tool Descriptors, and then click New Child followed by the function package and the tool required.


Selecting a tool from a function package

The function package provider can define attributes for the function package which are shown in the Properties view when the function package is selected in the AWM model editor. See the individual function package description for more information.

Function package features can have references to other model objects like tool descriptor parameters or properties. Tool descriptor parameters are always automatically generated when a tool descriptor is created or changed. They can have specific conditions, so they are only created if certain tool attributes are set.

Other function package related features, like linked properties, linked element types, or tool descriptors can reference other model objects which require an ID to be defined before being created. Creating such a feature automatically opens an Enter Object IDs dialog box in which referenced object IDs can be specified. Objects marked with an asterisk (*) are mandatory for the creation of the default references.


Enter object IDs dialog box

Once a referenced model object has been created by the function packages, other features of the package are able to automatically find and reuse it. For example, a linked element type and a linked property can reference the same property. Once any of the features have been defined, including the referenced property, defining other features automatically find and set the reference.

Function package declarations on model objects can be manually set or unset by using the Declare Function Package <type> and Remove Function Package Declaration context menu commands, see Context Menu Actions in the AWM Model Editor for more information. Normally, this is not required since the declaration is automatically set on defining the function package feature, but there are some scenarios where setting the declaration manually might be useful.

The most common scenario is maintaining a model that was created with an older version of AWM, in which the function package features were not able to reference other model objects. The model might already contain features of a function package. For example, linked properties which contain references to manually created objects, for example, resource identifier properties. By setting the correct function package declaration, the model editor automatically finds and reuses the property on newly created function package features referencing it.

A function package provider can specify conditions in the function package definition under which the function package is disabled. If those conditions apply to your environment, the corresponding function package will be displayed as grayed out:


Disabled function package is displayed as greyed out

Such a condition, for example, could be a requirement for a specific license.

If a function package is disabled, its functions are not loaded and the functions are not available for modeling.