This document proposes a framework for analyzing cross-cutting aspects in ad-hoc processes through modeling artifact evolution over time. It presents an Artifact Evolution Model (AEM) to organize process entities and relationships in a graph. A query language called FPSPARQL extends SPARQL to discover evolution, derivation, and time-series information across the AEM graph. The framework was implemented and tested on real-world datasets from a hospital and university course to analyze artifact versioning and provenance in ad-hoc processes.
Handwritten Text Recognition for manuscripts and early printed texts
Amin beheshti c ai-se13
1. Enabling the Analysis of Cross-Cutting
Aspects in Ad-hoc Processes
Authors:
Seyed-Mehdi-Reza Beheshti
Boualem Benatallah
Hamid Reza Motahari-Nezhad
University of New South Wales
Sydney, Australia
CAiSE 2013
2. Analysis of Cross-Cutting Aspects in
Ad-hoc Processes
PeopleWeb ServicesIT SystemsWorkflows
Ad-hoc Processes (BPs)
Execution
Log
1/20
Fact:
- Evolution of process artifacts over time.
Solution:
- Analysing the history (artifact versioning)
- Analysing the provenance (where they come from
and who touched and did what on them).
- Analysing other aspects …
3. • Approaches
– Artifact-Centric Processes/Workflows
– Modelling and querying artifact-centric processes
• Shortcomings
– Assuming a predefined document structure
– Assuming that the execution of the processes is achieved
through a BPM system (e.g., BPEL) or a workflow process.
• Challenges:
– Evolution of artifacts over time.
– Analyzing evolving aspects of artifacts.
State of the Art: Approaches and Challenges
2/20
4. Solution Overview
3/20
Process Logs (AEM: Artifact Evolution Model)
Modelling
Evolution
Timeseries
Perspectives
and Goals
Interactive
Query Language Derivation
5. Preliminaries
4/20
• Artifact
– is a mutable object: its attributes (and their values) are able or
likely to change over periods of time.
• Artifact Version/Instance
– is an immutable deep copy of an artifact at a certain point in time
• Activity
– an action (e.g. create, read, update, …) performed on or caused
by an artifact version
• Actor
– an entity acting as a catalyst of an activity
6. Preliminaries
5/20
• Process
– a group of related activities performed on or caused by artifacts.
– A process can be structured, semi-structured, or unstructured.
- Ad-hoc processes have flexible underlying process
definition where the control flow between activities
cannot be modelled in advance but simply occurs
during run time.
- The semistructured nature of adhoc processes’
data requires organizing process entities (people and
artifacts) and relationships among them in graphs.
7. Preliminaries
5/20
• Process
– a group of related activities performed on or caused by artifacts.
– A process can be structured, semi-structured, or unstructured.
• Artifact Evolution
– series of related activities on top of an artifact over different
periods of time.
– artifacts develop and change gradually over time as they pass
through the business’s operations.
• Provenance
– refers to the documented history of an immutable object which tracks
the steps by which the object was derived.
– describes that what manipulations were performed on the artifact to
get it to this point.
9. Modeling Process Artifacts and their Relationships
(AEM: Artifact Evolution Model)
• Nodes (Entities, Folders)
– Entities (Artifact Versions): Artifacts are represented
by a set of instances each for a given point in time.
7/20
Artifact versions considered as data objects that exist separately
and have a unique identity.
10. Modeling Process Artifacts and their Relationships
(AEM: Artifact Evolution Model)
• Nodes (Entities, Folders)
– Folder (Artifacts):
• a timed container for a set of related entities.
• represent the artifact evolution
• new members can be added to timed folders over time.
8/20
Set of related artifact versions
11. Modeling Process Artifacts and their Relationships
(AEM: Artifact Evolution Model)
9/20
• Relationship (Activity-Relationship, Activity-Path)
– Activity-Relationship:
• an explicit relationship that directly links two entities in the
AEM graph.
• defined as an action performed on or caused by an artifact
version, and can be described by attributes such as:
What (lifecycle/archive activity), How (creation, use,
deletion, storage, transfer) , When , Who, Where, Which, …
Update
Who: Alex
When: @timestamp
Where: organization-name
Which: device-is
…
12. Modeling Process Artifacts and their Relationships
(AEM: Artifact Evolution Model)
10/20
• Relationship (Activity-Relationship, Activity-Path)
– Activity-Path:
• an implicit relationship that is a container for a set of
related activities which are connected through a path.
13. Modeling Process Artifacts and their Relationships
(AEM: Artifact Evolution Model)
• Relationship (Activity-Relationship, Activity-Path)
– Activity-Path:
• an implicit relationship that is a container for a set of
related activities which are connected through a path.
Path Node
• Contains a set of paths (i.e. a path is a transitive
relationship between two entities)
• Can be a placeholder for a given query that results
in a set of paths.
Beheshti et al. : A Query Language for Analyzing Business
Processes Execution. BPM 2011: 281-297
10/20
14. Querying Cross-Cutting Aspects
• FPSPARQL [BPM’11]:
• A Folder-Path enabled extension of the SPARQL.
– SPARQL:
• Graph Query Language
• Official W3C standard.
• Subgraphs and Paths are not first class objects.
11/20
select ?variable1 ?variable2 ...
where { pattern1. pattern2. ... }
(A basic SPARQL query)
15. Querying Cross-Cutting Aspects
• FPSPARQL Extension:
12/20
discover.[ evolutionOf(artifact1,artifact2) |
derivationOf(artifact) |
timeseriesOf(artifact | actor) ];
filter( what(type),
how(action),
who(actor),
where(location),
which(system),
when(t1,t2,t3,t4) );
where { #define variables such as artifact, actor, and location }
16. Querying Cross-Cutting Aspects
• Evolution Queries:
– For querying the evolution of an AEM entity En, all activity-
paths on top of En ancestors should be discovered.
13/20
discover.evolutionOf(?artifact1,?artifact2);
where{ ?artifact1 @id v2. ?artifact2 @id v3. …}
17. Querying Cross-Cutting Aspects
• Derivation Queries:
– Derivation of an entity En can be defined as all entities which
En found to have been derived from them.
14/20
discover.derivationOf(?artifact);
where{ ?artifact @id v3. …}
18. Querying Cross-Cutting Aspects
• Timeseries Queries:
– Derivation of an entity En can be defined as all entities which
En found to have been derived from them.
15/20
discover.timeseriesOf(?actor);
filter(when("T1",?,?,"T15"));
where{ ?actor @id Eli-id. }
23. – Analyzing evolving aspects of artifacts (i.e. versioning
and provenance) over time is important and will
expose many hidden information among entities in
process graphs.
– This information can be used to detect the actual
processing behavior and therefore, to improve the
ad-hoc processes.
Conclusion
20/20