Hoppa till innehållet

YAWL

Från Wikipedia
För båttypen, se yawl.

YAWL, akronym för Yet Another Workflow Language, är ett språk för affärsprocessmodellering och implementering. Den har en notation som, i likhet med UML 2.0 Aktivitetsdiagram och Business Process Modelling Notation (BPMN), är grafisk. Samtidigt har den en väldefinierad och formell semantik vilket gör att den i likhet med BPEL4WS och XPDL också är exekverbar.

YAWL började utvecklades 2003 som ett samarbete mellan forskargrupper vid Queensland University of Technology och Eindhoven University of Technology. Forskningsfrågan var att undersöka egenskaper hos existerande ärendehanteringssystem och då särskilt deras stöd för så kallade Workflow Patterns (mönster för ärendehantering). Ett ärendehanteringssystem, kallad YAWL, byggdes för detta i syfte att verifiera ansatsen och detta system har sedermera vidareutvecklats. Under senare år har ett antal industripartner så som InterContinental Hotels Group och first:telecom medverkat i vidareutvecklingen. YAWL är numera tillgängligt med öppen källkod och licensierat enligt LGPL.

Den underliggande teorin i YAWL är inspirerad av Petrinät och är formellt sett en tillståndsövergångsmaskin (Labelled transition system). Konstruktörerna har utgått från Petri nät-teorin och till denna tillagt tre, för affärsprocessdomänen väsentliga, konstruktioner. Dessa är OR-sammanslagning (OR-join), annulleringsområden (cancellation sets) samt flerförekomst aktiviteter (multi-instance activities).

En av fördelarna med en väl definierad och formell semantik har varit att olika verifikationsmekanismer har kunnat implementerats i YAWL. Det analysverktyg som finns idag kallas WofYAWL. Två andra styrkor av YAWL-systemet är att den erbjuder stöd för undantagshantering samt stöd för dynamiska processer. Stödet för undantagshantering beskrivs med hjälp att en särskild notation som används för att för varje arbetssteg specificera hur undantag eller fel som uppstår under detta arbetssteg skall hanteras. Även denna notation är grafisk. Stödet för dynamiska processer innebär att en process (det vill säga, en specifikation av en ärendehantering) kan förändras under dess exekvering (det vill säga, under hanteringen av en viss instans av ett ärende).

Externa länkar

[redigera | redigera wikitext]