SlideShare a Scribd company logo
1 of 20
Modeling behavioral deontic
constraints using UML and OCL
Antonio Vallecillo, Martin Gogolla
Universidad de Málaga, Spain
University of Bremen, Germany
Link to the paper: https://doi.org/10.1007/978-3-030-62522-1_10
What is deontic logic?
 What is deontic logic?
 Deontic logic is the logic of Ethics
 It is about what is permissible and what is obligatory:
 What we should and should not do
 What we are allowed to do, and what we are not allowed to do
 What are deontic constraints?
 Deontic constraints are the way of expressing how a digital system is used and
applied in the real world so that moral or business rules are respected
 “Alethic” vs. “Deontic” rules
 Alethic rules impose “necessities” that cannot be violated (e.g. the age of a
person cannot be negative)
 Deontic rules impose “obligations” that can be violated although they should not
(e.g., borrowed books must be returned within one week).
 Accountability
 System actors or agents must be liable for their actions or inactions, whenever
they do not fulfil their obligations or transgress the system rules
2
Use of Deontic logic in systems specifications
 Allows us to deal with norms and expectations
 Obligations to perform specified behaviour
 Permissions to perform such behaviour
 Prohibitions of certain behaviours
 We shift to a style of specification where the focus is not only on the concrete
steps and processes, but on
 a set of obligations that must be discharged;
 who is responsible for discharging them;
 who is allowed to do that, and when;
 Delegation of obligations and permissions is possible
 Liability can be traced in case of problems, and parties become accountable
for their actions (and for their inactions!)
3
The current situation
 Some modeling proposals and notations, such as SBVR, ORM or the
Enterprise Language of the RM-ODP, provide support for deontic concepts
 Effectively used, e.g., in the e-Health domain! [19,20]
 Based on modal logics
 Using declarative approaches, which require specialized knowledge and with
little tool support (at most for editing, no proper analysis tools )
4
[13] [16]
Our contribution in this paper
 A proposal to explicitly specify dynamic (behavioral) deontic constraints in
UML and OCL
 They can be used to guide and restrict the behavior of the system, and
 They allow deontic reasoning about such a behavior, including accountability
analysis
 Operational style of specification, based on
(a) Deontic tokens,
 They reify deontic permissions and obligations as objects (permits and burdens)
 They can be explicitly handled in pre- and postconditions of operations
(b) Filmstrip models,
 They reify the system actions as objects so the system behavior is represented as
sequence of snapshots, and behavioral constraints become structural invariants
5
Case study: a student grading system
6
Some deontic constraints
1. Students are permitted to register with any teacher who does not have a
report from them that is still pending to grade
2. Students registered with a teacher have the permission, and the obligation,
to deliver the report to that teacher
3. Teachers have the permission, and the obligation, to grade all reports that
they advise and that are delivered to them
4. Students are permitted to view only the marks of their reports, and only
once these have been graded
5. Teachers are permitted to view only the marks of the reports they have
graded, but only once they have given the mark
7
Filmstrip models
 Permit the specification of behavior as a sequence of snapshots
 Each snapshot describes the current state of the system at one moment
 Transitions are caused by operation calls (in our current proposal)
8
A filmstrip object model with five snapshots (after 4 operations)
 Filmstrips provide a structural (static) specification of (dynamic) behavior!
 They allow the use of structural analysis tools for deontic reasoning
 Pre- and postconditions of operations become invariants in the filmstrip
 In USE, filmstrips can be automatically derived from behavioral specifications!
9
Reification of deontic tokens as objects
 Obligations reified as “Burdens”
 Permissions reified as “Permits”
 Agents acquire and release “permits” and “burdens” along their lifetime
10ISO/IEC 19793, ITU-T Rec. X.906: Information technology – Open distributed processing – Use of UML for ODP system specifications. (2015)
Combining filmstrips and deontic tokens
11
A filmstrip showing how deontic tokens evolve along the execution
12
Tokens are used in pre- and post conditions of operations!
 They specify how tokens are required for an action to proceed, and how they
are acquired/released as a result of the action
13
And now?
 Two possible model execution/simulation approaches:
 Prescriptive (deterministic): selecting a sequence of actions and executing them
in order
 Descriptive (non-deterministic): Continuously choosing one of the possible
actions that can be executed (i.e., whose pre-conditions are fulfilled) until no
further action is enabled
 Dynamic Analysis on the system can be accomplished by means of static
analysis on the filmstrip models:
 Temporal properties
 Fairness
 Reachability analysis
 Deontic constraints independence
 Accountability analysis
14
Temporal properties
 E.g., valid sequences of operations
(Student::register) -> (Student::deliver) -> (Teacher::grade) ->
[ (Student::viewMark) | (Teacher::viewMark) ]+
 Simply expressed as structural invariants on filmstrips:
15
Reachability analysis
 The USE model validator can be used to automatically find valid filmstrips
(i.e., behaviors) that starting from a configuration that can lead to a given
state (specified by an invariant)
16
Accountability analysis
 Agents can be tracked when undesirable situations happen
 Deadlocks: Agents with burdens to perform actions but with no permits for
them
 Rule transgression: Actions performed by agents with no permits for them
 They all can be checked using OCL expressions
 For example, no further burden remains undischarged in the system:
17
Conclusions and future work
 Explicit representation of the deontic rules and
tokens
 Instead of their implicit representation as
formulas in a modal logic, which might be
more difficult to debug, implement and maintain
 UML models with deontic tokens can be simulated to detect undesirable
situations ranging from constraint violations to deadlocks or starvation
 E.g., due to lack of permissions or non-dischargeable burdens.
 We achieve the necessary separation of concerns
 to decouple the functional specifications of a system from the deontic rules that
are applicable to it at a given moment, since the latter can evolve over time.
18
Conclusions and future work
 More case studies and Usability experiments
 Specification of “Delegations”
 They may require further “permissions to delegate” and might seriously
complicate accountability analysis
 Pessimistic enforcement model (actions are forbidden unless they are
explicitly permitted)
vs. optimistic enforcement model (actions are permitted unless explicitly
prohibited)
 Mappings to other modeling notations (SBVR, ORM, …)
19
Modeling behavioral deontic
constraints using UML and OCL
Antonio Vallecillo, Martin Gogolla
Universidad de Málaga, Spain
University of Bremen, Germany
Link to the paper: https://doi.org/10.1007/978-3-030-62522-1_10

More Related Content

What's hot

Modeling & simulation in projects
Modeling & simulation in projectsModeling & simulation in projects
Modeling & simulation in projectsanki009
 
Some Take-Home Message about Machine Learning
Some Take-Home Message about Machine LearningSome Take-Home Message about Machine Learning
Some Take-Home Message about Machine LearningGianluca Bontempi
 
Types of device models(part 2)
Types of device models(part 2)Types of device models(part 2)
Types of device models(part 2)SudharshaG
 
MachineLlearning introduction
MachineLlearning introductionMachineLlearning introduction
MachineLlearning introductionThe IOT Academy
 
Brief Tour of Machine Learning
Brief Tour of Machine LearningBrief Tour of Machine Learning
Brief Tour of Machine Learningbutest
 
Module 3 Object Oriented Data Models Object Oriented notations
Module 3  Object Oriented Data Models Object Oriented notationsModule 3  Object Oriented Data Models Object Oriented notations
Module 3 Object Oriented Data Models Object Oriented notationsTaher Barodawala
 
Ai project report
Ai project reportAi project report
Ai project reportsanjeevtmk
 

What's hot (10)

Modeling & simulation in projects
Modeling & simulation in projectsModeling & simulation in projects
Modeling & simulation in projects
 
Some Take-Home Message about Machine Learning
Some Take-Home Message about Machine LearningSome Take-Home Message about Machine Learning
Some Take-Home Message about Machine Learning
 
Types of device models(part 2)
Types of device models(part 2)Types of device models(part 2)
Types of device models(part 2)
 
Introduction to ml
Introduction to mlIntroduction to ml
Introduction to ml
 
MachineLlearning introduction
MachineLlearning introductionMachineLlearning introduction
MachineLlearning introduction
 
Brief Tour of Machine Learning
Brief Tour of Machine LearningBrief Tour of Machine Learning
Brief Tour of Machine Learning
 
Module 3 Object Oriented Data Models Object Oriented notations
Module 3  Object Oriented Data Models Object Oriented notationsModule 3  Object Oriented Data Models Object Oriented notations
Module 3 Object Oriented Data Models Object Oriented notations
 
Fuzzy expert system
Fuzzy expert systemFuzzy expert system
Fuzzy expert system
 
System Theories
System TheoriesSystem Theories
System Theories
 
Ai project report
Ai project reportAi project report
Ai project report
 

Similar to Modeling behavioral deontic constraints using UML and OCL

Discreate Event Simulation_PPT1-R0.ppt
Discreate Event Simulation_PPT1-R0.pptDiscreate Event Simulation_PPT1-R0.ppt
Discreate Event Simulation_PPT1-R0.pptdiklatMSU
 
IT440.pdf
IT440.pdfIT440.pdf
IT440.pdfAhTh3
 
s123.pdf
s123.pdfs123.pdf
s123.pdfAhTh3
 
s123.pdf
s123.pdfs123.pdf
s123.pdfAhTh3
 
Object oriented methodologies
Object oriented methodologiesObject oriented methodologies
Object oriented methodologiesnaina-rani
 
Introduction to simulation.pdf
Introduction to simulation.pdfIntroduction to simulation.pdf
Introduction to simulation.pdfnadimhossain24
 
MC0083 – Object Oriented Analysis &. Design using UML - Master of Computer Sc...
MC0083 – Object Oriented Analysis &. Design using UML - Master of Computer Sc...MC0083 – Object Oriented Analysis &. Design using UML - Master of Computer Sc...
MC0083 – Object Oriented Analysis &. Design using UML - Master of Computer Sc...Aravind NC
 
Introduction of abm
Introduction of abmIntroduction of abm
Introduction of abmYudi Yasik
 
Ooad Overview
Ooad OverviewOoad Overview
Ooad OverviewDang Tuan
 
Introduction of abm
Introduction of abmIntroduction of abm
Introduction of abmyudiyasik
 
Introduction of abm
Introduction of abmIntroduction of abm
Introduction of abmyudiyasik
 
Object modeling techniques by savyasachi
Object modeling techniques by savyasachiObject modeling techniques by savyasachi
Object modeling techniques by savyasachiSavyasachi14
 
System dynamic20011598-079.pptx
System dynamic20011598-079.pptxSystem dynamic20011598-079.pptx
System dynamic20011598-079.pptxmuhammadsaad359748
 
Object Modeling Techniques
Object Modeling TechniquesObject Modeling Techniques
Object Modeling TechniquesShilpa Wadhwani
 
Unit 6 Simulation.pptx
Unit 6 Simulation.pptxUnit 6 Simulation.pptx
Unit 6 Simulation.pptxHafiz20006
 
CS8592 Object Oriented Analysis & Design - UNIT V
CS8592 Object Oriented Analysis & Design - UNIT V CS8592 Object Oriented Analysis & Design - UNIT V
CS8592 Object Oriented Analysis & Design - UNIT V pkaviya
 
05 use-case-modeling-1mon
05 use-case-modeling-1mon05 use-case-modeling-1mon
05 use-case-modeling-1monTuul Tuka
 

Similar to Modeling behavioral deontic constraints using UML and OCL (20)

MODELING & SIMULATION.docx
MODELING & SIMULATION.docxMODELING & SIMULATION.docx
MODELING & SIMULATION.docx
 
Discreate Event Simulation_PPT1-R0.ppt
Discreate Event Simulation_PPT1-R0.pptDiscreate Event Simulation_PPT1-R0.ppt
Discreate Event Simulation_PPT1-R0.ppt
 
IT440.pdf
IT440.pdfIT440.pdf
IT440.pdf
 
s123.pdf
s123.pdfs123.pdf
s123.pdf
 
s123.pdf
s123.pdfs123.pdf
s123.pdf
 
Object oriented methodologies
Object oriented methodologiesObject oriented methodologies
Object oriented methodologies
 
SIMULATION.pdf
SIMULATION.pdfSIMULATION.pdf
SIMULATION.pdf
 
Introduction to simulation.pdf
Introduction to simulation.pdfIntroduction to simulation.pdf
Introduction to simulation.pdf
 
MC0083 – Object Oriented Analysis &. Design using UML - Master of Computer Sc...
MC0083 – Object Oriented Analysis &. Design using UML - Master of Computer Sc...MC0083 – Object Oriented Analysis &. Design using UML - Master of Computer Sc...
MC0083 – Object Oriented Analysis &. Design using UML - Master of Computer Sc...
 
Introduction of abm
Introduction of abmIntroduction of abm
Introduction of abm
 
Ooad Overview
Ooad OverviewOoad Overview
Ooad Overview
 
Ooad overview
Ooad overviewOoad overview
Ooad overview
 
Introduction of abm
Introduction of abmIntroduction of abm
Introduction of abm
 
Introduction of abm
Introduction of abmIntroduction of abm
Introduction of abm
 
Object modeling techniques by savyasachi
Object modeling techniques by savyasachiObject modeling techniques by savyasachi
Object modeling techniques by savyasachi
 
System dynamic20011598-079.pptx
System dynamic20011598-079.pptxSystem dynamic20011598-079.pptx
System dynamic20011598-079.pptx
 
Object Modeling Techniques
Object Modeling TechniquesObject Modeling Techniques
Object Modeling Techniques
 
Unit 6 Simulation.pptx
Unit 6 Simulation.pptxUnit 6 Simulation.pptx
Unit 6 Simulation.pptx
 
CS8592 Object Oriented Analysis & Design - UNIT V
CS8592 Object Oriented Analysis & Design - UNIT V CS8592 Object Oriented Analysis & Design - UNIT V
CS8592 Object Oriented Analysis & Design - UNIT V
 
05 use-case-modeling-1mon
05 use-case-modeling-1mon05 use-case-modeling-1mon
05 use-case-modeling-1mon
 

More from Antonio Vallecillo

Introducing Subjective Knowledge Graphs
Introducing Subjective Knowledge GraphsIntroducing Subjective Knowledge Graphs
Introducing Subjective Knowledge GraphsAntonio Vallecillo
 
Modeling and Evaluating Quality in the Presence of Uncertainty
Modeling and Evaluating Quality in the Presence of UncertaintyModeling and Evaluating Quality in the Presence of Uncertainty
Modeling and Evaluating Quality in the Presence of UncertaintyAntonio Vallecillo
 
Research Evaluation - The current situation in Spain
Research Evaluation - The current situation in SpainResearch Evaluation - The current situation in Spain
Research Evaluation - The current situation in SpainAntonio Vallecillo
 
Belief Uncertainty in Software Models
Belief Uncertainty in Software ModelsBelief Uncertainty in Software Models
Belief Uncertainty in Software ModelsAntonio Vallecillo
 
Adding Random Operations to OCL
Adding Random Operations to OCLAdding Random Operations to OCL
Adding Random Operations to OCLAntonio Vallecillo
 
Extending Complex Event Processing to Graph-structured Information
Extending Complex Event Processing to Graph-structured InformationExtending Complex Event Processing to Graph-structured Information
Extending Complex Event Processing to Graph-structured InformationAntonio Vallecillo
 
Towards a Body of Knowledge for Model-Based Software Engineering
Towards a Body of Knowledge for Model-Based Software EngineeringTowards a Body of Knowledge for Model-Based Software Engineering
Towards a Body of Knowledge for Model-Based Software EngineeringAntonio Vallecillo
 
La Ingeniería Informática no es una Ciencia -- Reflexiones sobre la Educación...
La Ingeniería Informática no es una Ciencia -- Reflexiones sobre la Educación...La Ingeniería Informática no es una Ciencia -- Reflexiones sobre la Educación...
La Ingeniería Informática no es una Ciencia -- Reflexiones sobre la Educación...Antonio Vallecillo
 
La Ética en la Ingeniería de Software de Pruebas: Necesidad de un Código Ético
La Ética en la Ingeniería de Software de Pruebas: Necesidad de un Código ÉticoLa Ética en la Ingeniería de Software de Pruebas: Necesidad de un Código Ético
La Ética en la Ingeniería de Software de Pruebas: Necesidad de un Código ÉticoAntonio Vallecillo
 
La ingeniería del software en España: retos y oportunidades
La ingeniería del software en España: retos y oportunidadesLa ingeniería del software en España: retos y oportunidades
La ingeniería del software en España: retos y oportunidadesAntonio Vallecillo
 
Los Estudios de Posgrado de la Universidad de Málaga
Los Estudios de Posgrado de la Universidad de MálagaLos Estudios de Posgrado de la Universidad de Málaga
Los Estudios de Posgrado de la Universidad de MálagaAntonio Vallecillo
 
El papel de los MOOCs en la Formación de Posgrado. El reto de la Universidad...
El papel de los MOOCs en la Formación de Posgrado. El reto de la Universidad...El papel de los MOOCs en la Formación de Posgrado. El reto de la Universidad...
El papel de los MOOCs en la Formación de Posgrado. El reto de la Universidad...Antonio Vallecillo
 
La enseñanza digital y los MOOC en la UMA. Presentación en el XV encuentro de...
La enseñanza digital y los MOOC en la UMA. Presentación en el XV encuentro de...La enseñanza digital y los MOOC en la UMA. Presentación en el XV encuentro de...
La enseñanza digital y los MOOC en la UMA. Presentación en el XV encuentro de...Antonio Vallecillo
 
El doctorado en Informática: ¿Nuevo vino en viejas botellas? (Charla U. Sevil...
El doctorado en Informática: ¿Nuevo vino en viejas botellas? (Charla U. Sevil...El doctorado en Informática: ¿Nuevo vino en viejas botellas? (Charla U. Sevil...
El doctorado en Informática: ¿Nuevo vino en viejas botellas? (Charla U. Sevil...Antonio Vallecillo
 
Accountable objects: Modeling Liability in Open Distributed Systems
Accountable objects: Modeling Liability in Open Distributed SystemsAccountable objects: Modeling Liability in Open Distributed Systems
Accountable objects: Modeling Liability in Open Distributed SystemsAntonio Vallecillo
 
Improving Naming and Grouping in UML
Improving Naming and Grouping in UMLImproving Naming and Grouping in UML
Improving Naming and Grouping in UMLAntonio Vallecillo
 
On the Combination of Domain Specific Modeling Languages
On the Combination of Domain Specific Modeling LanguagesOn the Combination of Domain Specific Modeling Languages
On the Combination of Domain Specific Modeling LanguagesAntonio Vallecillo
 

More from Antonio Vallecillo (18)

Introducing Subjective Knowledge Graphs
Introducing Subjective Knowledge GraphsIntroducing Subjective Knowledge Graphs
Introducing Subjective Knowledge Graphs
 
Modeling and Evaluating Quality in the Presence of Uncertainty
Modeling and Evaluating Quality in the Presence of UncertaintyModeling and Evaluating Quality in the Presence of Uncertainty
Modeling and Evaluating Quality in the Presence of Uncertainty
 
Research Evaluation - The current situation in Spain
Research Evaluation - The current situation in SpainResearch Evaluation - The current situation in Spain
Research Evaluation - The current situation in Spain
 
Belief Uncertainty in Software Models
Belief Uncertainty in Software ModelsBelief Uncertainty in Software Models
Belief Uncertainty in Software Models
 
Adding Random Operations to OCL
Adding Random Operations to OCLAdding Random Operations to OCL
Adding Random Operations to OCL
 
Extending Complex Event Processing to Graph-structured Information
Extending Complex Event Processing to Graph-structured InformationExtending Complex Event Processing to Graph-structured Information
Extending Complex Event Processing to Graph-structured Information
 
Towards a Body of Knowledge for Model-Based Software Engineering
Towards a Body of Knowledge for Model-Based Software EngineeringTowards a Body of Knowledge for Model-Based Software Engineering
Towards a Body of Knowledge for Model-Based Software Engineering
 
La Ingeniería Informática no es una Ciencia -- Reflexiones sobre la Educación...
La Ingeniería Informática no es una Ciencia -- Reflexiones sobre la Educación...La Ingeniería Informática no es una Ciencia -- Reflexiones sobre la Educación...
La Ingeniería Informática no es una Ciencia -- Reflexiones sobre la Educación...
 
La Ética en la Ingeniería de Software de Pruebas: Necesidad de un Código Ético
La Ética en la Ingeniería de Software de Pruebas: Necesidad de un Código ÉticoLa Ética en la Ingeniería de Software de Pruebas: Necesidad de un Código Ético
La Ética en la Ingeniería de Software de Pruebas: Necesidad de un Código Ético
 
La ingeniería del software en España: retos y oportunidades
La ingeniería del software en España: retos y oportunidadesLa ingeniería del software en España: retos y oportunidades
La ingeniería del software en España: retos y oportunidades
 
Los Estudios de Posgrado de la Universidad de Málaga
Los Estudios de Posgrado de la Universidad de MálagaLos Estudios de Posgrado de la Universidad de Málaga
Los Estudios de Posgrado de la Universidad de Málaga
 
El papel de los MOOCs en la Formación de Posgrado. El reto de la Universidad...
El papel de los MOOCs en la Formación de Posgrado. El reto de la Universidad...El papel de los MOOCs en la Formación de Posgrado. El reto de la Universidad...
El papel de los MOOCs en la Formación de Posgrado. El reto de la Universidad...
 
La enseñanza digital y los MOOC en la UMA. Presentación en el XV encuentro de...
La enseñanza digital y los MOOC en la UMA. Presentación en el XV encuentro de...La enseñanza digital y los MOOC en la UMA. Presentación en el XV encuentro de...
La enseñanza digital y los MOOC en la UMA. Presentación en el XV encuentro de...
 
El doctorado en Informática: ¿Nuevo vino en viejas botellas? (Charla U. Sevil...
El doctorado en Informática: ¿Nuevo vino en viejas botellas? (Charla U. Sevil...El doctorado en Informática: ¿Nuevo vino en viejas botellas? (Charla U. Sevil...
El doctorado en Informática: ¿Nuevo vino en viejas botellas? (Charla U. Sevil...
 
Accountable objects: Modeling Liability in Open Distributed Systems
Accountable objects: Modeling Liability in Open Distributed SystemsAccountable objects: Modeling Liability in Open Distributed Systems
Accountable objects: Modeling Liability in Open Distributed Systems
 
Models And Meanings
Models And MeaningsModels And Meanings
Models And Meanings
 
Improving Naming and Grouping in UML
Improving Naming and Grouping in UMLImproving Naming and Grouping in UML
Improving Naming and Grouping in UML
 
On the Combination of Domain Specific Modeling Languages
On the Combination of Domain Specific Modeling LanguagesOn the Combination of Domain Specific Modeling Languages
On the Combination of Domain Specific Modeling Languages
 

Recently uploaded

Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Angel Borroy López
 
PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentationvaddepallysandeep122
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfFerryKemperman
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfMarharyta Nedzelska
 
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxUI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxAndreas Kunz
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringHironori Washizaki
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)jennyeacort
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Natan Silnitsky
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Matt Ray
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作qr0udbr0
 
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdfInnovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdfYashikaSharma391629
 
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...Akihiro Suda
 
Sending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdfSending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdf31events.com
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfDrew Moseley
 
Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfStefano Stabellini
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Mater
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 

Recently uploaded (20)

Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
 
PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentation
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdf
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdf
 
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxUI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their Engineering
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作
 
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdfInnovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdf
 
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
 
Sending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdfSending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdf
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdf
 
Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdf
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 

Modeling behavioral deontic constraints using UML and OCL

  • 1. Modeling behavioral deontic constraints using UML and OCL Antonio Vallecillo, Martin Gogolla Universidad de Málaga, Spain University of Bremen, Germany Link to the paper: https://doi.org/10.1007/978-3-030-62522-1_10
  • 2. What is deontic logic?  What is deontic logic?  Deontic logic is the logic of Ethics  It is about what is permissible and what is obligatory:  What we should and should not do  What we are allowed to do, and what we are not allowed to do  What are deontic constraints?  Deontic constraints are the way of expressing how a digital system is used and applied in the real world so that moral or business rules are respected  “Alethic” vs. “Deontic” rules  Alethic rules impose “necessities” that cannot be violated (e.g. the age of a person cannot be negative)  Deontic rules impose “obligations” that can be violated although they should not (e.g., borrowed books must be returned within one week).  Accountability  System actors or agents must be liable for their actions or inactions, whenever they do not fulfil their obligations or transgress the system rules 2
  • 3. Use of Deontic logic in systems specifications  Allows us to deal with norms and expectations  Obligations to perform specified behaviour  Permissions to perform such behaviour  Prohibitions of certain behaviours  We shift to a style of specification where the focus is not only on the concrete steps and processes, but on  a set of obligations that must be discharged;  who is responsible for discharging them;  who is allowed to do that, and when;  Delegation of obligations and permissions is possible  Liability can be traced in case of problems, and parties become accountable for their actions (and for their inactions!) 3
  • 4. The current situation  Some modeling proposals and notations, such as SBVR, ORM or the Enterprise Language of the RM-ODP, provide support for deontic concepts  Effectively used, e.g., in the e-Health domain! [19,20]  Based on modal logics  Using declarative approaches, which require specialized knowledge and with little tool support (at most for editing, no proper analysis tools ) 4 [13] [16]
  • 5. Our contribution in this paper  A proposal to explicitly specify dynamic (behavioral) deontic constraints in UML and OCL  They can be used to guide and restrict the behavior of the system, and  They allow deontic reasoning about such a behavior, including accountability analysis  Operational style of specification, based on (a) Deontic tokens,  They reify deontic permissions and obligations as objects (permits and burdens)  They can be explicitly handled in pre- and postconditions of operations (b) Filmstrip models,  They reify the system actions as objects so the system behavior is represented as sequence of snapshots, and behavioral constraints become structural invariants 5
  • 6. Case study: a student grading system 6
  • 7. Some deontic constraints 1. Students are permitted to register with any teacher who does not have a report from them that is still pending to grade 2. Students registered with a teacher have the permission, and the obligation, to deliver the report to that teacher 3. Teachers have the permission, and the obligation, to grade all reports that they advise and that are delivered to them 4. Students are permitted to view only the marks of their reports, and only once these have been graded 5. Teachers are permitted to view only the marks of the reports they have graded, but only once they have given the mark 7
  • 8. Filmstrip models  Permit the specification of behavior as a sequence of snapshots  Each snapshot describes the current state of the system at one moment  Transitions are caused by operation calls (in our current proposal) 8
  • 9. A filmstrip object model with five snapshots (after 4 operations)  Filmstrips provide a structural (static) specification of (dynamic) behavior!  They allow the use of structural analysis tools for deontic reasoning  Pre- and postconditions of operations become invariants in the filmstrip  In USE, filmstrips can be automatically derived from behavioral specifications! 9
  • 10. Reification of deontic tokens as objects  Obligations reified as “Burdens”  Permissions reified as “Permits”  Agents acquire and release “permits” and “burdens” along their lifetime 10ISO/IEC 19793, ITU-T Rec. X.906: Information technology – Open distributed processing – Use of UML for ODP system specifications. (2015)
  • 11. Combining filmstrips and deontic tokens 11
  • 12. A filmstrip showing how deontic tokens evolve along the execution 12
  • 13. Tokens are used in pre- and post conditions of operations!  They specify how tokens are required for an action to proceed, and how they are acquired/released as a result of the action 13
  • 14. And now?  Two possible model execution/simulation approaches:  Prescriptive (deterministic): selecting a sequence of actions and executing them in order  Descriptive (non-deterministic): Continuously choosing one of the possible actions that can be executed (i.e., whose pre-conditions are fulfilled) until no further action is enabled  Dynamic Analysis on the system can be accomplished by means of static analysis on the filmstrip models:  Temporal properties  Fairness  Reachability analysis  Deontic constraints independence  Accountability analysis 14
  • 15. Temporal properties  E.g., valid sequences of operations (Student::register) -> (Student::deliver) -> (Teacher::grade) -> [ (Student::viewMark) | (Teacher::viewMark) ]+  Simply expressed as structural invariants on filmstrips: 15
  • 16. Reachability analysis  The USE model validator can be used to automatically find valid filmstrips (i.e., behaviors) that starting from a configuration that can lead to a given state (specified by an invariant) 16
  • 17. Accountability analysis  Agents can be tracked when undesirable situations happen  Deadlocks: Agents with burdens to perform actions but with no permits for them  Rule transgression: Actions performed by agents with no permits for them  They all can be checked using OCL expressions  For example, no further burden remains undischarged in the system: 17
  • 18. Conclusions and future work  Explicit representation of the deontic rules and tokens  Instead of their implicit representation as formulas in a modal logic, which might be more difficult to debug, implement and maintain  UML models with deontic tokens can be simulated to detect undesirable situations ranging from constraint violations to deadlocks or starvation  E.g., due to lack of permissions or non-dischargeable burdens.  We achieve the necessary separation of concerns  to decouple the functional specifications of a system from the deontic rules that are applicable to it at a given moment, since the latter can evolve over time. 18
  • 19. Conclusions and future work  More case studies and Usability experiments  Specification of “Delegations”  They may require further “permissions to delegate” and might seriously complicate accountability analysis  Pessimistic enforcement model (actions are forbidden unless they are explicitly permitted) vs. optimistic enforcement model (actions are permitted unless explicitly prohibited)  Mappings to other modeling notations (SBVR, ORM, …) 19
  • 20. Modeling behavioral deontic constraints using UML and OCL Antonio Vallecillo, Martin Gogolla Universidad de Málaga, Spain University of Bremen, Germany Link to the paper: https://doi.org/10.1007/978-3-030-62522-1_10

Editor's Notes

  1. Our work aims at addressing this drawback by allowing modelers to specify deontic concepts and rules in plain UML and OCL, using an operational style (instead of a declarative one), based on two main pillars: The reification of deontic permissions and obligations as objects, which are assigned to the system active objects The reification of actions as objects, that “link” their corresponding “before” and “after” system states. Thus, a filmstrip is a sequence of models (snapshops) linked by the action occurrences that cause the system state changes. In this way, behavioral constraints become structural invariants in a filmstrip.