Rule driven workflow enactment

18
Rule driven workflow enactment Adriaan van Os Tim Verwaart www.soops.nl www.lei.wageningen-ur.nl Brussels, August 18 th , 2005 13 th European Smalltalk User Group Joint Event

description

Rule driven workflow enactment. Adriaan van Os, Tim Verwaart. ESUG 2005, Brussels

Transcript of Rule driven workflow enactment

Page 1: Rule driven workflow enactment

Rule driven workflow enactment

Adriaan van Os

Tim Verwaart

www.soops.nl

www.lei.wageningen-ur.nl

Brussels, August 18th, 2005

13th European Smalltalk User Group Joint Event

Page 2: Rule driven workflow enactment

Subject

• Last year we presented Artis: a system for

model driven development and deployment

• In Artis, workflow is driven by the

information need

• Data models and business rules can be

used to specify the information need

• In this presentation we explain how we

realized workflow enactment by comparing

database content with business rules

Page 3: Rule driven workflow enactment

Workflow enactment

Rule violationentered intoworkload forresponsibleemployee

Enact procedure

Page 4: Rule driven workflow enactment

Information need

What?

When?

Page 5: Rule driven workflow enactment

In our case: farming

Page 6: Rule driven workflow enactment

Regional offices

Page 7: Rule driven workflow enactment

Information need drives workflow

Central

Database

What?

When?Workload

Page 8: Rule driven workflow enactment

Information need can be represented

as a data structure model, for instance

(attributes not shown):

Holding

Payment

Asset

owns

has

made

payed for

Demo: an artis data model (context)

Page 9: Rule driven workflow enactment

Data model is not sufficient to

define the information need

• We do not need to

know all attribute

values in all cases

• We want the data to

satisfy integrity

constraints

• We need the

information in time

Page 10: Rule driven workflow enactment

Attach rules to each attribute

Demo: RIA rule formulation and representation

Page 11: Rule driven workflow enactment

Act in case of rule violations

Page 12: Rule driven workflow enactment

Keeper determines workload

Relevant? Complete and consistent? Current?

Who is responsible?

rules

facts

responsibility

Data repository

Page 13: Rule driven workflow enactment

Keeper algorithm

• for each entity in some designated population as a starting point:

– for each attribute:

• determine responsible employee and add rule violation to the workload:

–if the attribute is relevant and the value is not current

–or if the attribute is relevant and the value is current but does not satisfy the integrity constraint

Page 14: Rule driven workflow enactment

Two remarks

1. Attributes may be multi-valued (have a

collection of entities as value). In that

case, execute the keeper algorithm for

all entities in the collection too.

2. Evaluation of actuality rules requires a

temporal data representation. We

represent the value of facts not as a

simple value but as a pair of value and

validity time.

Demo: data representation (viewer)

Page 15: Rule driven workflow enactment

Who is responsible?• We record responsibility for entities in the

repository as an entity-employee-association

• No need to designate responsibility for each

entity. The keeper traces back to the entity

in the population it used as starting point.

Entity Employeeresponsibility

Collection

Page 16: Rule driven workflow enactment

What shoud she do?

• The workflow is described in procedures

• We record applicability of procedures as

an association of procedure and rule

Procedure Ruleapplicability

• We use this knowledge to “enact” workflow:

enter first task of procedure into responsible

employees to-do listDemo: workload (Mole) and start

Page 17: Rule driven workflow enactment

Conclusion

• Workflow can be enacted by comparing

database content with business rules

• This can only be generically achieved by

applying a temporal data model

• We need knowledge about:

– responsibility (of persons)

–applicability (of procedures)

Page 18: Rule driven workflow enactment

Questions?

rules

facts

responsibility

Data repository