Process modeling
Process
A process is an organisation of tasks allowing stakeholders to collaboratively produce something. The produced things can be abstract such as decisions or concrete as artefacts (code, report, device, etc).
Since a process is an abstraction, we need a notation to talk about. We can use natural language (a linguistic reification done for centuries) or drawings based on models such as BPMN, DRAKON or UML Activity diagrams.
Model
Models are abstractions of something of interest, that are built with a goal.
Models are used to describe existing systems in order to understand them for instance. But models are also used to describe non-existing systems in order to specify and build them.
Models are used to compute, to analyse, to predict, to evaluate, to communicate, etc.
Hence processes rely on models as systems.
There are many models of processes depending on the goal:
- BPMN: to support business process management, for both technical users and business users, by providing a notation that is intuitive to business users, yet able to represent complex process semantics.
- BPEL: to provide an execution language for model processes
As L. Osterweil we consider that “Software processes are software too”, and that they should be developed as a software system. With an analysis, designs, implementations, variants, patterns…
Research goal
Some aspects are not yet well tackled:
- variability
- resilience
- agility
- separation between design/specification and implementation