Process hierarchy without defining flows

Post Reply
ulfl
Posts: 15
Joined: 01 Feb 2010, 10:47

Hello,

is there a way to express a process hierarchy without using defining process flows?

A "Physical Process" has a "contained physical sub processes" slot, which can be used to express such a hierachy. Why does a slot like this does not exist on the logical "Business Process"?

Background: We integrate process information into Essential exported from a third party process modeling software, which will remain the leading source for process and sequence information at our company.

In order to limit the scope of the integration we only want to import the processes themself without the connecting sequence flows but want to preserve the process hierarchy information.

We hope that the process information itself will provide enough value in the Essential Viewer reports that further integration of sequence flows is not necessary. Does this approach make sense at all?

Regards,
Ulf
User avatar
jonathan.carter
Posts: 1087
Joined: 04 Feb 2009, 15:44

Hello Ulf

The 'contained physical sub processes' slot on Physical Process is actually going to be deprecated in the meta model and will no longer be available in future releases of the baseline Essential Meta Model.
The flow and use of sub-processes for Physical Processes is defined by the logical Business Process and in fact it is here against the logical Business Process that you would the process decomposition/aggregation (which is what I assume that you mean by hierarchy).

More specifically, although Defining Process Flows are used to capture sequence flows, it is not mandatory in the model to define the sequencing relationships.
So, to import your sub-processes, for each parent logical Business Process, you would do the following in your integration:

1. create a Business_Process_Flow instance
2. connecting this instance to the defining_business_process_flow slot of your parent Business_Process
3. For each sub-process:
  • a. create a Business_Process instance for the sub process
  • b. create a Business_Process_Usage instance for this Business_Process
  • c. add the Business_Process_Usage to the Business_Process_Flow instance from the previous in the process_steps_used slot.
As a side note, when creating the Business_Process instances, you might want to consider using the
getEssentialInstance(theClassName, theExternalRef, theExternalRepository, theInstanceName)
function from the 'standardFunctions.txt' Essential Integration script library.
This function attempts to find the specified instance and only if it can't find it, will it create a new instance. This prevents duplication of instances during imports and synchronisation.

I would be more than happy to help you with this integration.

On the other hand, if your hierarchies effectively represent groupings or classification of processes (e.g. Process Areas) rather than decomposition/level of detail, then we are considering developing a Support Meta Model extension to deliver this type of classification.
Let me know if this is something that we need to bring forward via an ECP.

Jonathan
Essential Project Team
ulfl
Posts: 15
Joined: 01 Feb 2010, 10:47

Thank you for your answer.

You are correct that we are using decomposition and aggregation to model our processes on different levels of detail. Each level is a decomposition/aggregation of a higher/lower level.

I changed my integration script to create the required Business_Process_Flow and Business_Process_Usage instances and relations instead of creating the "contains/ed" relation on the Physical_Process instances.

Do you think that leaving out the sequence information for now has an impact on the usability of the Essential solution (e.g. for Viewer reports)?

Regards,
Ulf
User avatar
jonathan.carter
Posts: 1087
Joined: 04 Feb 2009, 15:44

Leaving out the sequence information should not cause any problems with the current set of out-of-the-box views.
However, if you have that information available in the source model, then - as with any types of architectural information - it's always good to have it in the Essential repository if you've have it.

Adding the sequence information just requires that you create an instance of the relationship class between the Business_Process_Usages that you have created. Those would be instances of the
:BPU-OCCURS_BEFORE-BPU
class - note the ':' prefix in the class name.
Sounds like you are having good success with the imports.
By the way, if you've been using the Essential Integration toolset and have been keeping external reference IDs for each imported instance, then you can always add the sequence information using the
:BPU-OCCURS_BEFORE-BPU
instances at a later stage when you find that you need that information in the Essential repository.

Jonathan
Essential Project Team
Post Reply