Skip navigation links

Package de.aristaflow.adept2.model.processmodel

Warning: This package description is OUTDATED (work in progress)!!

See: Description

Package de.aristaflow.adept2.model.processmodel Description

Warning: This package description is OUTDATED (work in progress)!!


The ADEPT2 data model provides easy to use access to all process related data.

Overview

The processmodel covers all elements and relations used in a process.

General design backgrounds

The process model enforces a strict separation of responsibilities. This also enforces strict separation of e.g. structural and non-structural data as well as template and instance data. Concerning object references, the model is strictly hierarchical: There are only references to child entities, never to entities with parent or sibling relation. The template has e.g. references to the nodes and edges, but neither nodes nor edges have a reference to the template or to each other.

The elements of a process template

Nodes

Edges

Application Integration

The Executable Business Process

TODO old - reviewThe template with nodes, edges, data edges and data elements just builds the control and data flow. The connection to executable components is done using the interface ExecutableBusinessProcess (EBP). An EBP is either an Activity or a subprocess (LightWeightProcess). In the context of a process- or activity-repository, an activity or light-weight process are "instances" of the object in the repository. The activity-repository keeps a registry of all known activities in form of activity-templates. As soon as the user in the process template editor, e.g. takes an activity-template, drags it onto the process and drops it over a node, the activity-template is instantiated as "Activity", as it is known within the processmodel.

Connectors

Process instances

Changing process templates and instances

Notes...

Instantiating objects: The Factory.

TODO The basic idea is to create all objects using factory methods, providing all data which belongs directly to the object. See ProcessModelFactory. You will need to implement the factory and the builders in order to use the common XML package.

User Attributes

All entities of the process model can be extended with user defined attributes. If additional data should be stored, e.g. in a Node, the data may be placed in a user attribute. A user attribute is a simple key/value pair of Strings. User Attributes should only be used for extensions of the data model, which shall not (immediately) lead to a change of an interface.

Maps, Collections, Arrays etc.

Some functions in the data model are returning Maps or Collections. Since all data should be changed using the change primitives and not via side effects, changes on the returned objects must not effect the data. In this case, implementors will return an unmodifiable view on the object (see here), or a copy of it.
Skip navigation links