SlideShare a Scribd company logo
1 of 17
Download to read offline
Belief Uncertainty in Software Models
MISE 2019
Montreal, Canada, May 26-27, 2019
Loli Burgueño1,2, Robert Clarisó1, Jordi Cabot3,
Sébastien Gérard2 and Antonio Vallecillo4
1Open University of Catalonia, 2CEA-LIST, 3ICREA, 4University of Málaga
A simple example of a hotel room
2
Temp. sensor Smoke detector
Alarm center
CO detector
A simple example of a hotel room
3
System attributes, operations, and constraints
4
class AlarmCenter
attributes
hightTemp : UBoolean derive:
self.room.tempSensor.temperature > 30.0
hightCOLevel : UBoolean derive:
self.room.coSensor.coPPM > 20
smoke : UBoolean derive:
self.room.smokeDetector.smoke
fireAlert : UBoolean derive:
self.highTemp and self.highCOLevel and self.smoke
operations
isHot() : UBoolean = self.tempSensor.temperature > 25
isCold() : UBoolean = self.tempSensor.temperature < 18
constraints
inv TempPrecision: self.temperature.uncertainty() <= 0.2
[Bertoa et al “Expressing Measurement Uncertainty in OCL/UML Datatypes. ECMFA 2018: 46-62]
Some Belief Statements about the (model of the) system
 The CO and smoke detectors that we bought have a reliability of 90% (i.e., 10% of
their readings are not meaningful)
 We can only be 98% sure that the precision of the Temperature sensor is 0.5o, as
indicated in its datasheet
 We are 95% confident that the presence of high temperature, high CO level and
smoke really means that there is a fire in the room
 Bob is from the south, so he only assigns a credibility of 50% to the operations that
indicate if the room is hot or cold. In contrast, Mary thinks they are 99% accurate
 Room #3 is close to the kitchen and frequently emits alarms. Everybody thinks that
90% of them are false positives
 Joe the modeler doubts that the type of attribute “number” of class “Room” is Integer.
He thinks it may contain characters different from digits.
 Lucy the modeler is unsure if an “AlarmCenter” has to be attached to only one single
Room. She thinks they can also be attached to several.
5
[About the credibility of the values]
[From individual belief agents]
[About individual instances]
[About the model itself: relations]
[About the behavioral rules]
[About the uncertainty of the values]
[About the model itself: types]
>> How to represent these uncertainties in the system specifications?
>> How to incorporate them into the system structural and behavioral models?
The characters (in order of appearance…)
 Uncertainty
 The quality or state the involves imperfect
or unknown information
 It can be aleatory (variations in measurement) or epistemic (lack of knowledge)
 Belief uncertainty
 A kind of epistemic uncertainty in which the modeler, or any other belief agent,
is uncertain about any of the statements made about the system or its
environment. By nature, it is always subjective.
 Belief agent
 An entity (human, institution, even a machine) that holds one or more beliefs
 Belief statement
 Statement qualified by a degree of belief
 Degree of belief
 Confidence assigned to a statement by a belief agent. Normally expressed by
quantitative or qualitative methods (e.g., a grade or a probability)
6
Current approaches to represent and operate with Belief Uncertainty
7
Our contribution
 A mechanism able to assign a degree of belief to model statements
 A method to operate with the degrees of beliefs and automatically propagate
them through the system operations
How do we do that?
 Explicit representation of Belief Agents (including a default one)
 Degrees of belief represented by means of Bayesian probabilities (Credence)
 Bayesian probability is the most classical model for expressing and operating
with subjective information, and hence for quantifying beliefs
 Credence is a statistical term that refers to a measure of belief strength, which
expresses how much an agent believes that a proposition is true
 Credence values can be based entirely on subjective feelings
 Credence is better understood in the context of gambling, where this concept is
directly related to the odds at which a rational person would place a bet
 UML Profile + operational semantics
8
UML Profile
9
Operationalization
 A list of pairs (BeliefAgent,credence) for every model statement subject to
Belief Uncertainty
 Operations to add and remove pairs from the list of pairs
 Query operation to know the credence of a statement
10
isHot_Beliefs : Set(Tuple(beliefAgent : BeliefAgent, degreeOfBelief : Real))
isHot_BeliefsAdd(ba : BeliefAgent, d : Real)
post: self.isHot_Beliefs = self.isHot_Beliefs@pre->reject(t|t.beliefAgent=ba)->
including(Tuple{beliefAgent:ba,degreeOfBelief:d})
isHot_credence(a:BeliefAgent): Real =
let baBoD : … = self.isHot_Beliefs->select(t|t.beliefAgent = a) in
let baBoDnull : … = self.isHot_Beliefs->select(t|t.beliefAgent = null) in
if baBoD->isEmpty then -- no explicit credence by “a”
if baBoDnull->notEmpty then -- but if default value exists
baBoDnull->collect(degreeOfBelief)->any(true)
else 1.0 endif
else baBoD->collect(degreeOfBelief)->any(true) endif
Running the system…
11
Hotel> !new BeliefAgent('Bob')
Hotel> !new BeliefAgent('Mary')
Hotel> !r1.isHot_BeliefsAdd(Bob,0.5)
Hotel> !r1.isHot_BeliefsAdd(Mary,0.99)
Hotel> !r1.isHot_BeliefsAdd(null,0.95)
Hotel>
Hotel> ?r1.isHot()
-> UBoolean(true,1.0) : Uboolean
Hotel> ?r1.isHot_credence(Bob)
-> 0.5 : Real
Hotel> ?r1.isHot_credence(Mary)
-> 0.99 : Real
Hotel> ?r1.isHot_credence(null)
-> 0.95 : Real
Credence propagation on dependent belief statements
12
fireAlert_credence(ba:BeliefAgent): Real =
let baBoD : Set(Tuple(beliefAgent:BeliefAgent, degreeOfBelief:Real)) =
self.fireAlert_Beliefs->select(t|t.beliefAgent = ba) in
(if baBoD->isEmpty then …
else baBoD->collect(degreeOfBelief)->any(true)
endif)
* self.fireAlertDeriveExpr_credence(ba)
fireAlertDeriveExpr_credence(ba:BeliefAgent): Real =
let baBoD : Set(Tuple(beliefAgent:BeliefAgent, degreeOfBelief:Real)) =
self.fireAlertDeriveExpr_Beliefs->select(t|t.beliefAgent = ba) in
(if baBoD->isEmpty then …
else baBoD->collect(degreeOfBelief)->any(true)
endif)
* highTemp_credence(ba)
* highCOLevel_credence(ba)
* smoke_credence(ba)
Running the system…
13
Hotel> !r2.alarmCenter. fireAlert_BeliefsAdd(null,0.1)
Hotel> !r1.alarmCenter.fireAlert_BeliefsAdd(Bob,0.99)
Hotel> !r1.alarmCenter.fireAlertDeriveExpr_BeliefsAdd(Bob,0.95)
Hotel> !r1.alarmCenter.highTemp_BeliefsAdd(Bob,0.99)
Hotel> !r1.alarmCenter.highCOLevel_BeliefsAdd(Bob,0.99)
Hotel> !r1.alarmCenter.smoke_BeliefsAdd(Bob,0.99)
Hotel>
Hotel> ?r1.alarmCenter.fireAlert
-> UBoolean(true,0.99) : UBoolean
Hotel> ?r1.alarmCenter.fireAlert_credence(Bob)
-> 0.9125662095 : Real
Hotel> ?r1.alarmCenter.fireAlert_credence(Mary)
-> 1.0 : Real
Hotel> ?r1.alarmCenter.fireAlert_credence(null)
-> 1.0 : Real
Hotel>
Hotel> ?r2.alarmCenter.fireAlert_credence(Bob)
-> 0.04562831047 : Real
Conclusions and future work
 Explicit representation and management of belief uncertainty in software
models…
 …in terms of degrees of belief assigned to the model statements by separate
belief agents…
 …about the credibility of
 The values of the represented (physical) elements
 The measurement uncertainty of these values
 The expressions that model the behavior of the system
 The way in which we have modeled the system (types of the attributes, types of
relationships and their cardinalities, etc.)
 Future work
 Associating evidences to belief statements
 Representing degrees of beliefs in other types of models (use cases, sequence
diagrams, pre- and postconditions, …)
 Industrial case studies and further application domains (e.g., model inference,
model mining)
 Empirical validation with industrial modelers
14
Further claims (1/2)
 Claim 1: Our current software models are not fully capable of faithfully
representing all key relevant aspects of physical systems. These systems are
never crisp, they are subject to different kinds of uncertainties. This our
models should be able to reflect.
15
(http://www.christophniemann.com)
Further claims (2/2)
 Claim 2: Modeling notations and tools (e.g. DSLs) are of little value without
well defined methods and processes, which in turn require solid principles.
We should always ask ourselves if our modeling notations take into account
the principles that govern our physical systems, or are they mere shallow and
cosmetic descriptions of them?
16
“The man who grasps principles can successfully
handle his own methods. The man who tries methods,
ignoring principles, is sure to have trouble”
Ralph Waldo Emerson
Belief Uncertainty in Software Models
MISE 2019
Montreal, Canada, May 26-27, 2019
Loli Burgueño1,2, Robert Clarisó1, Jordi Cabot3,
Sébastien Gérard2 and Antonio Vallecillo4
1Open University of Catalonia, 2CEA-LIST, 3ICREA, 4Málaga University

More Related Content

Similar to Belief Uncertainty in Software Models

Pharmacokinetic pharmacodynamic modeling
Pharmacokinetic pharmacodynamic modelingPharmacokinetic pharmacodynamic modeling
Pharmacokinetic pharmacodynamic modelingMeghana Gowda
 
SensePost Threat Modelling
SensePost Threat ModellingSensePost Threat Modelling
SensePost Threat ModellingSensePost
 
A Novel Approach to Derive the Average-Case Behavior of Distributed Embedded ...
A Novel Approach to Derive the Average-Case Behavior of Distributed Embedded ...A Novel Approach to Derive the Average-Case Behavior of Distributed Embedded ...
A Novel Approach to Derive the Average-Case Behavior of Distributed Embedded ...ijccmsjournal
 
Research Methodology3_Measurement.pptx
Research Methodology3_Measurement.pptxResearch Methodology3_Measurement.pptx
Research Methodology3_Measurement.pptxAamirMaqsood8
 
IRJET- Personality Prediction System using AI
IRJET- Personality Prediction System using AIIRJET- Personality Prediction System using AI
IRJET- Personality Prediction System using AIIRJET Journal
 
PREDICTING BANKRUPTCY USING MACHINE LEARNING ALGORITHMS
PREDICTING BANKRUPTCY USING MACHINE LEARNING ALGORITHMSPREDICTING BANKRUPTCY USING MACHINE LEARNING ALGORITHMS
PREDICTING BANKRUPTCY USING MACHINE LEARNING ALGORITHMSIJCI JOURNAL
 
A computational dynamic trust model
A computational dynamic trust modelA computational dynamic trust model
A computational dynamic trust modelNexgen Technology
 
A COMPUTATIONAL DYNAMIC TRUST MODEL FOR USER AUTHORIZATION - IEEE PROJECTS I...
A COMPUTATIONAL DYNAMIC TRUST MODEL FOR USER AUTHORIZATION  - IEEE PROJECTS I...A COMPUTATIONAL DYNAMIC TRUST MODEL FOR USER AUTHORIZATION  - IEEE PROJECTS I...
A COMPUTATIONAL DYNAMIC TRUST MODEL FOR USER AUTHORIZATION - IEEE PROJECTS I...Nexgen Technology
 
A COMPUTATIONAL DYNAMIC TRUST MODEL FOR USER AUTHORIZATION
A COMPUTATIONAL DYNAMIC TRUST MODEL FOR USER AUTHORIZATIONA COMPUTATIONAL DYNAMIC TRUST MODEL FOR USER AUTHORIZATION
A COMPUTATIONAL DYNAMIC TRUST MODEL FOR USER AUTHORIZATIONnexgentechnology
 
A computational dynamic trust model
A computational dynamic trust modelA computational dynamic trust model
A computational dynamic trust modelnexgentech15
 
IBM impact-final-reviewed1
IBM impact-final-reviewed1IBM impact-final-reviewed1
IBM impact-final-reviewed1Priya Thinagar
 
8 rajib chakravorty risk
8 rajib chakravorty risk8 rajib chakravorty risk
8 rajib chakravorty riskCCR-interactive
 
CHAPTER 11 LOGISTIC REGRESSION.pptx
CHAPTER 11 LOGISTIC REGRESSION.pptxCHAPTER 11 LOGISTIC REGRESSION.pptx
CHAPTER 11 LOGISTIC REGRESSION.pptxUmaDeviAnanth
 
7.Trust Management
7.Trust Management7.Trust Management
7.Trust Managementphanleson
 
Week 1Defining the Safety Management SystemSeveral years .docx
Week 1Defining the Safety Management SystemSeveral years .docxWeek 1Defining the Safety Management SystemSeveral years .docx
Week 1Defining the Safety Management SystemSeveral years .docxcelenarouzie
 
Svm and maximum entropy model for sentiment analysis of tweets
Svm and maximum entropy model for sentiment analysis of tweetsSvm and maximum entropy model for sentiment analysis of tweets
Svm and maximum entropy model for sentiment analysis of tweetsS M Raju
 
introductiontobiometricsystemssecurity-150607104617-lva1-app6892.pdf
introductiontobiometricsystemssecurity-150607104617-lva1-app6892.pdfintroductiontobiometricsystemssecurity-150607104617-lva1-app6892.pdf
introductiontobiometricsystemssecurity-150607104617-lva1-app6892.pdfJohnLagman3
 

Similar to Belief Uncertainty in Software Models (20)

Ch24
Ch24Ch24
Ch24
 
Pharmacokinetic pharmacodynamic modeling
Pharmacokinetic pharmacodynamic modelingPharmacokinetic pharmacodynamic modeling
Pharmacokinetic pharmacodynamic modeling
 
Zue2015Uncertainties
Zue2015UncertaintiesZue2015Uncertainties
Zue2015Uncertainties
 
SensePost Threat Modelling
SensePost Threat ModellingSensePost Threat Modelling
SensePost Threat Modelling
 
A Novel Approach to Derive the Average-Case Behavior of Distributed Embedded ...
A Novel Approach to Derive the Average-Case Behavior of Distributed Embedded ...A Novel Approach to Derive the Average-Case Behavior of Distributed Embedded ...
A Novel Approach to Derive the Average-Case Behavior of Distributed Embedded ...
 
Research Methodology3_Measurement.pptx
Research Methodology3_Measurement.pptxResearch Methodology3_Measurement.pptx
Research Methodology3_Measurement.pptx
 
IRJET- Personality Prediction System using AI
IRJET- Personality Prediction System using AIIRJET- Personality Prediction System using AI
IRJET- Personality Prediction System using AI
 
PREDICTING BANKRUPTCY USING MACHINE LEARNING ALGORITHMS
PREDICTING BANKRUPTCY USING MACHINE LEARNING ALGORITHMSPREDICTING BANKRUPTCY USING MACHINE LEARNING ALGORITHMS
PREDICTING BANKRUPTCY USING MACHINE LEARNING ALGORITHMS
 
A computational dynamic trust model
A computational dynamic trust modelA computational dynamic trust model
A computational dynamic trust model
 
A COMPUTATIONAL DYNAMIC TRUST MODEL FOR USER AUTHORIZATION - IEEE PROJECTS I...
A COMPUTATIONAL DYNAMIC TRUST MODEL FOR USER AUTHORIZATION  - IEEE PROJECTS I...A COMPUTATIONAL DYNAMIC TRUST MODEL FOR USER AUTHORIZATION  - IEEE PROJECTS I...
A COMPUTATIONAL DYNAMIC TRUST MODEL FOR USER AUTHORIZATION - IEEE PROJECTS I...
 
A COMPUTATIONAL DYNAMIC TRUST MODEL FOR USER AUTHORIZATION
A COMPUTATIONAL DYNAMIC TRUST MODEL FOR USER AUTHORIZATIONA COMPUTATIONAL DYNAMIC TRUST MODEL FOR USER AUTHORIZATION
A COMPUTATIONAL DYNAMIC TRUST MODEL FOR USER AUTHORIZATION
 
A computational dynamic trust model
A computational dynamic trust modelA computational dynamic trust model
A computational dynamic trust model
 
IBM impact-final-reviewed1
IBM impact-final-reviewed1IBM impact-final-reviewed1
IBM impact-final-reviewed1
 
8 rajib chakravorty risk
8 rajib chakravorty risk8 rajib chakravorty risk
8 rajib chakravorty risk
 
CHAPTER 11 LOGISTIC REGRESSION.pptx
CHAPTER 11 LOGISTIC REGRESSION.pptxCHAPTER 11 LOGISTIC REGRESSION.pptx
CHAPTER 11 LOGISTIC REGRESSION.pptx
 
7.Trust Management
7.Trust Management7.Trust Management
7.Trust Management
 
Week 1Defining the Safety Management SystemSeveral years .docx
Week 1Defining the Safety Management SystemSeveral years .docxWeek 1Defining the Safety Management SystemSeveral years .docx
Week 1Defining the Safety Management SystemSeveral years .docx
 
Lime
LimeLime
Lime
 
Svm and maximum entropy model for sentiment analysis of tweets
Svm and maximum entropy model for sentiment analysis of tweetsSvm and maximum entropy model for sentiment analysis of tweets
Svm and maximum entropy model for sentiment analysis of tweets
 
introductiontobiometricsystemssecurity-150607104617-lva1-app6892.pdf
introductiontobiometricsystemssecurity-150607104617-lva1-app6892.pdfintroductiontobiometricsystemssecurity-150607104617-lva1-app6892.pdf
introductiontobiometricsystemssecurity-150607104617-lva1-app6892.pdf
 

More from Antonio Vallecillo

Modeling Objects with Uncertain Behaviors
Modeling Objects with Uncertain BehaviorsModeling Objects with Uncertain Behaviors
Modeling Objects with Uncertain BehaviorsAntonio Vallecillo
 
Introducing Subjective Knowledge Graphs
Introducing Subjective Knowledge GraphsIntroducing Subjective Knowledge Graphs
Introducing Subjective Knowledge GraphsAntonio Vallecillo
 
Using UML and OCL Models to realize High-Level Digital Twins
Using UML and OCL Models to realize High-Level Digital TwinsUsing UML and OCL Models to realize High-Level Digital Twins
Using UML and OCL Models to realize High-Level Digital TwinsAntonio Vallecillo
 
Modeling behavioral deontic constraints using UML and OCL
Modeling behavioral deontic constraints using UML and OCLModeling behavioral deontic constraints using UML and OCL
Modeling behavioral deontic constraints using UML and OCLAntonio 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
 
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 (19)

Modeling Objects with Uncertain Behaviors
Modeling Objects with Uncertain BehaviorsModeling Objects with Uncertain Behaviors
Modeling Objects with Uncertain Behaviors
 
Introducing Subjective Knowledge Graphs
Introducing Subjective Knowledge GraphsIntroducing Subjective Knowledge Graphs
Introducing Subjective Knowledge Graphs
 
Using UML and OCL Models to realize High-Level Digital Twins
Using UML and OCL Models to realize High-Level Digital TwinsUsing UML and OCL Models to realize High-Level Digital Twins
Using UML and OCL Models to realize High-Level Digital Twins
 
Modeling behavioral deontic constraints using UML and OCL
Modeling behavioral deontic constraints using UML and OCLModeling behavioral deontic constraints using UML and OCL
Modeling behavioral deontic constraints using UML and OCL
 
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
 
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

WSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - KeynoteWSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - KeynoteWSO2
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Bert Jan Schrijver
 
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...WSO2
 
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2
 
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open SourceWSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open SourceWSO2
 
WSO2Con2024 - Hello Choreo Presentation - Kanchana
WSO2Con2024 - Hello Choreo Presentation - KanchanaWSO2Con2024 - Hello Choreo Presentation - Kanchana
WSO2Con2024 - Hello Choreo Presentation - KanchanaWSO2
 
WSO2Con2024 - Facilitating Broadband Switching Services for UK Telecoms Provi...
WSO2Con2024 - Facilitating Broadband Switching Services for UK Telecoms Provi...WSO2Con2024 - Facilitating Broadband Switching Services for UK Telecoms Provi...
WSO2Con2024 - Facilitating Broadband Switching Services for UK Telecoms Provi...WSO2
 
WSO2CON 2024 - IoT Needs CIAM: The Importance of Centralized IAM in a Growing...
WSO2CON 2024 - IoT Needs CIAM: The Importance of Centralized IAM in a Growing...WSO2CON 2024 - IoT Needs CIAM: The Importance of Centralized IAM in a Growing...
WSO2CON 2024 - IoT Needs CIAM: The Importance of Centralized IAM in a Growing...WSO2
 
WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...
WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...
WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...WSO2
 
WSO2CON 2024 - How CSI Piemonte Is Apifying the Public Administration
WSO2CON 2024 - How CSI Piemonte Is Apifying the Public AdministrationWSO2CON 2024 - How CSI Piemonte Is Apifying the Public Administration
WSO2CON 2024 - How CSI Piemonte Is Apifying the Public AdministrationWSO2
 
WSO2CON 2024 - Software Engineering for Digital Businesses
WSO2CON 2024 - Software Engineering for Digital BusinessesWSO2CON 2024 - Software Engineering for Digital Businesses
WSO2CON 2024 - Software Engineering for Digital BusinessesWSO2
 
WSO2CON 2024 - How CSI Piemonte Is Apifying the Public Administration
WSO2CON 2024 - How CSI Piemonte Is Apifying the Public AdministrationWSO2CON 2024 - How CSI Piemonte Is Apifying the Public Administration
WSO2CON 2024 - How CSI Piemonte Is Apifying the Public AdministrationWSO2
 
WSO2CON 2024 - Lessons from the Field: Legacy Platforms – It's Time to Let Go...
WSO2CON 2024 - Lessons from the Field: Legacy Platforms – It's Time to Let Go...WSO2CON 2024 - Lessons from the Field: Legacy Platforms – It's Time to Let Go...
WSO2CON 2024 - Lessons from the Field: Legacy Platforms – It's Time to Let Go...WSO2
 
WSO2Con2024 - Simplified Integration: Unveiling the Latest Features in WSO2 L...
WSO2Con2024 - Simplified Integration: Unveiling the Latest Features in WSO2 L...WSO2Con2024 - Simplified Integration: Unveiling the Latest Features in WSO2 L...
WSO2Con2024 - Simplified Integration: Unveiling the Latest Features in WSO2 L...WSO2
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...Shane Coughlan
 
WSO2Con2024 - Software Delivery in Hybrid Environments
WSO2Con2024 - Software Delivery in Hybrid EnvironmentsWSO2Con2024 - Software Delivery in Hybrid Environments
WSO2Con2024 - Software Delivery in Hybrid EnvironmentsWSO2
 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2
 
WSO2Con2024 - GitOps in Action: Navigating Application Deployment in the Plat...
WSO2Con2024 - GitOps in Action: Navigating Application Deployment in the Plat...WSO2Con2024 - GitOps in Action: Navigating Application Deployment in the Plat...
WSO2Con2024 - GitOps in Action: Navigating Application Deployment in the Plat...WSO2
 
WSO2CON 2024 - Building a Digital Government in Uganda
WSO2CON 2024 - Building a Digital Government in UgandaWSO2CON 2024 - Building a Digital Government in Uganda
WSO2CON 2024 - Building a Digital Government in UgandaWSO2
 

Recently uploaded (20)

WSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - KeynoteWSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - Keynote
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
 
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
 
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
 
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open SourceWSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
 
WSO2Con2024 - Hello Choreo Presentation - Kanchana
WSO2Con2024 - Hello Choreo Presentation - KanchanaWSO2Con2024 - Hello Choreo Presentation - Kanchana
WSO2Con2024 - Hello Choreo Presentation - Kanchana
 
WSO2Con2024 - Facilitating Broadband Switching Services for UK Telecoms Provi...
WSO2Con2024 - Facilitating Broadband Switching Services for UK Telecoms Provi...WSO2Con2024 - Facilitating Broadband Switching Services for UK Telecoms Provi...
WSO2Con2024 - Facilitating Broadband Switching Services for UK Telecoms Provi...
 
WSO2CON 2024 - IoT Needs CIAM: The Importance of Centralized IAM in a Growing...
WSO2CON 2024 - IoT Needs CIAM: The Importance of Centralized IAM in a Growing...WSO2CON 2024 - IoT Needs CIAM: The Importance of Centralized IAM in a Growing...
WSO2CON 2024 - IoT Needs CIAM: The Importance of Centralized IAM in a Growing...
 
WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...
WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...
WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...
 
WSO2CON 2024 - How CSI Piemonte Is Apifying the Public Administration
WSO2CON 2024 - How CSI Piemonte Is Apifying the Public AdministrationWSO2CON 2024 - How CSI Piemonte Is Apifying the Public Administration
WSO2CON 2024 - How CSI Piemonte Is Apifying the Public Administration
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
 
WSO2CON 2024 - Software Engineering for Digital Businesses
WSO2CON 2024 - Software Engineering for Digital BusinessesWSO2CON 2024 - Software Engineering for Digital Businesses
WSO2CON 2024 - Software Engineering for Digital Businesses
 
WSO2CON 2024 - How CSI Piemonte Is Apifying the Public Administration
WSO2CON 2024 - How CSI Piemonte Is Apifying the Public AdministrationWSO2CON 2024 - How CSI Piemonte Is Apifying the Public Administration
WSO2CON 2024 - How CSI Piemonte Is Apifying the Public Administration
 
WSO2CON 2024 - Lessons from the Field: Legacy Platforms – It's Time to Let Go...
WSO2CON 2024 - Lessons from the Field: Legacy Platforms – It's Time to Let Go...WSO2CON 2024 - Lessons from the Field: Legacy Platforms – It's Time to Let Go...
WSO2CON 2024 - Lessons from the Field: Legacy Platforms – It's Time to Let Go...
 
WSO2Con2024 - Simplified Integration: Unveiling the Latest Features in WSO2 L...
WSO2Con2024 - Simplified Integration: Unveiling the Latest Features in WSO2 L...WSO2Con2024 - Simplified Integration: Unveiling the Latest Features in WSO2 L...
WSO2Con2024 - Simplified Integration: Unveiling the Latest Features in WSO2 L...
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
WSO2Con2024 - Software Delivery in Hybrid Environments
WSO2Con2024 - Software Delivery in Hybrid EnvironmentsWSO2Con2024 - Software Delivery in Hybrid Environments
WSO2Con2024 - Software Delivery in Hybrid Environments
 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go Platformless
 
WSO2Con2024 - GitOps in Action: Navigating Application Deployment in the Plat...
WSO2Con2024 - GitOps in Action: Navigating Application Deployment in the Plat...WSO2Con2024 - GitOps in Action: Navigating Application Deployment in the Plat...
WSO2Con2024 - GitOps in Action: Navigating Application Deployment in the Plat...
 
WSO2CON 2024 - Building a Digital Government in Uganda
WSO2CON 2024 - Building a Digital Government in UgandaWSO2CON 2024 - Building a Digital Government in Uganda
WSO2CON 2024 - Building a Digital Government in Uganda
 

Belief Uncertainty in Software Models

  • 1. Belief Uncertainty in Software Models MISE 2019 Montreal, Canada, May 26-27, 2019 Loli Burgueño1,2, Robert Clarisó1, Jordi Cabot3, Sébastien Gérard2 and Antonio Vallecillo4 1Open University of Catalonia, 2CEA-LIST, 3ICREA, 4University of Málaga
  • 2. A simple example of a hotel room 2 Temp. sensor Smoke detector Alarm center CO detector
  • 3. A simple example of a hotel room 3
  • 4. System attributes, operations, and constraints 4 class AlarmCenter attributes hightTemp : UBoolean derive: self.room.tempSensor.temperature > 30.0 hightCOLevel : UBoolean derive: self.room.coSensor.coPPM > 20 smoke : UBoolean derive: self.room.smokeDetector.smoke fireAlert : UBoolean derive: self.highTemp and self.highCOLevel and self.smoke operations isHot() : UBoolean = self.tempSensor.temperature > 25 isCold() : UBoolean = self.tempSensor.temperature < 18 constraints inv TempPrecision: self.temperature.uncertainty() <= 0.2 [Bertoa et al “Expressing Measurement Uncertainty in OCL/UML Datatypes. ECMFA 2018: 46-62]
  • 5. Some Belief Statements about the (model of the) system  The CO and smoke detectors that we bought have a reliability of 90% (i.e., 10% of their readings are not meaningful)  We can only be 98% sure that the precision of the Temperature sensor is 0.5o, as indicated in its datasheet  We are 95% confident that the presence of high temperature, high CO level and smoke really means that there is a fire in the room  Bob is from the south, so he only assigns a credibility of 50% to the operations that indicate if the room is hot or cold. In contrast, Mary thinks they are 99% accurate  Room #3 is close to the kitchen and frequently emits alarms. Everybody thinks that 90% of them are false positives  Joe the modeler doubts that the type of attribute “number” of class “Room” is Integer. He thinks it may contain characters different from digits.  Lucy the modeler is unsure if an “AlarmCenter” has to be attached to only one single Room. She thinks they can also be attached to several. 5 [About the credibility of the values] [From individual belief agents] [About individual instances] [About the model itself: relations] [About the behavioral rules] [About the uncertainty of the values] [About the model itself: types] >> How to represent these uncertainties in the system specifications? >> How to incorporate them into the system structural and behavioral models?
  • 6. The characters (in order of appearance…)  Uncertainty  The quality or state the involves imperfect or unknown information  It can be aleatory (variations in measurement) or epistemic (lack of knowledge)  Belief uncertainty  A kind of epistemic uncertainty in which the modeler, or any other belief agent, is uncertain about any of the statements made about the system or its environment. By nature, it is always subjective.  Belief agent  An entity (human, institution, even a machine) that holds one or more beliefs  Belief statement  Statement qualified by a degree of belief  Degree of belief  Confidence assigned to a statement by a belief agent. Normally expressed by quantitative or qualitative methods (e.g., a grade or a probability) 6
  • 7. Current approaches to represent and operate with Belief Uncertainty 7
  • 8. Our contribution  A mechanism able to assign a degree of belief to model statements  A method to operate with the degrees of beliefs and automatically propagate them through the system operations How do we do that?  Explicit representation of Belief Agents (including a default one)  Degrees of belief represented by means of Bayesian probabilities (Credence)  Bayesian probability is the most classical model for expressing and operating with subjective information, and hence for quantifying beliefs  Credence is a statistical term that refers to a measure of belief strength, which expresses how much an agent believes that a proposition is true  Credence values can be based entirely on subjective feelings  Credence is better understood in the context of gambling, where this concept is directly related to the odds at which a rational person would place a bet  UML Profile + operational semantics 8
  • 10. Operationalization  A list of pairs (BeliefAgent,credence) for every model statement subject to Belief Uncertainty  Operations to add and remove pairs from the list of pairs  Query operation to know the credence of a statement 10 isHot_Beliefs : Set(Tuple(beliefAgent : BeliefAgent, degreeOfBelief : Real)) isHot_BeliefsAdd(ba : BeliefAgent, d : Real) post: self.isHot_Beliefs = self.isHot_Beliefs@pre->reject(t|t.beliefAgent=ba)-> including(Tuple{beliefAgent:ba,degreeOfBelief:d}) isHot_credence(a:BeliefAgent): Real = let baBoD : … = self.isHot_Beliefs->select(t|t.beliefAgent = a) in let baBoDnull : … = self.isHot_Beliefs->select(t|t.beliefAgent = null) in if baBoD->isEmpty then -- no explicit credence by “a” if baBoDnull->notEmpty then -- but if default value exists baBoDnull->collect(degreeOfBelief)->any(true) else 1.0 endif else baBoD->collect(degreeOfBelief)->any(true) endif
  • 11. Running the system… 11 Hotel> !new BeliefAgent('Bob') Hotel> !new BeliefAgent('Mary') Hotel> !r1.isHot_BeliefsAdd(Bob,0.5) Hotel> !r1.isHot_BeliefsAdd(Mary,0.99) Hotel> !r1.isHot_BeliefsAdd(null,0.95) Hotel> Hotel> ?r1.isHot() -> UBoolean(true,1.0) : Uboolean Hotel> ?r1.isHot_credence(Bob) -> 0.5 : Real Hotel> ?r1.isHot_credence(Mary) -> 0.99 : Real Hotel> ?r1.isHot_credence(null) -> 0.95 : Real
  • 12. Credence propagation on dependent belief statements 12 fireAlert_credence(ba:BeliefAgent): Real = let baBoD : Set(Tuple(beliefAgent:BeliefAgent, degreeOfBelief:Real)) = self.fireAlert_Beliefs->select(t|t.beliefAgent = ba) in (if baBoD->isEmpty then … else baBoD->collect(degreeOfBelief)->any(true) endif) * self.fireAlertDeriveExpr_credence(ba) fireAlertDeriveExpr_credence(ba:BeliefAgent): Real = let baBoD : Set(Tuple(beliefAgent:BeliefAgent, degreeOfBelief:Real)) = self.fireAlertDeriveExpr_Beliefs->select(t|t.beliefAgent = ba) in (if baBoD->isEmpty then … else baBoD->collect(degreeOfBelief)->any(true) endif) * highTemp_credence(ba) * highCOLevel_credence(ba) * smoke_credence(ba)
  • 13. Running the system… 13 Hotel> !r2.alarmCenter. fireAlert_BeliefsAdd(null,0.1) Hotel> !r1.alarmCenter.fireAlert_BeliefsAdd(Bob,0.99) Hotel> !r1.alarmCenter.fireAlertDeriveExpr_BeliefsAdd(Bob,0.95) Hotel> !r1.alarmCenter.highTemp_BeliefsAdd(Bob,0.99) Hotel> !r1.alarmCenter.highCOLevel_BeliefsAdd(Bob,0.99) Hotel> !r1.alarmCenter.smoke_BeliefsAdd(Bob,0.99) Hotel> Hotel> ?r1.alarmCenter.fireAlert -> UBoolean(true,0.99) : UBoolean Hotel> ?r1.alarmCenter.fireAlert_credence(Bob) -> 0.9125662095 : Real Hotel> ?r1.alarmCenter.fireAlert_credence(Mary) -> 1.0 : Real Hotel> ?r1.alarmCenter.fireAlert_credence(null) -> 1.0 : Real Hotel> Hotel> ?r2.alarmCenter.fireAlert_credence(Bob) -> 0.04562831047 : Real
  • 14. Conclusions and future work  Explicit representation and management of belief uncertainty in software models…  …in terms of degrees of belief assigned to the model statements by separate belief agents…  …about the credibility of  The values of the represented (physical) elements  The measurement uncertainty of these values  The expressions that model the behavior of the system  The way in which we have modeled the system (types of the attributes, types of relationships and their cardinalities, etc.)  Future work  Associating evidences to belief statements  Representing degrees of beliefs in other types of models (use cases, sequence diagrams, pre- and postconditions, …)  Industrial case studies and further application domains (e.g., model inference, model mining)  Empirical validation with industrial modelers 14
  • 15. Further claims (1/2)  Claim 1: Our current software models are not fully capable of faithfully representing all key relevant aspects of physical systems. These systems are never crisp, they are subject to different kinds of uncertainties. This our models should be able to reflect. 15 (http://www.christophniemann.com)
  • 16. Further claims (2/2)  Claim 2: Modeling notations and tools (e.g. DSLs) are of little value without well defined methods and processes, which in turn require solid principles. We should always ask ourselves if our modeling notations take into account the principles that govern our physical systems, or are they mere shallow and cosmetic descriptions of them? 16 “The man who grasps principles can successfully handle his own methods. The man who tries methods, ignoring principles, is sure to have trouble” Ralph Waldo Emerson
  • 17. Belief Uncertainty in Software Models MISE 2019 Montreal, Canada, May 26-27, 2019 Loli Burgueño1,2, Robert Clarisó1, Jordi Cabot3, Sébastien Gérard2 and Antonio Vallecillo4 1Open University of Catalonia, 2CEA-LIST, 3ICREA, 4Málaga University