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
Recommended