AADL Error Model

Transcription

AADL Error Model
Modèles de sûreté de fonctionnement à partir
de description AADL
(Architecture Analysis and Design Language)
Ana Rugina, Karama Kanoun, Mohamed Kaâniche
{rugina, kanoun, kaaniche}@laas.fr
European Integrated Project ASSERT
Cercle "Conception et validation pour la sûreté de fonctionnement"
Atelier "Analyse et évaluation de la sûreté de fonctionnement à base de modèles"
Paris — 2 février 2006
1
Context
Means:
Analytical Modelling
Industrial practice:
Petri nets,
Markov chains
UML, AADL
models
Objectives:
Dependability Measures
UML = Unified Modelling Language
2
Overview of our Modeling Approach
AADL Dependability Model (AADL_DM)
AADL Architecture Model
(AADL_AM)
+
AADL Error Model
(AADL_EM)
Model transformation
GSPN Dependability Model
Model processing
Dependability Measures
3
Outline
• AADL language
• General approach
• Transformation rules
• Glimpse on a case study
• Summary
4
AADL Core Language
• Objectives: analyze the impact of architecture choices
⇒ Scheduling policy
⇒ Redundancy
• Architecture specification in AADL
⇒ How components are combined
⇒ How they interact
• Hierarchical description
• Dynamic architecture behavior ➝ operational modes for components
⇒ Mode transition triggered by events passing through a specified port
⇒ Dynamic behavior = switching between configurations and changes
in components internal characteristics
5
AADL Core Language — Components
 Basic element of an AADL architecture
 Categories
⇒ Software: process, subprogram, data, thread, thread group
⇒ Platform: processor, memory, device, bus
⇒ Composite: system
 Composed, interconnected through features
⇒ Ports, subprogram call, parameters
 Two levels of description
⇒Type: how the environment sees that component (properties and features)
⇒ Implementation (subcomponents, subprogram calls, operational modes)
⇒ Different system implementation structures lead to different
implementations associated with the same component type
6
AADL Error Model (AADL_EM)
• The AADL_EM is:
• built on the AADL_AM's (AADL architecture model) skeleton
• associated with an AADL_AM component model
• Component AADL_EM characterizes the behavior in the presence of
• Internal faults and repair events
• External propagations from the component environment
• AADL_EM = a model type + one or more error model implementations
• Vote properties (Vote_in, Vote_out)
• Control propagations by means of Boolean expressions and predicates
• Associated to ports, data components, client and server subprograms
• Not all the details of the AADL_AM are necessary for the AADL_DM
• Only components that have associated AADL_EMs and all connections
between them are part of the AADL_DM
7
AADL Error Model (AADL_EM)
•
Error model type declares
 Set of error states
 Set of events
 Set of incoming/outgoing propagation names
• Error model implementation
 Transitions between states, triggered by events, in the error model type
 Occurrence properties: arrival rates / probability of propagations and events
• Interactions (name matching and vote)
 The source error model sends the propagation out through all ports of the
AADL component to which this error model is associated
 This out propagation arrives to one or more receiver component's error
models
 Only receivers declaring In propagation with the same name (name
matching) are influenced by this propagation
 The state transitions and operational mode changes triggered by the In
propagation are simultaneous
8
Error Model Example
error model Basic
features
Error_Free: initial error state;
Failed: error state;
Fail, Repair: error event;
No_Data: out error propagation;
end Basic;
error model implementation Basic.Nominal
transitions
Error_Free-[Fail]->Failed;
Failed-[Repair]->Error_Free;
Failed-[out No_Data]->Failed;
properties
Fail.Occurrence=>poisson λ;
Repair.Occurrence=>poisson μ;
No_Data.Occurrence => fixed 0.5;
end Basic.Nominal;
9
AADL_DM Construction
AADL Dependability Model (AADL_DM)
AADL Architecture Model
(AADL_AM)
+
AADL Error Model
(AADL_EM)
Model transformation
GSPN Dependability Model
Model processing
Dependability Measures
10
AADL_DM Construction
• Independent components:
 The system AADL_DM is composed of the AADL_DMs of its components
• Dependencies ➝ structured and iterative approach for building
progressively the AADL_EM / AADL_DM
• First step
 Basic AADL_EM associated to components (isolated behavior)
• Next steps
 Introduce incrementally dependencies between basic AADL_EMs
• Dependencies
 Architecture-based: structural, functional, fault-tolerance properties
 Maintenance
 Hierarchy
11
AADL Dependability Model
• Architecture-based dependency
Component 1
Component 2
Error model 1
Error model 2
1-2 Dependency
1-2 Dependency
error model implementation for1.ex
transitions
[…]
Failed-[out No_Data]->Failed;
properties
[…]
No_Data.Occurrence => fixed 0.5;
end for1.ex;
error model implementation for2.ex
transitions
[…]
Error_Free-[in No_Data]->Failed;
end for2.ex;
12
AADL Dependability Model
• Maintenance dependency
Component 1
Component 2
Component 1
Component 2
Component 3
Component 4
Component 3
Component 4
Error model 3
Error model 4
Sharing a repairman
Error model 3
Error model 4
Maintenance
Maintenance
Repairman
Error model
Repairman
Maintenance
13
AADL Dependability Model
• Hierarchical systems
• Derived dependency -> derived error model
• Ignore containment details -> abstract error model
Component 1
Component 1.1
Error model 1.1
Component 1.2
Error model 1.2
Error model 1
derived
14
AADL to GSPN Model Transformation
Component 1
Component 2
Error model 1
Error model 2
1-2 Dependency
1-2 Dependency
GSPN
Component 1
GSPN
Component 2
GSPN
1-2 Dependency
• Modular GSPN
• One block for each isolated component behaviour
• One block for each dependency
• Progressive validation of the model
15
Transformation Rules
• Isolated components
AADL error model element
GSPN element
State
Place
Initial State
Token in the corresponding place
Event
GSPN transition (timed or immediate)
Occurrence property of event
Distribution of probability
characterising the occurrence of
associated GSPN transition
AADL transition
(Source_State-[event]-> Destination_State)
Arcs connecting places (corresponding
to AADL Source_State and
Destination_State) via GSPN transition
(corresponding to AADL event)
16
Transformation Rules
• Name matching propagations
Propagation sender
Dependency
Error_Free
Propagation receiver
Error_Free
Fail (λ)
p
Fail (λ)
Failed
Failed
Sender_Failed
Propagation sender
Dependency
1
Error_Free
Fail (λ)
Propagation receiver
Error_Free
p
1
Failed
Fail (λ)
Failed
=
Number of GSPN transitions
describing an AADL transition
=
Number of AADL transitions
triggered by the out propagation in
the sender
=
Number of AADL transitions
triggered by the in propagation in
the receiver i (i=1..p)
Sender_Failed
17
Complex Transformation Rules
• Vote/Filtering properties
 Vote_In and Vote_Out
(filtering AADL propagations according to Boolean expressions)
• Hierarchical systems
 Derived dependencies
(system behaviour depending on the behaviour of subcomponents)
• Modal systems
 Vote_Event and Vote_Transition properties
(triggering mode changes at architectural level according to Boolean expression)
18
Transformation Rules – Vote_In
Receiver
in
in
Data_OK
a1 a3
b2
b3
Corrupted
out
out
Sender 1
Sensor1[Data_OK]
2
b2 b3
a1 a3
Sensor1[Corrupted]
a3
a2
b2
b1
2
a4
a3
2
mask mask
a1
a4
2
b1
b1
b4
b4
a1
b4
b3
a2
Sensor2[Corrupted]
Sensor2[Data_OK]
out
Sender 2
out
19
Case Study: Duplex System
duplex_system
System2:sub_system.basic_backup
System1:sub_system.basic_primary
SW1:software.basic_primary
Primary
SW2:software.basic_backup
Backup
Primary
Backup
LAN
HW:computer.basic
HW:computer.basic
20
AADL Dependability Model
SW1:software.basic_primary
Primary
SW2: software.basic_backup
Primary
Backup
Backup
Error model
SW.HWSW_SWSWdep
Error model
SW.HWSW_SWSWdep
SW-SW dependency
SW-SW dependency
HW-SW dependency
HW-SW dependency
HW:computer.basic
HW:computer.basic
Error model
HW.HWSW_HWHWdep
Error model
HW.HWSW_HWHWdep
HW-SW dependency
HW-SW dependency
HW-HW dependency
HW-HW dependency
Repairman: repairman.basic
Error model
Repairman.Simple
HW-HW dependency
21
GSPN Dependability Model
SW1:software.basic_primary
Primary
SW2: software.basic_backup
Primary
Backup
Backup
Er
Errror
or model
model
SW.HWSW_S
SW.HWSW_SWSWdep
WSWdep
Er r or model
SW.HWSW_S WSWdep
SW-SW dependency
SW-SW dependency
HW-SW dependency
HW-SW dependency
GSPN
M.SW_SWdep
HW:computer.basic
HW:computer.basic
Er r or model
HW.HWSW_HWHWdep
Er r or model
HW.HWSW_HWHWdep
HW-SW dependency
HW-SW dependency
HW-HW dependency
HW-HW dependency
Repairman: repairman.basic
GSPN
M.SW
GSPN
M.SW
GSPN
M.HW_SWdep
GSPN
M.HW_SWdep
GSPN
M.HW
GSPN
M.HW
GSPN
M.HW_HWdep
GSPN
M.HW_HWdep
Er r or model Repair man.Simple
HW-HW dependency
GSPN
M.Repairman
22
Summary
• AADL system error model
• Stepwise construction
 Building error models as if components were isolated
 Adding dependencies progressively
• Model transformation: manual ⇒ automatic
• Error Model Annex assessment
• Evolution proposals
23
Error Model Annex Evolution
• Occurrence properties
Fixed values ➞ unvaluated parameters
• Link between the mode model and the error model
⇒mode-dependent behaviour in presence of faults
• Vote_In and Vote_Out properties
⇒evaluate Boolean error expressions only when needed
• Inheritance and refinements
⇒similarly to the core standard mechanisms
24