SlideShare a Scribd company logo
A Semantic Web Architecture for Model based Safety Engineering Presentation to the AADL standards meeting  Hollywood Florida,  Jan 26, 2011
Agenda The context: Semantic Web architecture for model based safety engineering. Component and Error Model Ontology TASTE tool ‘Error View’ extensions Transformation to Altarica Discussion and examples from AOCS case study. 2
Semantic Web Architecture for Model-based Safety Engineering 3
The MBSE Process  4
5 Component and Error Model Ontology
Error model hierarchy 6
Device Error model hierarchy 7
Error model compositionality 8
Compositionality rules and assumptions Same name/symbol implies same feature  Unique Name Assumption. Multiple instances of same symbol are merged. Each model contains complete transitions. Events are independent from each other. One event triggered at a time Merging results in the union of transactions. Deterministic transitions. More structure in Error models possible: E.g. Organise Events and States into  Event Activation,  Event Detection, Event Perceptions. Permanent and Temporary Faults. 9
10 Ontology Server
TASTE tool Error View Extensions - IV 11
Front-End: Components to Error Model association 12
TASTE tool Error View Extensions - IV 13
14 TASTE tool Error View Extensions - DV
Transformation: AADL Error View to Altarica AADL Error View Combined IV + DV AADL code for a system.  Augmented with Error model information (Error Annex). Behavior coded used Behavior Annex. 15
16 Transformation process
Transformation example - Device SYSTEM CSS_taste     FEATURES       CSS_PI_obj86 : PROVIDES SUBPROGRAM ACCESS  interfaceview::FV::CSS_PI_obj86.others Sensor_TC_obj98 : PROVIDES SUBPROGRAM ACCESS interfaceview::FV::Sensor_TC_obj98.others END CSS_taste;   SYSTEM IMPLEMENTATION CSS_taste.impl     SUBCOMPONENTS       CSS_PI_obj86_impl : SUBPROGRAM interfaceview::FV::CSS_PI_obj86.others       Sensor_TC_obj98_impl : SUBPROGRAM interfaceview::FV::Sensor_TC_obj98.others CONNECTIONS       SUBPROGRAM ACCESS CSS_PI_obj86_impl  -> CSS_PI_obj86;       SUBPROGRAM ACCESS Sensor_TC_obj98_impl  -> Sensor_TC_obj98;     ANNEX ERROR_MODEL {**       MODEL => error_models::IV::CSS_error.impl;     **};     ANNEX BEHAVIOR_SPECIFICATION {**       STATES TCAcceptanceFailureState,  TemperatureFailureState,  DataFailureState: FINAL STATE; NominalState : INITIAL STATE;       TRANSITIONS         normal : NominalState -[  ]-> NominalState { CSS_PI.dataCSS_out:=DataType_dataCSS_T; Sensor_TC.TC_SW:=DataType_TC_T; Sensor_TC.TC_Acceptance:=DataType_TM_Status}; out_TCAcceptanceFailureEvent : TCAcceptanceFailureState -[  ]-> TCAcceptanceFailureState { Sensor_TC.TC_Acceptance:=NO_DATA  }; out_TemperatureFailureEvent: TemperatureFailureState -[  ]-> TemperatureFailureState { CSS_PI.dataCSS_out:=BAD_DATA  }; out_DataFailureEvent: DataFailureState -[  ]-> DataFailureState { CSS_PI.dataCSS_out:=NO_DATA    };   **};   END CSS_taste.impl; DOMAIN  interfaceview_FV_CSS_PI_domain   = STRUCT dataCSS_out : { DataType_dataCSS_T , NO_DATA , BAD_DATA , OUT_OF_RANGE }  ;   TCURTS; DOMAIN  interfaceview_FV_Sensor_TC_domain   = STRUCT TC_Acceptance : { DataType_TM_Status , NO_DATA , BAD_DATA , OUT_OF_RANGE }  ;       TC_SW : { DataType_TC_T , NO_DATA , BAD_DATA , OUT_OF_RANGE }  ;   TCURTS; node interfaceview_IV_AOCS_CSS_taste_impl    FLOW       CSS_PI : interfaceview_FV_CSS_PI_domain  ;  Sensor_TC : interfaceview_FV_Sensor_TC_domain  ;       STATE  error_model_state : { TCAcceptanceFailureState , TemperatureFailureState , DataFailureState , NominalState }  ;        INIT error_model_state := NominalState;    EVENT TCAcceptanceRecoverEvent , TemperatureRecoverEvent , DataRecoverEvent , TCAcceptanceFailureEvent , TemperatureFailureEvent , DataFailureEvent ;    TRANS error_model_state = TCAcceptanceFailureState  |- TCAcceptanceFailureEvent -> error_model_state := TCAcceptanceFailureState  ; error_model_state = NominalState  |- TCAcceptanceFailureEvent -> error_model_state := TCAcceptanceFailureState  ; …….    SUB  CSS_PI_impl : interfaceview_FV_CSS_PI_others ;  Sensor_TC_impl : interfaceview_FV_Sensor_TC_others ;     ASSERT CSS_PI_impl.self = CSS_PI ;  Sensor_TC_impl.self = Sensor_TC ;  error_model_state = NominalState & ( CSS_PI.dataCSS_out = DataType_dataCSS_T & Sensor_TC.TC_SW = DataType_TC_T & Sensor_TC.TC_Acceptance = DataType_TM_Status ) | error_model_state = TCAcceptanceFailureState & ( Sensor_TC.TC_Acceptance = NO_DATA ) | error_model_state = TemperatureFailureState & ( CSS_PI.dataCSS_out = BAD_DATA ) | error_model_state = DataFailureState & ( CSS_PI.dataCSS_out = NO_DATA ) ;  edon 17 2 2 1 1 4 2 5 3 3 3 3 6 4 5 6
Transformation example - Thread SYSTEM SMU     FEATURES SensorAcquisition : PROVIDES SUBPROGRAM ACCESS  SensorAcquisition.others ControlLoop : PROVIDES SUBPROGRAM ACCESS …ControlLoop.others ActuatorMgt : PROVIDES SUBPROGRAM ACCESS  …ActuatorMgt.others      cmdRW1 : REQUIRES SUBPROGRAM ACCESS default::FV::cmdRW_PI_obj578       ….      cmdTHR8 : REQUIRES SUBPROGRAM ACCESS default::FV::THR_PI_obj875  SMU_IO_Mgt_RI : REQUIRES SUBPROGRAM ACCESS   …SMU_IO_Mgt_PI_obj234  tcCSS_RI : REQUIRES SUBPROGRAM ACCESS default::FV::CSS_TC_obj102       …. END SMU;   SYSTEM IMPLEMENTATION SMU.others     SUBCOMPONENTS SensorAcquisition_impl : SUBPROGRAM default::FV::SensorAcquisition.others ControlLoop_impl : SUBPROGRAM default::FV::ControlLoop.others ActuatorMgt_impl : SUBPROGRAM default::FV::ActuatorMgt.others   CONNECTIONS  … ANNEX ERROR_MODEL {**       Model => AOCS_error_models::AOCSThread_error.impl;     **};     ANNEX BEHAVIOR_SPECIFICATION {**       …        TRANSITIONS         normal : s -[  ]-> s { SMU_IO_Mgt_RI!(di,ds,dg,dc,frw1,frw2,frw3,frw4) ;     SensorAcquisition_impl!( dg, di, dc, ds, d);     ControlLoop_impl!(d,c);     ActuatorMgt_impl!(c, crw1, crw2, … , cthr6, cthr7, cthr8);      …    ; memoryaccess : stMemoryAccessError -[ ]-> stMemoryAccessError { SMU_IO_Mgt_RI.dataIRES := BAD_DATA  };      **};   END SMU.others; node default_IV_AOCS_SMU_others    FLOW  SensorAcquisition : default_FV_SensorAcquisition_domain  ;  …  SMU_IO_Mgt_RI : default_FV_SMU_IO_Mgt_PI_domain  ;  STATE  error_model_state : { stErrorFree , stMemoryAccessError , … INIT error_model_state := stErrorFree;   EVENT evMemoryAccessError , evSubCallError , evReset , HWError , HWRepair , MemoryAccessError , SubCallError ;    TRANS error_model_state = stErrorFree  |- evMemoryAccessError -> error_model_state := stMemoryAccessError  ;  …    SUB  SensorAcquisition_impl : default_FV_SensorAcquisition_others ;  ControlLoop_impl : default_FV_ControlLoop_others ;  ASSERT SensorAcquisition_impl.self = SensorAcquisition ;  ControlLoop_impl.self = ControlLoop ;  ActuatorMgt_impl.self = ActuatorMgt ;  error_model_state = stMemoryAccessError & ( SMU_IO_Mgt_RI.dataIRES = BAD_DATA ) | error_model_state = stErrorFree | error_model_state = stSubCallError | error_model_state = stHWError ;  ControlLoop_impl.self.dataAOCS = SensorAcquisition_impl.self.dataAOCS ;  ActuatorMgt_impl.self.commandAOCS = ControlLoop_impl.self.commandAOCS ;  edon 18 1 1
Error propagations Observe AADL EA Propagation and Inheritance rules From HW components to SW bound to that HW Through component connections. Via shared access. Via subprogram calls. Errors of a component are propagated to its subcomponents and vice versa. Transformed as Altarica (Weak) Event Synchronizations Restricted support for Guard_In and Guard_Out (event mapping): Guard_in => 	MappedEvent when OriginalEvent 		{, [MappedEvent when Original Event]}*   Guard_out => MappedEvent when OriginalEvent 		{, [MappedEvent when Original Event]}* 19
Full AOCS propagations 20
Propagations example 21     < Crash ?  , SensorAcquisition_impl.Crash > ;  < MemoryAccess ?  , SensorAcquisition_impl.BadData > ;       < PowerOutage ?  , SensorAcquisition_impl.PowerOutage > ;       < HWError ?  , SensorAcquisition_impl.BadData > ;       < Reset ?  , SensorAcquisition_impl.Reset > ;  < SensorAcquisition_impl.PowerOutage ?  , PowerOutage > ;       < SensorAcquisition_impl.HWError ?  , HWError > ;       < SensorAcquisition_impl.Crash ?  , Crash > ;       < SensorAcquisition_impl.Reset ?  , Reset > ;
Thank you.

More Related Content

Similar to Error ontologies and altarica transformation aadl meeting florida jan 24-27

Declarative presentations UIKonf
Declarative presentations UIKonfDeclarative presentations UIKonf
Declarative presentations UIKonf
Nataliya Patsovska
 
Flex 360 Rules Engine
Flex 360 Rules EngineFlex 360 Rules Engine
Flex 360 Rules Engine
EffectiveUI
 
Flex 360 Rules Engine
Flex 360 Rules EngineFlex 360 Rules Engine
Flex 360 Rules Engine
Effective
 
OWASP Top 10 - DrupalCon Amsterdam 2019
OWASP Top 10 - DrupalCon Amsterdam 2019OWASP Top 10 - DrupalCon Amsterdam 2019
OWASP Top 10 - DrupalCon Amsterdam 2019
Ayesh Karunaratne
 
2013 Collaborate - OAUG - Presentation
2013 Collaborate - OAUG - Presentation2013 Collaborate - OAUG - Presentation
2013 Collaborate - OAUG - Presentation
Biju Thomas
 
iOS Talks 6: Unit Testing
iOS Talks 6: Unit TestingiOS Talks 6: Unit Testing
iOS Talks 6: Unit Testing
Marin Benčević
 
Obey The Rules: Implementing a Rules Engine in Flex
Obey The Rules: Implementing a Rules Engine in FlexObey The Rules: Implementing a Rules Engine in Flex
Obey The Rules: Implementing a Rules Engine in Flex
RJ Owen
 
Ijeet 06 08_008
Ijeet 06 08_008Ijeet 06 08_008
Ijeet 06 08_008
IAEME Publication
 
Tracy–Widom distribution based fault detection approach: Application to aircr...
Tracy–Widom distribution based fault detection approach: Application to aircr...Tracy–Widom distribution based fault detection approach: Application to aircr...
Tracy–Widom distribution based fault detection approach: Application to aircr...
ISA Interchange
 
ITT 2014 - Peter Steinberger - Architecting Modular Codebases
ITT 2014 - Peter Steinberger - Architecting Modular CodebasesITT 2014 - Peter Steinberger - Architecting Modular Codebases
ITT 2014 - Peter Steinberger - Architecting Modular Codebases
Istanbul Tech Talks
 
ASP.NET 02 - How ASP.NET Works
ASP.NET 02 - How ASP.NET WorksASP.NET 02 - How ASP.NET Works
ASP.NET 02 - How ASP.NET Works
Randy Connolly
 
SoftTest Ireland: Model Based Testing - January 27th 2011
SoftTest Ireland: Model Based Testing - January 27th 2011SoftTest Ireland: Model Based Testing - January 27th 2011
SoftTest Ireland: Model Based Testing - January 27th 2011
David O'Dowd
 
How the world gets its weather
How the world gets its weather How the world gets its weather
How the world gets its weather
Ravi Yadav
 
CiklumJavaSat_15112011:Alex Kruk VMForce
CiklumJavaSat_15112011:Alex Kruk VMForceCiklumJavaSat_15112011:Alex Kruk VMForce
CiklumJavaSat_15112011:Alex Kruk VMForce
Ciklum Ukraine
 
Performance
PerformancePerformance
Performance
Cary Millsap
 
Developing ASP.NET Applications Using the Model View Controller Pattern
Developing ASP.NET Applications Using the Model View Controller PatternDeveloping ASP.NET Applications Using the Model View Controller Pattern
Developing ASP.NET Applications Using the Model View Controller Pattern
goodfriday
 
vite-en.pdf
vite-en.pdfvite-en.pdf
vite-en.pdf
ssuser65180a
 
Oleksandr Valetskyy - DI vs. IoC
Oleksandr Valetskyy - DI vs. IoCOleksandr Valetskyy - DI vs. IoC
Oleksandr Valetskyy - DI vs. IoC
Oleksandr Valetskyy
 
Monitoring und Metriken im Wunderland
Monitoring und Metriken im WunderlandMonitoring und Metriken im Wunderland
Monitoring und Metriken im Wunderland
D
 
A Practical Approach to Building a Streaming Processing Pipeline for an Onlin...
A Practical Approach to Building a Streaming Processing Pipeline for an Onlin...A Practical Approach to Building a Streaming Processing Pipeline for an Onlin...
A Practical Approach to Building a Streaming Processing Pipeline for an Onlin...
Databricks
 

Similar to Error ontologies and altarica transformation aadl meeting florida jan 24-27 (20)

Declarative presentations UIKonf
Declarative presentations UIKonfDeclarative presentations UIKonf
Declarative presentations UIKonf
 
Flex 360 Rules Engine
Flex 360 Rules EngineFlex 360 Rules Engine
Flex 360 Rules Engine
 
Flex 360 Rules Engine
Flex 360 Rules EngineFlex 360 Rules Engine
Flex 360 Rules Engine
 
OWASP Top 10 - DrupalCon Amsterdam 2019
OWASP Top 10 - DrupalCon Amsterdam 2019OWASP Top 10 - DrupalCon Amsterdam 2019
OWASP Top 10 - DrupalCon Amsterdam 2019
 
2013 Collaborate - OAUG - Presentation
2013 Collaborate - OAUG - Presentation2013 Collaborate - OAUG - Presentation
2013 Collaborate - OAUG - Presentation
 
iOS Talks 6: Unit Testing
iOS Talks 6: Unit TestingiOS Talks 6: Unit Testing
iOS Talks 6: Unit Testing
 
Obey The Rules: Implementing a Rules Engine in Flex
Obey The Rules: Implementing a Rules Engine in FlexObey The Rules: Implementing a Rules Engine in Flex
Obey The Rules: Implementing a Rules Engine in Flex
 
Ijeet 06 08_008
Ijeet 06 08_008Ijeet 06 08_008
Ijeet 06 08_008
 
Tracy–Widom distribution based fault detection approach: Application to aircr...
Tracy–Widom distribution based fault detection approach: Application to aircr...Tracy–Widom distribution based fault detection approach: Application to aircr...
Tracy–Widom distribution based fault detection approach: Application to aircr...
 
ITT 2014 - Peter Steinberger - Architecting Modular Codebases
ITT 2014 - Peter Steinberger - Architecting Modular CodebasesITT 2014 - Peter Steinberger - Architecting Modular Codebases
ITT 2014 - Peter Steinberger - Architecting Modular Codebases
 
ASP.NET 02 - How ASP.NET Works
ASP.NET 02 - How ASP.NET WorksASP.NET 02 - How ASP.NET Works
ASP.NET 02 - How ASP.NET Works
 
SoftTest Ireland: Model Based Testing - January 27th 2011
SoftTest Ireland: Model Based Testing - January 27th 2011SoftTest Ireland: Model Based Testing - January 27th 2011
SoftTest Ireland: Model Based Testing - January 27th 2011
 
How the world gets its weather
How the world gets its weather How the world gets its weather
How the world gets its weather
 
CiklumJavaSat_15112011:Alex Kruk VMForce
CiklumJavaSat_15112011:Alex Kruk VMForceCiklumJavaSat_15112011:Alex Kruk VMForce
CiklumJavaSat_15112011:Alex Kruk VMForce
 
Performance
PerformancePerformance
Performance
 
Developing ASP.NET Applications Using the Model View Controller Pattern
Developing ASP.NET Applications Using the Model View Controller PatternDeveloping ASP.NET Applications Using the Model View Controller Pattern
Developing ASP.NET Applications Using the Model View Controller Pattern
 
vite-en.pdf
vite-en.pdfvite-en.pdf
vite-en.pdf
 
Oleksandr Valetskyy - DI vs. IoC
Oleksandr Valetskyy - DI vs. IoCOleksandr Valetskyy - DI vs. IoC
Oleksandr Valetskyy - DI vs. IoC
 
Monitoring und Metriken im Wunderland
Monitoring und Metriken im WunderlandMonitoring und Metriken im Wunderland
Monitoring und Metriken im Wunderland
 
A Practical Approach to Building a Streaming Processing Pipeline for an Onlin...
A Practical Approach to Building a Streaming Processing Pipeline for an Onlin...A Practical Approach to Building a Streaming Processing Pipeline for an Onlin...
A Practical Approach to Building a Streaming Processing Pipeline for an Onlin...
 

Recently uploaded

Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving | Nameplate Manufacturing Process - 2024Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving
 
"NATO Hackathon Winner: AI-Powered Drug Search", Taras Kloba
"NATO Hackathon Winner: AI-Powered Drug Search",  Taras Kloba"NATO Hackathon Winner: AI-Powered Drug Search",  Taras Kloba
"NATO Hackathon Winner: AI-Powered Drug Search", Taras Kloba
Fwdays
 
The Microsoft 365 Migration Tutorial For Beginner.pptx
The Microsoft 365 Migration Tutorial For Beginner.pptxThe Microsoft 365 Migration Tutorial For Beginner.pptx
The Microsoft 365 Migration Tutorial For Beginner.pptx
operationspcvita
 
"Choosing proper type of scaling", Olena Syrota
"Choosing proper type of scaling", Olena Syrota"Choosing proper type of scaling", Olena Syrota
"Choosing proper type of scaling", Olena Syrota
Fwdays
 
What is an RPA CoE? Session 1 – CoE Vision
What is an RPA CoE?  Session 1 – CoE VisionWhat is an RPA CoE?  Session 1 – CoE Vision
What is an RPA CoE? Session 1 – CoE Vision
DianaGray10
 
ScyllaDB Tablets: Rethinking Replication
ScyllaDB Tablets: Rethinking ReplicationScyllaDB Tablets: Rethinking Replication
ScyllaDB Tablets: Rethinking Replication
ScyllaDB
 
Introducing BoxLang : A new JVM language for productivity and modularity!
Introducing BoxLang : A new JVM language for productivity and modularity!Introducing BoxLang : A new JVM language for productivity and modularity!
Introducing BoxLang : A new JVM language for productivity and modularity!
Ortus Solutions, Corp
 
Discover the Unseen: Tailored Recommendation of Unwatched Content
Discover the Unseen: Tailored Recommendation of Unwatched ContentDiscover the Unseen: Tailored Recommendation of Unwatched Content
Discover the Unseen: Tailored Recommendation of Unwatched Content
ScyllaDB
 
AppSec PNW: Android and iOS Application Security with MobSF
AppSec PNW: Android and iOS Application Security with MobSFAppSec PNW: Android and iOS Application Security with MobSF
AppSec PNW: Android and iOS Application Security with MobSF
Ajin Abraham
 
Demystifying Knowledge Management through Storytelling
Demystifying Knowledge Management through StorytellingDemystifying Knowledge Management through Storytelling
Demystifying Knowledge Management through Storytelling
Enterprise Knowledge
 
Biomedical Knowledge Graphs for Data Scientists and Bioinformaticians
Biomedical Knowledge Graphs for Data Scientists and BioinformaticiansBiomedical Knowledge Graphs for Data Scientists and Bioinformaticians
Biomedical Knowledge Graphs for Data Scientists and Bioinformaticians
Neo4j
 
Harnessing the Power of NLP and Knowledge Graphs for Opioid Research
Harnessing the Power of NLP and Knowledge Graphs for Opioid ResearchHarnessing the Power of NLP and Knowledge Graphs for Opioid Research
Harnessing the Power of NLP and Knowledge Graphs for Opioid Research
Neo4j
 
Apps Break Data
Apps Break DataApps Break Data
Apps Break Data
Ivo Velitchkov
 
QR Secure: A Hybrid Approach Using Machine Learning and Security Validation F...
QR Secure: A Hybrid Approach Using Machine Learning and Security Validation F...QR Secure: A Hybrid Approach Using Machine Learning and Security Validation F...
QR Secure: A Hybrid Approach Using Machine Learning and Security Validation F...
AlexanderRichford
 
"Frontline Battles with DDoS: Best practices and Lessons Learned", Igor Ivaniuk
"Frontline Battles with DDoS: Best practices and Lessons Learned",  Igor Ivaniuk"Frontline Battles with DDoS: Best practices and Lessons Learned",  Igor Ivaniuk
"Frontline Battles with DDoS: Best practices and Lessons Learned", Igor Ivaniuk
Fwdays
 
"What does it really mean for your system to be available, or how to define w...
"What does it really mean for your system to be available, or how to define w..."What does it really mean for your system to be available, or how to define w...
"What does it really mean for your system to be available, or how to define w...
Fwdays
 
Session 1 - Intro to Robotic Process Automation.pdf
Session 1 - Intro to Robotic Process Automation.pdfSession 1 - Intro to Robotic Process Automation.pdf
Session 1 - Intro to Robotic Process Automation.pdf
UiPathCommunity
 
Christine's Product Research Presentation.pptx
Christine's Product Research Presentation.pptxChristine's Product Research Presentation.pptx
Christine's Product Research Presentation.pptx
christinelarrosa
 
Must Know Postgres Extension for DBA and Developer during Migration
Must Know Postgres Extension for DBA and Developer during MigrationMust Know Postgres Extension for DBA and Developer during Migration
Must Know Postgres Extension for DBA and Developer during Migration
Mydbops
 
From Natural Language to Structured Solr Queries using LLMs
From Natural Language to Structured Solr Queries using LLMsFrom Natural Language to Structured Solr Queries using LLMs
From Natural Language to Structured Solr Queries using LLMs
Sease
 

Recently uploaded (20)

Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving | Nameplate Manufacturing Process - 2024Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving | Nameplate Manufacturing Process - 2024
 
"NATO Hackathon Winner: AI-Powered Drug Search", Taras Kloba
"NATO Hackathon Winner: AI-Powered Drug Search",  Taras Kloba"NATO Hackathon Winner: AI-Powered Drug Search",  Taras Kloba
"NATO Hackathon Winner: AI-Powered Drug Search", Taras Kloba
 
The Microsoft 365 Migration Tutorial For Beginner.pptx
The Microsoft 365 Migration Tutorial For Beginner.pptxThe Microsoft 365 Migration Tutorial For Beginner.pptx
The Microsoft 365 Migration Tutorial For Beginner.pptx
 
"Choosing proper type of scaling", Olena Syrota
"Choosing proper type of scaling", Olena Syrota"Choosing proper type of scaling", Olena Syrota
"Choosing proper type of scaling", Olena Syrota
 
What is an RPA CoE? Session 1 – CoE Vision
What is an RPA CoE?  Session 1 – CoE VisionWhat is an RPA CoE?  Session 1 – CoE Vision
What is an RPA CoE? Session 1 – CoE Vision
 
ScyllaDB Tablets: Rethinking Replication
ScyllaDB Tablets: Rethinking ReplicationScyllaDB Tablets: Rethinking Replication
ScyllaDB Tablets: Rethinking Replication
 
Introducing BoxLang : A new JVM language for productivity and modularity!
Introducing BoxLang : A new JVM language for productivity and modularity!Introducing BoxLang : A new JVM language for productivity and modularity!
Introducing BoxLang : A new JVM language for productivity and modularity!
 
Discover the Unseen: Tailored Recommendation of Unwatched Content
Discover the Unseen: Tailored Recommendation of Unwatched ContentDiscover the Unseen: Tailored Recommendation of Unwatched Content
Discover the Unseen: Tailored Recommendation of Unwatched Content
 
AppSec PNW: Android and iOS Application Security with MobSF
AppSec PNW: Android and iOS Application Security with MobSFAppSec PNW: Android and iOS Application Security with MobSF
AppSec PNW: Android and iOS Application Security with MobSF
 
Demystifying Knowledge Management through Storytelling
Demystifying Knowledge Management through StorytellingDemystifying Knowledge Management through Storytelling
Demystifying Knowledge Management through Storytelling
 
Biomedical Knowledge Graphs for Data Scientists and Bioinformaticians
Biomedical Knowledge Graphs for Data Scientists and BioinformaticiansBiomedical Knowledge Graphs for Data Scientists and Bioinformaticians
Biomedical Knowledge Graphs for Data Scientists and Bioinformaticians
 
Harnessing the Power of NLP and Knowledge Graphs for Opioid Research
Harnessing the Power of NLP and Knowledge Graphs for Opioid ResearchHarnessing the Power of NLP and Knowledge Graphs for Opioid Research
Harnessing the Power of NLP and Knowledge Graphs for Opioid Research
 
Apps Break Data
Apps Break DataApps Break Data
Apps Break Data
 
QR Secure: A Hybrid Approach Using Machine Learning and Security Validation F...
QR Secure: A Hybrid Approach Using Machine Learning and Security Validation F...QR Secure: A Hybrid Approach Using Machine Learning and Security Validation F...
QR Secure: A Hybrid Approach Using Machine Learning and Security Validation F...
 
"Frontline Battles with DDoS: Best practices and Lessons Learned", Igor Ivaniuk
"Frontline Battles with DDoS: Best practices and Lessons Learned",  Igor Ivaniuk"Frontline Battles with DDoS: Best practices and Lessons Learned",  Igor Ivaniuk
"Frontline Battles with DDoS: Best practices and Lessons Learned", Igor Ivaniuk
 
"What does it really mean for your system to be available, or how to define w...
"What does it really mean for your system to be available, or how to define w..."What does it really mean for your system to be available, or how to define w...
"What does it really mean for your system to be available, or how to define w...
 
Session 1 - Intro to Robotic Process Automation.pdf
Session 1 - Intro to Robotic Process Automation.pdfSession 1 - Intro to Robotic Process Automation.pdf
Session 1 - Intro to Robotic Process Automation.pdf
 
Christine's Product Research Presentation.pptx
Christine's Product Research Presentation.pptxChristine's Product Research Presentation.pptx
Christine's Product Research Presentation.pptx
 
Must Know Postgres Extension for DBA and Developer during Migration
Must Know Postgres Extension for DBA and Developer during MigrationMust Know Postgres Extension for DBA and Developer during Migration
Must Know Postgres Extension for DBA and Developer during Migration
 
From Natural Language to Structured Solr Queries using LLMs
From Natural Language to Structured Solr Queries using LLMsFrom Natural Language to Structured Solr Queries using LLMs
From Natural Language to Structured Solr Queries using LLMs
 

Error ontologies and altarica transformation aadl meeting florida jan 24-27

  • 1. A Semantic Web Architecture for Model based Safety Engineering Presentation to the AADL standards meeting Hollywood Florida, Jan 26, 2011
  • 2. Agenda The context: Semantic Web architecture for model based safety engineering. Component and Error Model Ontology TASTE tool ‘Error View’ extensions Transformation to Altarica Discussion and examples from AOCS case study. 2
  • 3. Semantic Web Architecture for Model-based Safety Engineering 3
  • 5. 5 Component and Error Model Ontology
  • 7. Device Error model hierarchy 7
  • 9. Compositionality rules and assumptions Same name/symbol implies same feature Unique Name Assumption. Multiple instances of same symbol are merged. Each model contains complete transitions. Events are independent from each other. One event triggered at a time Merging results in the union of transactions. Deterministic transitions. More structure in Error models possible: E.g. Organise Events and States into Event Activation, Event Detection, Event Perceptions. Permanent and Temporary Faults. 9
  • 11. TASTE tool Error View Extensions - IV 11
  • 12. Front-End: Components to Error Model association 12
  • 13. TASTE tool Error View Extensions - IV 13
  • 14. 14 TASTE tool Error View Extensions - DV
  • 15. Transformation: AADL Error View to Altarica AADL Error View Combined IV + DV AADL code for a system. Augmented with Error model information (Error Annex). Behavior coded used Behavior Annex. 15
  • 17. Transformation example - Device SYSTEM CSS_taste FEATURES CSS_PI_obj86 : PROVIDES SUBPROGRAM ACCESS interfaceview::FV::CSS_PI_obj86.others Sensor_TC_obj98 : PROVIDES SUBPROGRAM ACCESS interfaceview::FV::Sensor_TC_obj98.others END CSS_taste; SYSTEM IMPLEMENTATION CSS_taste.impl SUBCOMPONENTS CSS_PI_obj86_impl : SUBPROGRAM interfaceview::FV::CSS_PI_obj86.others Sensor_TC_obj98_impl : SUBPROGRAM interfaceview::FV::Sensor_TC_obj98.others CONNECTIONS SUBPROGRAM ACCESS CSS_PI_obj86_impl -> CSS_PI_obj86; SUBPROGRAM ACCESS Sensor_TC_obj98_impl -> Sensor_TC_obj98; ANNEX ERROR_MODEL {** MODEL => error_models::IV::CSS_error.impl; **}; ANNEX BEHAVIOR_SPECIFICATION {** STATES TCAcceptanceFailureState, TemperatureFailureState, DataFailureState: FINAL STATE; NominalState : INITIAL STATE; TRANSITIONS normal : NominalState -[ ]-> NominalState { CSS_PI.dataCSS_out:=DataType_dataCSS_T; Sensor_TC.TC_SW:=DataType_TC_T; Sensor_TC.TC_Acceptance:=DataType_TM_Status}; out_TCAcceptanceFailureEvent : TCAcceptanceFailureState -[ ]-> TCAcceptanceFailureState { Sensor_TC.TC_Acceptance:=NO_DATA }; out_TemperatureFailureEvent: TemperatureFailureState -[ ]-> TemperatureFailureState { CSS_PI.dataCSS_out:=BAD_DATA }; out_DataFailureEvent: DataFailureState -[ ]-> DataFailureState { CSS_PI.dataCSS_out:=NO_DATA }; **}; END CSS_taste.impl; DOMAIN interfaceview_FV_CSS_PI_domain = STRUCT dataCSS_out : { DataType_dataCSS_T , NO_DATA , BAD_DATA , OUT_OF_RANGE } ; TCURTS; DOMAIN interfaceview_FV_Sensor_TC_domain = STRUCT TC_Acceptance : { DataType_TM_Status , NO_DATA , BAD_DATA , OUT_OF_RANGE } ; TC_SW : { DataType_TC_T , NO_DATA , BAD_DATA , OUT_OF_RANGE } ; TCURTS; node interfaceview_IV_AOCS_CSS_taste_impl FLOW CSS_PI : interfaceview_FV_CSS_PI_domain ; Sensor_TC : interfaceview_FV_Sensor_TC_domain ; STATE error_model_state : { TCAcceptanceFailureState , TemperatureFailureState , DataFailureState , NominalState } ; INIT error_model_state := NominalState; EVENT TCAcceptanceRecoverEvent , TemperatureRecoverEvent , DataRecoverEvent , TCAcceptanceFailureEvent , TemperatureFailureEvent , DataFailureEvent ; TRANS error_model_state = TCAcceptanceFailureState |- TCAcceptanceFailureEvent -> error_model_state := TCAcceptanceFailureState ; error_model_state = NominalState |- TCAcceptanceFailureEvent -> error_model_state := TCAcceptanceFailureState ; ……. SUB CSS_PI_impl : interfaceview_FV_CSS_PI_others ; Sensor_TC_impl : interfaceview_FV_Sensor_TC_others ; ASSERT CSS_PI_impl.self = CSS_PI ; Sensor_TC_impl.self = Sensor_TC ; error_model_state = NominalState & ( CSS_PI.dataCSS_out = DataType_dataCSS_T & Sensor_TC.TC_SW = DataType_TC_T & Sensor_TC.TC_Acceptance = DataType_TM_Status ) | error_model_state = TCAcceptanceFailureState & ( Sensor_TC.TC_Acceptance = NO_DATA ) | error_model_state = TemperatureFailureState & ( CSS_PI.dataCSS_out = BAD_DATA ) | error_model_state = DataFailureState & ( CSS_PI.dataCSS_out = NO_DATA ) ; edon 17 2 2 1 1 4 2 5 3 3 3 3 6 4 5 6
  • 18. Transformation example - Thread SYSTEM SMU FEATURES SensorAcquisition : PROVIDES SUBPROGRAM ACCESS SensorAcquisition.others ControlLoop : PROVIDES SUBPROGRAM ACCESS …ControlLoop.others ActuatorMgt : PROVIDES SUBPROGRAM ACCESS …ActuatorMgt.others cmdRW1 : REQUIRES SUBPROGRAM ACCESS default::FV::cmdRW_PI_obj578 …. cmdTHR8 : REQUIRES SUBPROGRAM ACCESS default::FV::THR_PI_obj875 SMU_IO_Mgt_RI : REQUIRES SUBPROGRAM ACCESS …SMU_IO_Mgt_PI_obj234 tcCSS_RI : REQUIRES SUBPROGRAM ACCESS default::FV::CSS_TC_obj102 …. END SMU; SYSTEM IMPLEMENTATION SMU.others SUBCOMPONENTS SensorAcquisition_impl : SUBPROGRAM default::FV::SensorAcquisition.others ControlLoop_impl : SUBPROGRAM default::FV::ControlLoop.others ActuatorMgt_impl : SUBPROGRAM default::FV::ActuatorMgt.others CONNECTIONS … ANNEX ERROR_MODEL {** Model => AOCS_error_models::AOCSThread_error.impl; **}; ANNEX BEHAVIOR_SPECIFICATION {** … TRANSITIONS normal : s -[ ]-> s { SMU_IO_Mgt_RI!(di,ds,dg,dc,frw1,frw2,frw3,frw4) ; SensorAcquisition_impl!( dg, di, dc, ds, d); ControlLoop_impl!(d,c); ActuatorMgt_impl!(c, crw1, crw2, … , cthr6, cthr7, cthr8); … ; memoryaccess : stMemoryAccessError -[ ]-> stMemoryAccessError { SMU_IO_Mgt_RI.dataIRES := BAD_DATA }; **}; END SMU.others; node default_IV_AOCS_SMU_others FLOW SensorAcquisition : default_FV_SensorAcquisition_domain ; … SMU_IO_Mgt_RI : default_FV_SMU_IO_Mgt_PI_domain ; STATE error_model_state : { stErrorFree , stMemoryAccessError , … INIT error_model_state := stErrorFree; EVENT evMemoryAccessError , evSubCallError , evReset , HWError , HWRepair , MemoryAccessError , SubCallError ; TRANS error_model_state = stErrorFree |- evMemoryAccessError -> error_model_state := stMemoryAccessError ; … SUB SensorAcquisition_impl : default_FV_SensorAcquisition_others ; ControlLoop_impl : default_FV_ControlLoop_others ; ASSERT SensorAcquisition_impl.self = SensorAcquisition ; ControlLoop_impl.self = ControlLoop ; ActuatorMgt_impl.self = ActuatorMgt ; error_model_state = stMemoryAccessError & ( SMU_IO_Mgt_RI.dataIRES = BAD_DATA ) | error_model_state = stErrorFree | error_model_state = stSubCallError | error_model_state = stHWError ; ControlLoop_impl.self.dataAOCS = SensorAcquisition_impl.self.dataAOCS ; ActuatorMgt_impl.self.commandAOCS = ControlLoop_impl.self.commandAOCS ; edon 18 1 1
  • 19. Error propagations Observe AADL EA Propagation and Inheritance rules From HW components to SW bound to that HW Through component connections. Via shared access. Via subprogram calls. Errors of a component are propagated to its subcomponents and vice versa. Transformed as Altarica (Weak) Event Synchronizations Restricted support for Guard_In and Guard_Out (event mapping): Guard_in => MappedEvent when OriginalEvent {, [MappedEvent when Original Event]}*   Guard_out => MappedEvent when OriginalEvent {, [MappedEvent when Original Event]}* 19
  • 21. Propagations example 21 < Crash ? , SensorAcquisition_impl.Crash > ; < MemoryAccess ? , SensorAcquisition_impl.BadData > ; < PowerOutage ? , SensorAcquisition_impl.PowerOutage > ; < HWError ? , SensorAcquisition_impl.BadData > ; < Reset ? , SensorAcquisition_impl.Reset > ; < SensorAcquisition_impl.PowerOutage ? , PowerOutage > ; < SensorAcquisition_impl.HWError ? , HWError > ; < SensorAcquisition_impl.Crash ? , Crash > ; < SensorAcquisition_impl.Reset ? , Reset > ;

Editor's Notes

  1. GYRO belongs to AvionicsSensor, PowerFailureModelAvionicsSensor is RecoverableErrorModel