Procesmodelleren. (terug van weggeweest) Jaap van der Woude Informatica Open Universiteit, Nederland

Vergelijkbare documenten
Petri-netten in Protos: wat moet je ermee?

Proces to model en model to execute

Voorbeeldvraag 1. Welke uitspraak is JUIST:

Conclusie: voor elke organisatie die dit nastreeft is het goed besturen en beheersen van de bedrijfsprocessen

Vernieuwing Bacheloropleidingen Informatica en Informatiekunde

UML is een visuele taal om processen, software en systemen te kunnen modeleren.

Software Processen. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 1. Het software proces

Informatieystemen Deeltentamen A

AUTOMATE WITH BIZAGI BPMS XPRESS

Workflow Patronen: Een gereedschap voor het evalueren van BPM software

Grip op Enterprise Architectuur met TOGAF TM, ArchiMate en Architect

Automaten & Complexiteit (X )

B.Sc. Informatica Module 4: Data & Informatie

Helden van de wiskunde: L.E.J. Brouwer Brouwers visie vanuit een logica-informatica perspectief

Unified Modeling Language

Curriculum Afkortingen Bachelor Informatica Propedeuse Postpropedeuse Start Vervolg Afsluiting 60,0 Gebonden keuze (8,6 EC) Afsluiting

Curriculum Afkortingen Bachelor Informatica Propedeuse Postpropedeuse Start Vervolg Afsluiting 60,0 Gebonden keuze (8,6 EC) Afsluiting

De kracht van BI & Architectuur

Kenmerken van DLArchitect

Sequentiële Logica. Processoren 24 november 2014

Zelftest Informatica-terminologie

TECHNISCHE UNIVERSITEIT EINDHOVEN. Faculteit Wiskunde en Informatica. Afstudeeropdracht. Analyse van FRIDA met behulp van CPNTOOLS.

Inhoud. Introductie tot de cursus

Curriculum Vitae Ishak Atak. Naam : Ishak Atak Roepnaam : Ishak. Woonplaats : Utrecht Geboorte datum :

Beschrijving onderwijseenheden

Presentatie Jaarproject. Nils De Moor Sam Verboven

Voor en nadelen (spatieel) gedistribueerd

Handleiding YasperWE en InfoPath

Een platformaanpak voor moderne architectuurontwikkeling

Business Process Management

NAF Insight: ArchiMate en domeintalen 1 November 2012

DATAMODELLERING BEGRIPPENBOOM

Posthogeschoolvorming rond Enterprise Content Management Business Process Management Service Oriented Architectures

Cover Page. The handle holds various files of this Leiden University dissertation.

UML. From weblog Dennis Snippert

Relatie Algebra in een Intelligent Tutoring Systeem

Automating Complex Workflows using Processing Modeler

Zelftest Java concepten

Intro JIP MoBaMo-BES. Deltares.

Business Process Modeling. Jef De Smedt

InterActory CDModeller

Procesbeheer bij de VLM

Generiek framework voor administratieve toepassingen in een webgeörienteerde omgeving

Data Governance van visie naar implementatie

Archimate risico extensies modelleren

(On)Doenlijke problemen

Fundamenten van de Informatica

Optimalisering/Besliskunde 1. College 1 6 september, 2012

a. Wat wordt verstaan onder V&V? b. Uit welke kernactiviteiten bestaat V&V? c. Noem enkele voor- en nadelen van inspecties. d. Idem voor testen.

Vernieuwing Bacheloropleidingen Informatica en Informatiekunde

Tools voor canonieke datamodellering Bert Dingemans

DEMCON Gestructureerde aanpak van mechatronische projecten

Workflow Management MIS 3TI

- Academische competenties in de bachelor - Academische competenties in de bachelor

Take-home Tentamen Protocolvericatie. Universiteit van Amsterdam. 27 Maart 1994

ASR Mainframe Monitoring mbv BMC Dataserver

INHOUD. Presentatie ICT werkervaring (voornamelijk) Gericht op databasetoepassingen. Sprekers. Allard van Amerongen Ing. Stefan Boekel

Educagen. Wij zijn specialisten in Education en in Gen met een ervaring in consultancy en training van meer dan 20 jaar in de Gen-omgeving.

Waarmaken van Leibniz s droom

BUSINESS ANALYSIS FOUNDATION

DATAMODELLERING SIPOC

Zelftest Java EE Architectuur

Process Mining: Wat gebeurt er nu echt? en hoe kan het beter?

Deel I Hoofdstuk 4: Modelleren van Toestand

Informatiemanagement Examennummer: Datum: 8 december 2012 Tijd: 13:00 uur - 14:30 uur

De beheerrisico s van architectuur

slides2.pdf 2 nov

Machinebeheer op afstand. Efficiënt. Wereldwijd. Intuïtief

DATAMODELLERING ARCHIMATE DATA- & APPLICATIEMODELLERING

Data Driven: Show & tell

Talen & Automaten. Wim Hesselink Piter Dykstra Opleidingsinstituut Informatica en Cognitie 9 mei 2008

Toegepaste notatiewijzen DLA software

Informatica aan de Universiteit Antwerpen

Opdracht informatiesystemen 2016/2017 Specificatie en implementatie van een informatiesysteem. Dr.ir. J.M.E.M. van der Werf

Application interface. service. Application function / interaction

Getallensystemen, verzamelingen en relaties

Doel ITANNEX: Verbeteren van de kwaliteit van de bebouwde omgeving en van het proces waarmee het ontworpen, gerealiseerd en beheerd wordt

B l u e D o l p h i n

2WO12: Optimalisering in Netwerken

praktijk theorie vaardigheden kennis mechanica statica dynamica thermodynamica stromingsleer

Voorspelbaar verkoopsucces met sales opportunities in SAP Business One

BiZZdesign Academy. BiZZdesign Training Programma Building Strong Organizations Together

MDA experiences in een uitvoeringsorganisatie. Eelco van Mens (Architect, Mn Services) 5 juni 2008

Congres Architectuur in de Zorg

Bekend zijn met de visie en inzet van procesmanagement in de eigen organisatie.

Het omzetten van reguliere expressies naar eindige automaten, zie de vakken Fundamentele Informatica 1 en 2.

Bijlage bacheloropleiding Informatica

Module 1 Programmeren

TENTAMEN Basismodellen in de Informatica VOORBEELDUITWERKING

Introductie tot de cursus

Afstudeeropdracht bachelor informatica

Parametrisch Ontwerpen Design Informatics BSc BK3OV3. Challenge the future

Optimalisering/Besliskunde 1. College 1 3 september, 2014

Parasoft toepassingen

ONTWERP VAN GEDISTRIBUEERDE SOFTWARE ACADEMIEJAAR STE EXAMENPERIODE, 15 JANUARI 2010, 14U 17U30 VRAAG 1: INLEIDENDE BEGRIPPEN[20 MIN]

Veel (onderzoeks)simulatoren voor verkeer en transport

Inleiding tot BPMN. Samuël Sourdeau & Lars Hegemann Laatste bijwerking: feb 2010

XAMPP Web Development omgeving opzetten onder Windows.

Duurzame software? Single- versus multi-tenant software. Erik Jagroep

Transcriptie:

Procesmodelleren (terug van weggeweest) Jaap van der Woude Informatica Open Universiteit, Nederland 2011-05-31

Outline 1. Motivatie 2. Modelleren 3. Petri-net 4. Coloured Petri-net 5. CPNtools 2

Nieuwe cursus T04211 Procesmodelleren Van statisch modelleren (ER, class diagram) dynamisch modelleren (MSC, activity diagrams) component georienteeerd ontwerp Naar analyseerbare modellen sound workflow constructie rapid prototyping 3

Nieuwe cursus Procesmodelleren is een vak tussen BSc vakken MDD (model driven development) en Java x MSc vakken WAI (Web services) en OBR (bedrijfsregels) Gebruikmakend van propaedeuse (sets, logica, lineaire algebra) flarden automaten en functioneel programmeren Gebaseerd op Petri-netten 4

Proces Bedrijfsprocessen op verschillende abstractieniveaus Strategisch: componentsgewijs construeren (hierarchie) Tactisch: correctheid van data en controlflow (kleur) Operationeel: performance en statistiek (simulatie) Voorbeelden organisatie van een afdeling inrichting van een productieketen workflow management systeem besturing modeltreinbaan, sudoku oplosser 5

Modelleren Wat descriptief representatie van de geobserveerde werkelijkheid normatief specificatie van de wenselijke situatie Waarom communiceren validatie, documentatie en indoctrinatie monitoren wat gebeurt? en moet waarom hoe beter? analyseren meting, berekening en bewijs. Op welke basis? Hoe inzichtelijk grafische helderheid (en simplisme) precies mathematische rigeur balans tussen architectuur en algoritme 6

ModelleerModeling talen languages (1) MS Workflow Foundation FileNet Global 360 BPM Suite YAWL Axxerion InConcert IBM WebSphere XPDL Flowmark COSA casewise BPEL BPM one BWise UML Global 360 Protos jbpm ADs FlowConnect SAP Workflow BPMN EPCs Ensemble Flower TeamWARE Bizagi BPM, Advanced Petri Net Course, 23 Promatis BiZZdesigner 2010 Yasper [110618 TouWdag] 7

Modelleer talen Wij richten ons op Petrinetten want eenvoudige en begrijpelijke grafische notatie helder modelleren van concurrente systemen wel-gedefinieerde semantiek goede analyse methoden en tools industriele talen kunnen vaak (deels) naar Petrinetten vertaald worden geen modieuze eendagsvlieg 8

I/O relaties a? b? b! c! d! input: a?, b? output: b!, c!, d! 9

I/O relaties pa a? Trans b? b! pb c! d! pc pd plaats: pa, pb, pc, pd transitie: Trans input: a?, b? output: b!, c!, d! 9

I/O relaties pa Trans pc pd plaats: pa, pb, pc, pd transitie: Trans marking: 2pa + pd pb not enabled Marking met tokens Token toont bezetting van een plaats Enabled (vuurklaar) als elke input bezet is Vuring van transitie is atomair consumeert een token uit elke input en produceert een token in elke output 9

I/O relaties pa Trans pc pd plaats: pa, pb, pc, pd transitie: Trans marking: 2pa + pb + pd pb enabled Marking met tokens Token toont bezetting van een plaats Enabled (vuurklaar) als elke input bezet is Vuring van transitie is atomair consumeert een token uit elke input en produceert een token in elke output 9

I/O relaties pa Trans pc pd plaats: pa, pb, pc, pd transitie: Trans marking: 2pa + pb + pd pb VUUR Marking met tokens Token toont bezetting van een plaats Enabled (vuurklaar) als elke input bezet is Vuring van transitie is atomair consumeert een token uit elke input en produceert een token in elke output 9

I/O relaties pc pa Trans pb pd plaats: pa, pb, pc, pd transitie: Trans marking: pa + pb + pc + 2pd enabled Marking met tokens Token toont bezetting van een plaats Enabled (vuurklaar) als elke input bezet is Vuring van transitie is atomair consumeert een token uit elke input en produceert een token in elke output 9

I/O relaties pa Trans pc pd plaats: pa, pb, pc, pd transitie: Trans marking: pa + pb + pc + 2pd pb VUUR Marking met tokens Token toont bezetting van een plaats Enabled (vuurklaar) als elke input bezet is Vuring van transitie is atomair consumeert een token uit elke input en produceert een token in elke output 9

I/O relaties pa Trans pc pd plaats: pa, pb, pc, pd transitie: Trans marking: pb + 2pc + 3pd pb not enabled Marking met tokens Token toont bezetting van een plaats Enabled (vuurklaar) als elke input bezet is Vuring van transitie is atomair consumeert een token uit elke input en produceert een token in elke output 9

compositie net constructie door combinatie van I/O relaties Trb pc pa a? Trans b? b! c! d! pd Trc pb Trd 10

compositie plaatsfusie van in- en outputplaatsen van transities Trb pc pa a? Trans b? b! c! d! pd Trc pb Trd 11

compositie samen vormen ze een open systeem Trb pc pa a? Trans b? b! c! d! pd Trc pb Trd Hier met twee input plaatsen en 1 outputplaats niet atomair 12

definitie Een Petri-net is een gerichte bipartiete graaf Twee soorten knopen: plaatsen en transities De toestand is een marking met tokens Vuring van een transitie verandert de toestand Toestanden met hun veranderingen is een transitiesysteem 13

definitie Een Petri-net is een gerichte bipartiete graaf Twee soorten knopen: plaatsen en transities De toestand is een marking met tokens Vuring van een transitie verandert de toestand Toestanden met hun veranderingen is een transitiesysteem check policy refuse start register check damage pay end 13

definitie Een Petri-net is een gerichte bipartiete graaf Twee soorten knopen: plaatsen en transities De toestand is een marking met tokens Vuring van een transitie verandert de toestand Toestanden met hun veranderingen is een transitiesysteem check policy refuse start register check damage pay end 13

definitie Een Petri-net is een gerichte bipartiete graaf Twee soorten knopen: plaatsen en transities De toestand is een marking met tokens Vuring van een transitie verandert de toestand Toestanden met hun veranderingen is een transitiesysteem check policy refuse start register check damage pay end 13

definitie Een Petri-net is een gerichte bipartiete graaf Twee soorten knopen: plaatsen en transities De toestand is een marking met tokens Vuring van een transitie verandert de toestand Toestanden met hun veranderingen is een transitiesysteem check policy refuse start register check damage pay end 13

definitie Een Petri-net is een gerichte bipartiete graaf Twee soorten knopen: plaatsen en transities De toestand is een marking met tokens Vuring van een transitie verandert de toestand Toestanden met hun veranderingen is een transitiesysteem check policy refuse start register check damage pay end 13

definitie Een Petri-net is een gerichte bipartiete graaf Twee soorten knopen: plaatsen en transities De toestand is een marking met tokens Vuring van een transitie verandert de toestand Toestanden met hun veranderingen is een transitiesysteem check policy refuse start register check damage pay end 13

definitie Een Petri-net is een gerichte bipartiete graaf Twee soorten knopen: plaatsen en transities De toestand is een marking met tokens Vuring van een transitie verandert de toestand Toestanden met hun veranderingen is een transitiesysteem check policy refuse start register check damage pay end 13

definitie Een Petri-net is een gerichte bipartiete graaf Twee soorten knopen: plaatsen en transities De toestand is een marking met tokens Vuring van een transitie verandert de toestand Toestanden met hun veranderingen is een transitiesysteem check policy refuse start register check damage pay end 13

definitie Een Petri-net is een gerichte bipartiete graaf Twee soorten knopen: plaatsen en transities De toestand is een marking met tokens Vuring van een transitie verandert de toestand Toestanden met hun veranderingen is een transitiesysteem check policy refuse start register check damage pay end 13

definitie Een Petri-net is een gerichte bipartiete graaf Twee soorten knopen: plaatsen en transities De toestand is een marking met tokens Vuring van een transitie verandert de toestand Toestanden met hun veranderingen is een transitiesysteem check policy refuse start register check damage pay end 13

definitie Een Petri-net is een gerichte bipartiete graaf Twee soorten knopen: plaatsen en transities De toestand is een marking met tokens Vuring van een transitie verandert de toestand Toestanden met hun veranderingen is een transitiesysteem check policy refuse start register check damage pay end 13

verkeerslichten g g' r x r' o o' Is dit tweetal verkeerslichten veilig? en fair? #g + #o + #x + #g + #o = 1 14

Gekleurde netten Nadelen klassiek: Klassieke netten zijn niet Turing volledig Het klassieke net wordt gauw erg groot Generalisatie vraagt grote aanpassing van het net Beperkte control flow informatie Geen waarde informatie Oplossing: kleur (CPN) Tokens met waarde Transities met relaties tussen waarden CPN is Turing volledig Gevaar: dreigt programmeren te worden 15

vb: gemiddelde pa a? Trans b? b! pb c! d! pc pd plaats: pa, pb, pc, pd transitie: Trans initieel bevat pb een token met waarde (0, 0) Trans a?, c! : N b?, b! : N N d! : Q b! = (fst(b?) + a?, snd(b?) + 1) c! = a? d! = fst(b!)/snd(b!) De plaatsen moeten toepasselijk getypeerd zijn! 16

vb: gemiddelde pa a Trans (b,b') (b+a, b'+1) pb a (b+a)/(b'+1) pc pd met inscripties langs de pijlen Trans a?, c! : N b?, b! : N N d! : Q b! = (fst(b?) + a?, snd(b?) + 1) c! = a? d! = fst(b!)/snd(b!) De plaatsen moeten toepasselijk getypeerd zijn! 16

tunnelomgeving 17

CPNtools Onwerpen van Hierarchische Gekleurde Petri-netten Animeren, simuleren en analyseren Deens product (Michael Westergaard) cpntools.org Nu onderhouden op de TU/e (gekoppeld aan ProM) Open source software onder Windows (en Linux) Expressies in SML (strikte functionele taal) 18

Na de pauze Klein modelletje met toenemende eisen: Tunnel CPNtools oefening met de hulp van Rik van Geldrop Arjan Mooij Jan Martijn van der Werf Nodig zijn: CPNtools tunnelbasis.cpn eventueel te vinden op www.win.tue.nl/ japie/touw/ (Zie ook: Sudoku-oplosser voor CPNtools (Klassieke) Petri-netten bouwer: Yasper ) 19