SlideShare uma empresa Scribd logo
1 de 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

Mais conteúdo relacionado

Mais procurados

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
 

Mais procurados (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
 

Semelhante a 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
 

Semelhante a 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
 

Mais de 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
 

Mais de 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
 

Último

Modern binary build systems - PyCon 2024
Modern binary build systems - PyCon 2024Modern binary build systems - PyCon 2024
Modern binary build systems - PyCon 2024Henry Schreiner
 
Navigation in flutter – how to add stack, tab, and drawer navigators to your ...
Navigation in flutter – how to add stack, tab, and drawer navigators to your ...Navigation in flutter – how to add stack, tab, and drawer navigators to your ...
Navigation in flutter – how to add stack, tab, and drawer navigators to your ...Flutter Agency
 
COMPUTER AND ITS COMPONENTS PPT.by naitik sharma Class 9th A mittal internati...
COMPUTER AND ITS COMPONENTS PPT.by naitik sharma Class 9th A mittal internati...COMPUTER AND ITS COMPONENTS PPT.by naitik sharma Class 9th A mittal internati...
COMPUTER AND ITS COMPONENTS PPT.by naitik sharma Class 9th A mittal internati...naitiksharma1124
 
^Clinic ^%[+27788225528*Abortion Pills For Sale In witbank
^Clinic ^%[+27788225528*Abortion Pills For Sale In witbank^Clinic ^%[+27788225528*Abortion Pills For Sale In witbank
^Clinic ^%[+27788225528*Abortion Pills For Sale In witbankkasambamuno
 
Entropy, Software Quality, and Innovation (presented at Princeton Plasma Phys...
Entropy, Software Quality, and Innovation (presented at Princeton Plasma Phys...Entropy, Software Quality, and Innovation (presented at Princeton Plasma Phys...
Entropy, Software Quality, and Innovation (presented at Princeton Plasma Phys...Andrea Goulet
 
architecting-ai-in-the-enterprise-apis-and-applications.pdf
architecting-ai-in-the-enterprise-apis-and-applications.pdfarchitecting-ai-in-the-enterprise-apis-and-applications.pdf
architecting-ai-in-the-enterprise-apis-and-applications.pdfWSO2
 
Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...
Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...
Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...Lisi Hocke
 
The Evolution of Web App Testing_ An Ultimate Guide to Future Trends.pdf
The Evolution of Web App Testing_ An Ultimate Guide to Future Trends.pdfThe Evolution of Web App Testing_ An Ultimate Guide to Future Trends.pdf
The Evolution of Web App Testing_ An Ultimate Guide to Future Trends.pdfkalichargn70th171
 
GraphSummit Milan & Stockholm - Neo4j: The Art of the Possible with Graph
GraphSummit Milan & Stockholm - Neo4j: The Art of the Possible with GraphGraphSummit Milan & Stockholm - Neo4j: The Art of the Possible with Graph
GraphSummit Milan & Stockholm - Neo4j: The Art of the Possible with GraphNeo4j
 
From Theory to Practice: Utilizing SpiraPlan's REST API
From Theory to Practice: Utilizing SpiraPlan's REST APIFrom Theory to Practice: Utilizing SpiraPlan's REST API
From Theory to Practice: Utilizing SpiraPlan's REST APIInflectra
 
Automate your OpenSIPS config tests - OpenSIPS Summit 2024
Automate your OpenSIPS config tests - OpenSIPS Summit 2024Automate your OpenSIPS config tests - OpenSIPS Summit 2024
Automate your OpenSIPS config tests - OpenSIPS Summit 2024Andreas Granig
 
Workshop: Enabling GenAI Breakthroughs with Knowledge Graphs - GraphSummit Milan
Workshop: Enabling GenAI Breakthroughs with Knowledge Graphs - GraphSummit MilanWorkshop: Enabling GenAI Breakthroughs with Knowledge Graphs - GraphSummit Milan
Workshop: Enabling GenAI Breakthroughs with Knowledge Graphs - GraphSummit MilanNeo4j
 
Transformer Neural Network Use Cases with Links
Transformer Neural Network Use Cases with LinksTransformer Neural Network Use Cases with Links
Transformer Neural Network Use Cases with LinksJinanKordab
 
Alluxio Monthly Webinar | Simplify Data Access for AI in Multi-Cloud
Alluxio Monthly Webinar | Simplify Data Access for AI in Multi-CloudAlluxio Monthly Webinar | Simplify Data Access for AI in Multi-Cloud
Alluxio Monthly Webinar | Simplify Data Access for AI in Multi-CloudAlluxio, Inc.
 
Lessons Learned from Building a Serverless Notifications System.pdf
Lessons Learned from Building a Serverless Notifications System.pdfLessons Learned from Building a Serverless Notifications System.pdf
Lessons Learned from Building a Serverless Notifications System.pdfSrushith Repakula
 
A Deep Dive into Secure Product Development Frameworks.pdf
A Deep Dive into Secure Product Development Frameworks.pdfA Deep Dive into Secure Product Development Frameworks.pdf
A Deep Dive into Secure Product Development Frameworks.pdfICS
 
Food Delivery Business App Development Guide 2024
Food Delivery Business App Development Guide 2024Food Delivery Business App Development Guide 2024
Food Delivery Business App Development Guide 2024Chirag Panchal
 

Último (20)

Modern binary build systems - PyCon 2024
Modern binary build systems - PyCon 2024Modern binary build systems - PyCon 2024
Modern binary build systems - PyCon 2024
 
Navigation in flutter – how to add stack, tab, and drawer navigators to your ...
Navigation in flutter – how to add stack, tab, and drawer navigators to your ...Navigation in flutter – how to add stack, tab, and drawer navigators to your ...
Navigation in flutter – how to add stack, tab, and drawer navigators to your ...
 
COMPUTER AND ITS COMPONENTS PPT.by naitik sharma Class 9th A mittal internati...
COMPUTER AND ITS COMPONENTS PPT.by naitik sharma Class 9th A mittal internati...COMPUTER AND ITS COMPONENTS PPT.by naitik sharma Class 9th A mittal internati...
COMPUTER AND ITS COMPONENTS PPT.by naitik sharma Class 9th A mittal internati...
 
^Clinic ^%[+27788225528*Abortion Pills For Sale In witbank
^Clinic ^%[+27788225528*Abortion Pills For Sale In witbank^Clinic ^%[+27788225528*Abortion Pills For Sale In witbank
^Clinic ^%[+27788225528*Abortion Pills For Sale In witbank
 
Entropy, Software Quality, and Innovation (presented at Princeton Plasma Phys...
Entropy, Software Quality, and Innovation (presented at Princeton Plasma Phys...Entropy, Software Quality, and Innovation (presented at Princeton Plasma Phys...
Entropy, Software Quality, and Innovation (presented at Princeton Plasma Phys...
 
architecting-ai-in-the-enterprise-apis-and-applications.pdf
architecting-ai-in-the-enterprise-apis-and-applications.pdfarchitecting-ai-in-the-enterprise-apis-and-applications.pdf
architecting-ai-in-the-enterprise-apis-and-applications.pdf
 
Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...
Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...
Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...
 
The Evolution of Web App Testing_ An Ultimate Guide to Future Trends.pdf
The Evolution of Web App Testing_ An Ultimate Guide to Future Trends.pdfThe Evolution of Web App Testing_ An Ultimate Guide to Future Trends.pdf
The Evolution of Web App Testing_ An Ultimate Guide to Future Trends.pdf
 
GraphSummit Milan & Stockholm - Neo4j: The Art of the Possible with Graph
GraphSummit Milan & Stockholm - Neo4j: The Art of the Possible with GraphGraphSummit Milan & Stockholm - Neo4j: The Art of the Possible with Graph
GraphSummit Milan & Stockholm - Neo4j: The Art of the Possible with Graph
 
From Theory to Practice: Utilizing SpiraPlan's REST API
From Theory to Practice: Utilizing SpiraPlan's REST APIFrom Theory to Practice: Utilizing SpiraPlan's REST API
From Theory to Practice: Utilizing SpiraPlan's REST API
 
Abortion Clinic Pretoria ](+27832195400*)[ Abortion Clinic Near Me ● Abortion...
Abortion Clinic Pretoria ](+27832195400*)[ Abortion Clinic Near Me ● Abortion...Abortion Clinic Pretoria ](+27832195400*)[ Abortion Clinic Near Me ● Abortion...
Abortion Clinic Pretoria ](+27832195400*)[ Abortion Clinic Near Me ● Abortion...
 
Automate your OpenSIPS config tests - OpenSIPS Summit 2024
Automate your OpenSIPS config tests - OpenSIPS Summit 2024Automate your OpenSIPS config tests - OpenSIPS Summit 2024
Automate your OpenSIPS config tests - OpenSIPS Summit 2024
 
Abortion Clinic In Polokwane ](+27832195400*)[ 🏥 Safe Abortion Pills in Polok...
Abortion Clinic In Polokwane ](+27832195400*)[ 🏥 Safe Abortion Pills in Polok...Abortion Clinic In Polokwane ](+27832195400*)[ 🏥 Safe Abortion Pills in Polok...
Abortion Clinic In Polokwane ](+27832195400*)[ 🏥 Safe Abortion Pills in Polok...
 
Workshop: Enabling GenAI Breakthroughs with Knowledge Graphs - GraphSummit Milan
Workshop: Enabling GenAI Breakthroughs with Knowledge Graphs - GraphSummit MilanWorkshop: Enabling GenAI Breakthroughs with Knowledge Graphs - GraphSummit Milan
Workshop: Enabling GenAI Breakthroughs with Knowledge Graphs - GraphSummit Milan
 
Transformer Neural Network Use Cases with Links
Transformer Neural Network Use Cases with LinksTransformer Neural Network Use Cases with Links
Transformer Neural Network Use Cases with Links
 
Alluxio Monthly Webinar | Simplify Data Access for AI in Multi-Cloud
Alluxio Monthly Webinar | Simplify Data Access for AI in Multi-CloudAlluxio Monthly Webinar | Simplify Data Access for AI in Multi-Cloud
Alluxio Monthly Webinar | Simplify Data Access for AI in Multi-Cloud
 
Abortion Pill Prices Germiston ](+27832195400*)[ 🏥 Women's Abortion Clinic in...
Abortion Pill Prices Germiston ](+27832195400*)[ 🏥 Women's Abortion Clinic in...Abortion Pill Prices Germiston ](+27832195400*)[ 🏥 Women's Abortion Clinic in...
Abortion Pill Prices Germiston ](+27832195400*)[ 🏥 Women's Abortion Clinic in...
 
Lessons Learned from Building a Serverless Notifications System.pdf
Lessons Learned from Building a Serverless Notifications System.pdfLessons Learned from Building a Serverless Notifications System.pdf
Lessons Learned from Building a Serverless Notifications System.pdf
 
A Deep Dive into Secure Product Development Frameworks.pdf
A Deep Dive into Secure Product Development Frameworks.pdfA Deep Dive into Secure Product Development Frameworks.pdf
A Deep Dive into Secure Product Development Frameworks.pdf
 
Food Delivery Business App Development Guide 2024
Food Delivery Business App Development Guide 2024Food Delivery Business App Development Guide 2024
Food Delivery Business App Development Guide 2024
 

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

Notas do Editor

  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.