Ampersand masterclass

Preview:

Citation preview

Ampersand Masterclass

Ontwerpen van Informatiesystemen en

Bedrijfsprocessen

Agenda

1. Waarom Ampersand?2. Hoe zit deze cursus in elkaar?3. Een prototype4. Oefening: basiszinnen5. Voorbereiding huiswerk

Waartoe? (purpose)

• Waartoe modelleer je?• Waartoe maak je prototypes?• Waartoe formaliseer je?• Waartoe lees je de wet?

Voorbeeld datamodel

Voorbeeld conceptueel model

Eenvoudige en schone taal

• Axioma’s van Tarski gelden voor gebruikers van de Ampersand-taal

Jaap van der Woude and Stef Joosten. Relational heterogeneity relaxed by subtyping. Proceedings RAMiCS, Lecture Notes in Computer Science. Springer, 2011.

Waartoe prototypes maken?

Waartoe formaliseren?

Waartoe de wet lezen?

Voor wie is & bedoeld?• Requirements Engineers• Wetenschappers• Ontwerpers

1. Waarom Ampersand?2. Hoe zit deze cursus in elkaar?3. Een prototype4. Oefening: basiszinnen5. Voorbereiding huiswerk

Agenda

1. Waarom Ampersand?2. Hoe zit deze cursus in elkaar?3. Een prototype4. Oefening: basiszinnen5. Voorbereiding huiswerk

Agenda

Strafrecht proces

• Officier van Justitie vervolgt

• Griffie organiseert• Rechter beslist

Zelf doen: Delivery

• Ga naar http://www.tarski.nl/www/ampersand/DeliverySimple/

• Probeer dit prototype uit in de rol van vendor of client.

1. Waarom Ampersand?2. Hoe zit deze cursus in elkaar?3. Een prototype4. basiszinnen5. Voorbereiding huiswerk

Agenda

basiszin

“Jan heeft order 15 geplaatst”1. is “waar” of “niet waar”2. binnen context3. binair: <source> relatie <target>

4. betekenis?– Jan ontvangt de levering voor order 15?– Jan ontvangt de rekening order 15?– Jan krijgt vragen over order 15?

Beschrijving basiszinnen

• voorbeeld(en): “Jan heeft order 15 geplaatst.”

• patroon: “<Persoon> heeft <Order> geplaatst.”

• multipliciteiten: precies één persoon per order

• bedoeling: om te weten welke persoon verantwoordelijk is voor het plaatsen van en specifieke order.

• Betekenis: zinnen van het type “<Persoon> heeft <Order> geplaatst.” maken deel uit van de afgesproken taal.

Bedrijfsregels (een voorbeeld)

• Van elke vergunningaanvraag is de identiteit van de aanvrager geverifieerd.(Dus: eerst de identiteit vaststellen)

• Voordat u een vergunningaanvraag in behandeling neemt, dient u de identiteit van de aanvrager te verifiëren.

Bedrijfsregels (voorbeeld)

• Vergunningaanvragen mogen alleen door geautoriseerde medewerkers worden behandeld.

• Elke medewerker die een vergunningaanvraag behandeld dient hiervoor geautoriseerd te zijn.

Regels in soorten:

• statisch (=constraint)– invariant (altijd waar)– procesregel (op den duur waar)

• dynamisch (=rekenregel)– beslisregel– functionele afhankelijkheid– workflow-regel– …

Meer voorbeelden

• Voor elke vergunningaanvraag dient er een besluit te zijn.

• Medewerkers krijgen een bepaald gebied toegewezen.

(Vraag: wat zouden consequenties kunnen zijn van deze regels?)

1. Waarom Ampersand?2. Hoe zit deze cursus in elkaar?3. Een prototype4. basiszinnen5. Voorbereiding huiswerk

Agenda

Procesbesturing: het principe

• Computer signaleert.

• Mensen en machines handelen.

Vraagstuk:besturing

schakel schakelschakel

Ondersteuning

metensturen

beslissen

metensturen

beslissen

metensturen

beslissen

strategisch

tactisch

operationeel

productie

Procesmotor

observe events

signal violation

determine action

act

Procesbesturing

Detect

ADL

Business Operations

Processes

Systems

Rule owner

employee

Rule Base

ViolationsDistrib.

UserInterf.

Adapt

Infra

RegistrerenOntvangen en verzenden

Digitalevergunningen Plannen Schrijven Publiceren en

zoekenProductie

analyseren

Zaak-gegevens

Productie-gegevens

Beslissingen

Juridischekennis

Persoons-gegevens Registers

Hearing-gegevensBerichten Dossiers

DoelarchitectuurEenduidige semantiek

Wat is een dossier?

Eén ding in één doos

Applicaties gescheiden

van gegevens

Archief

RegistrerenOntvangen en verzenden

Digitaalprocederen Plannen Schrijven Publiceren en

zoekenProductie

analyseren

Zaak-gegevens

Productie-gegevens

Beslissingen

Juridischekennis

Persoons-gegevens Registers

Zitting--gegevensBerichten Dossiers

Doelarchitectuur

Archief

Koppelvlak

Impact: gegarandeerd functioneel

• Regel = functionele eis• Business ownership• Functionele specificatie afleiden:

– Conceptuele analyse– Datamodel (UML)– Service definities incl. semantiek

Impact: vervuilingsvrije servicelaag • Servicelaag:

– signaleert naar mensen, of– blokkeert, of– corrigeert automatisch

• Visie: een servicelaag is bedoeld om het handhaven van bedrijfsregels te ondersteunen.

Impact: ontwerpen

• Schrijf of hergebruik regels• Genereer de specificatie• Laat de opdrachtgever de regels

goedkeuren• bouwen• Implementeer het proces

Cursus Bedrijfsregels

• Bedrijfsregels in de praktijk• Analyseren mbv bedrijfsregels• Specificeren mbv bedrijfsregels• Toetsen van bedrijfsregels• Vertalen van formeel naar natuurlijk• Vertalen van natuurlijk naar formeel

Bedoeld voor

• Business consultant.• Master niveau.• Eerstejaars wiskunde (bijv. Discrete

wiskunde) reeds behaald.

Eisen

• Snelle internettoegang (in verband met virtuele bijeenkomsten)

• Inschrijving• Engels lezen, Nederlands spreken,

lezen en schrijven.• Aanwezig bij alle bijeenkomsten (vanaf

eigen lokatie).

Materialen

• Site: • Boek:• Tool:• Lesmaterialen:

Bijeenkomsten: wo 14:00 – 17:00u

• 4 okt: Relaties• 18 okt: ADL• 15 nov: Regels• 29 nov: Praktijk: RBAC• 13 dec: Reaal Autorisatie• 10 jan: Reaal DIS/WfM• 24 jan: Reaal DIS/WfM

Resultaten: relatiealgebra

• Relevante foutmeldingen worden afgeleid m.b.v. een bewijsgenerator.– Dus: begrijpelijke feedback, met zonodig

een bewijs erbij.

Gerard Michels, Sebastiaan Joosten, Jaap van der Woude, and Stef Joosten, Ampersand: Applying Relation Algebra in Practice, accepted in Proceedings RAMiCS, Lecture Notes in Computer Science. Springer, 2011.

Resultaat:Ontwerp van INDiGO (2007)

Process driven Case management

Au PairHandling plan (customized)

Knowledgemodel

Business rules / Law & Legislation

FLOW

KNOW

Resultaat:Ontwerp van VIRO (2010)

ESB

CM+Scanstraat DM

KM

Data TextIntegratie Printstraat CDD+ZRP

Portals

Web services

PortalsCM+ GUI

Portaal medewerker

. . .

Onderzoekshypothese

• Elk bedrijfsproces wordt bepaald door de concrete afspraken die door de belanghebbenden zijn gemaakt.

• Voorbeeld: het verlenen van milieuvergunningen (alle afspraken staan beschreven in de toepasselijke regelgeving)

Hoe?

Taal

Proces(sen)

OntologieServices

Doel: een integrale ontwerpaanpak

• Taal (van “de Business”)

• Regels: invariante -en procesregels

• Services en processen• Werkende software: functionele

specificaties en prototypes

Automatiserenvan formeledelen

Geïntegreerd ontwerpenideeën Specificeren

Implementeren

Ontwerpen Func. Specs

RealiserenCode

Onderzoeksthema’s

• Ontologie: betere wiki-functionaliteit door gebruik van semantiek (Rutledge)

• Webservices: ondersteunen van bedrijfsproces met nieuwe media (Lemmen, Wedemeijer)

• Procesmodelleren (vd Woude, Voorhoeve, Roubtsova)

• Databases: methoden voor ontwerp (Wiegerink)

• Ampersand: automatisering van het ontwerpproces (Michels, Joosten, vd Woude, Wedemeijer)

Thema: Ontologie

• Als een Ampersand-model een ontologie representeert, kunnen we dan een Wiki genereren?

• Als een Wiki de ontologie dynamisch kan veranderen, kunnen we dan dynamisch omgaan met een Ampersand-model?

Webservices

• Welke constraints gelden voor services, als een ontologie gegeven is?

• Is dit bruikbaar bij het ontwerpen van services?

• Welke fundamentele constraints stellen nieuwe media aan webservices?

Procesmodelleren

• Zijn procesmodellen afleidbaar uit een ontologie? Zo nee, welke kennis moeten we erbij leveren om het tóch te kunnen?

Databases

• Hoe ver kun je gaan met het verrijken van database-generatoren? Kunnen we databases in samenhang met processen ontwerpen?

Ampersand:

Neem een database die door Ampersand gegenereerd is. Kunnen we Ampersand zo aanpassen dat gebruikers (lees: studenten) ook de inhoud kunnen editen?

Resultaat:Atlas(OBR 2010, Gerard Michels)

• Een gereedschap waarmee studenten hun bedrijfsregels toetsen op consistentie en kunnen uitproberen.

• In productie sinds medio 2010

Hoe?

Language

Processes

OntologyServices