SlideShare a Scribd company logo
1 of 29
Requirements vs. Design vs. Runtime
UC San Diego
CSE 294
Fall Quarter 2007
Barry Demchak
2
Papers
 A Reconfiguration Mechanism for
Statechart Based Components by
Elkorobarrutia, Sagardui, et al (2007)
 Reconciling System Requirements and
Runtime Behavior by Feather, Fickas, et al
(1998)
3
The Questions
 Can requirements and designs be leveraged
to facilitate system adaption … yet avoid
emergent, inappropriate, or unpredictable
behavior?
 What types of requirements and designs
facilitate this?
 What types of runtime support facilitate this?
4
The Context – Autonomic Computing
 Autonomic Computing as defined by Kephart and
Chess in IEEE Computer Society, January 2003
 Systems and integration of systems is getting more
complex (installation, tuning, configuration,
maintainance)
 Design getting too complex  push some design
decisions to runtime
 self-*
 Self-configuration – based on high level policies
 Self-optimization
 Self-healing – detect, diagnose, repair
 Self-protection – malicious attacks, cascading failures
5
Two Approaches
 Statechart execution (Elkorobarrutia et al)
 Goal-oriented (Feather et al)
6
Statechart Execution Basic Approach
 Given a collection of substitutable components, have
an application-independent way of choosing one
 No designer involvement needed
 Operates at higher level (i.e., component) than
Class/Operation/Type (as in Java methodology per
Faud)
 Develop statechart-based components
 Assist developer in creating executable components
 Make model available at runtime (i.e., reflection)
 Based on message dispatcher/receptor model (i.e.,
perhaps a leadin to SOA)
7
Sample Statechart
r o o t=new XorSt a t e ( ) ;
r o o t S t a t e=r o o t ;
s1=new XorSt a t e ( ) ;
r o o t . addSt a t e ( s1 ) ;
s2=new AndState ( ) ;
r o o t . a d d I n i t i a l S t a t e ( s2 ) ;
r eg1=new Region ( ) ;
s2 . addRegion ( r eg1 ) ;
s21=new XorSt a t e ( ) ; ...
Structure:
j r=new J o i nRe a c t i o n ( s1 , n u l l , ” e vA j o i n ” ) ;
j r . addSource ( s22 ) ;
j r . addSource ( s24 ) ;
s2 . addRe a c t ion (EvA . c l a s s , j r ) ;
s1 . s e t E x i tAc t i o n ( ” e x i t 1 ” ) ;
. . . . . . .
Behavior:
8
State Machine Execution
1. Incoming Message
2. Evaluate Guards 3. Execute action/transition
ate Machine
pository
2. Replace
state
machine,
add states,
remove
states
1. Incoming Message
9
Executor Model
 Well Tested
 Interceptor site
 Exception catching
 Replace executor
 Can throw exception
10
Advantages
 Direct connection to UML model –
requirements are inferred
 Execution chosen based on user stimulus or
automatic reaction to execution fault
 Inversion of Control (IoC) allows flexible
choice of execution alternatives
11
Disadvantages
 Undefined semantics for changed statecharts
 No guarantees that statecharts are correct
 Independent execution framework was not
achieved (interceptors and exception
handlers oddly conceived)
12
Goal-oriented Basic Approach
 Identify high level goals and the services,
constraints, and agents that serve them …
then figure out way to achieve the goal
 Allow multiple execution strategies, and
provide the means to choose between them
 Monitor system behavior at runtime, and
reconcile it with requirements (-- complete
static analysis too costly, and may not even
be possible)
13
Closing the Gap (requirements vs runtime)
 At specification time, identify event
sequences to be monitored – acceptable vs
unacceptable changes
 At design time, identify alternative designs
and explicitly represent them in trees
 At runtime, monitor system state to
determine when goals are not met, then take
remedial action – change parameters or
choose alternate design
14
The Players
 Object – entities, relationships, events characterized
by attributes and invariants
 Actions – input/output relation over objects
 Agent – object that acts as action processor
 Goal – contains AND-refinement of subgoals and
OR-refinement of alternative subgoals
 Constraint – ultimate decomposition of goals
 Assumption – auxiliary assertions
 KAOS – Specification Language
 FLEA – Monitoring System
15
KAOS – Specification Language
16
Temperal Logic Operators Cheat Sheet
o (in the next state)
· (in the previous state)
 (eventually)
 (some time in the past)
 (always in the future)
 (always in the past)
U (always in the future until)
W (always in the future unless)
Subscripts as realtime restrictions: ≤nu means
“sometime in the future within n time units u”.
17
KAOS – Specification Language
Effectively, goal requirements are in constraints
18
FLEA – Runtime Monitor
 FLEA Language provides constructs for
expressing temporal combinations of events
 Runtime code to monitor such events is
automatically generated by FLEA.
 Consists of:
 Historical database of events
 Inference engine
 Communication system
 Gathers events
 Distributes notifications of event combinations
19
FLEA Temporal Patterns
20
More FLEA
 Events can be composed using boolean
operators
 External events are allowed
 Definition: (defevent constraints-provided: external (string))
 Instance: (constraints-provided 1365124 chp)
 Events are used for:
 Detecting violations of complex assertions
 Keeping track of frequency of violations
 Deciding when it’s time to react
21
System Architecture
22
KAOS Spec Refinement Graph
23
Requirements-Runtime Reconciliation
Development Level
 Goal-based specification is elaborated
 KAOS assertions that can be violated are
identified – breakable assertions
 KAOS specification implemented as system
of cooperating agents that generate traces of
breakable assertions
24
Requirements-Runtime Reconciliation
Development Level
D1 Elaborate the goal refinement graph, identify
breakable assertions, and formalize into
temporal pattern
D2 Check for monitorability, identify monitored
parameters
D3 Identify reconciliation tactics (i.e., change a
control parameter or switch to alternative
design)
D4 Translate breakable assertions into FLEA
D5 Bind trace events to particular agent modules
25
Requirements-Runtime Reconciliation
Runtime Level
R1 Establish communication between state
information and runtime monitor
R2 Correlate FLEA event definitions with
current design specification
R3 Start monitoring events and looking for
broken assertions
26
KAOS-FLEA Recap
 Preserves high level goals through
 Requirements-time reasoning
 Event-based runtime monitoring
 System self-adaption tactics
 Advantages
 Development artifacts intimately tied to runtime
decisions
 End-to-end demonstration of efficient execution
 Disadvantages
 Difficult ADL
 Awkward integration between KAOS and FLEA layers
27
Methodology Comparison
 Both
 Elevate runtime problem resolution to
requirements/design level
 Employ IoC methods in choosing amongst alternatives
 Self-healing, but in different ways
 Statecharts
 Tied to UML
 Untried end-to-end, many basic questions remain
 KAOS-FLEA
 Tied to custom ADL and temporal logic
 Solid end-to-end demonstration
28
The Questions (again)
 Can requirements and designs be leveraged
to facilitate system adaption … yet avoid
emergent, inappropriate, or unpredictable
behavior?
 What types of requirements and designs
facilitate this?
 What types of runtime support facilitate this?
29
Bibliography
1. M. Feather, S. Fickas, A. van Lamsweerde, and C. Ponsard, Reconciling System
Requirements and Runtime Behavior, Proc. IWSSD'98 - 9th International Workshop on
Software Specification and Design, Isobe, IEEE CS Press, April 1998.
2. M. Rohr, M. Boskovic, S. Gieseck, and W. Hasselbring. Model-driven Development of Self-
managing Software Systems. Proceedings of the Workshop ``Models@run.time'' at the 9th
International Conference on Model Driven Engineering Languages and Systems
(MoDELS/UML'06) 2006. Springer, 4.
3. X. Elkorobarrutia, G. Sagardui, and X Aretxandieta. A Reconfiguration Mechanism for
Statechart Based Components. Proceedings of the 1st
Workshop on Model-driven Software
Adaptation (M-ADAPT’07 at ECOOP 2007). Berlin, Germany, 2007.
4. F. Barbier. MDE-based Design and Implementation of Autonomic Software Components.
Proceedings of the 5th
IEEE International Conference on Cognitive Informatics (ICCI’06).
Beijing, China. July, 2006.
5. J. Kephart and D. Chess. The Vision of Autonomic Computing. IEEE Computer 36(2003).
6. G. Blair, N. Bencomo. Workshop Models@run.time.
http://www.comp.lancs.ac.uk/~bencomo/MRT07. June, 2007.
7. M. Faud, D. Deb, M. Oudshoorn. Adding Self-Healing Capabilities into Legacy Object
Oriented Applications. Proceedings of the International Conference on Autonomic and
Autonomous Systems (ICAS). P 15. July, 2006.

More Related Content

What's hot

Dependable Systems - Summary (16/16)
Dependable Systems - Summary (16/16)Dependable Systems - Summary (16/16)
Dependable Systems - Summary (16/16)Peter Tröger
 
TMPA-2017: Distributed Analysis of the BMC Kind: Making It Fit the Tornado Su...
TMPA-2017: Distributed Analysis of the BMC Kind: Making It Fit the Tornado Su...TMPA-2017: Distributed Analysis of the BMC Kind: Making It Fit the Tornado Su...
TMPA-2017: Distributed Analysis of the BMC Kind: Making It Fit the Tornado Su...Iosif Itkin
 
Dependable Systems -Dependability Attributes (5/16)
Dependable Systems -Dependability Attributes (5/16)Dependable Systems -Dependability Attributes (5/16)
Dependable Systems -Dependability Attributes (5/16)Peter Tröger
 
Dissertation Defense
Dissertation DefenseDissertation Defense
Dissertation DefenseSung Kim
 
Process Synchronization And Deadlocks
Process Synchronization And DeadlocksProcess Synchronization And Deadlocks
Process Synchronization And Deadlockstech2click
 

What's hot (6)

IPA Fall Days 2019
 IPA Fall Days 2019 IPA Fall Days 2019
IPA Fall Days 2019
 
Dependable Systems - Summary (16/16)
Dependable Systems - Summary (16/16)Dependable Systems - Summary (16/16)
Dependable Systems - Summary (16/16)
 
TMPA-2017: Distributed Analysis of the BMC Kind: Making It Fit the Tornado Su...
TMPA-2017: Distributed Analysis of the BMC Kind: Making It Fit the Tornado Su...TMPA-2017: Distributed Analysis of the BMC Kind: Making It Fit the Tornado Su...
TMPA-2017: Distributed Analysis of the BMC Kind: Making It Fit the Tornado Su...
 
Dependable Systems -Dependability Attributes (5/16)
Dependable Systems -Dependability Attributes (5/16)Dependable Systems -Dependability Attributes (5/16)
Dependable Systems -Dependability Attributes (5/16)
 
Dissertation Defense
Dissertation DefenseDissertation Defense
Dissertation Defense
 
Process Synchronization And Deadlocks
Process Synchronization And DeadlocksProcess Synchronization And Deadlocks
Process Synchronization And Deadlocks
 

Similar to Requirements vs design vs runtime

SERENE 2014 School: Resilience in Cyber-Physical Systems: Challenges and Oppo...
SERENE 2014 School: Resilience in Cyber-Physical Systems: Challenges and Oppo...SERENE 2014 School: Resilience in Cyber-Physical Systems: Challenges and Oppo...
SERENE 2014 School: Resilience in Cyber-Physical Systems: Challenges and Oppo...SERENEWorkshop
 
OORPT Dynamic Analysis
OORPT Dynamic AnalysisOORPT Dynamic Analysis
OORPT Dynamic Analysislienhard
 
Transfer Learning for Software Performance Analysis: An Exploratory Analysis
Transfer Learning for Software Performance Analysis: An Exploratory AnalysisTransfer Learning for Software Performance Analysis: An Exploratory Analysis
Transfer Learning for Software Performance Analysis: An Exploratory AnalysisPooyan Jamshidi
 
Transfer Learning for Performance Analysis of Highly-Configurable Software
Transfer Learning for Performance Analysis of Highly-Configurable SoftwareTransfer Learning for Performance Analysis of Highly-Configurable Software
Transfer Learning for Performance Analysis of Highly-Configurable SoftwarePooyan Jamshidi
 
Software engg. pressman_ch-8
Software engg. pressman_ch-8Software engg. pressman_ch-8
Software engg. pressman_ch-8Dhairya Joshi
 
An Overview of Performance Evaluation & Simulation
An Overview of Performance Evaluation & SimulationAn Overview of Performance Evaluation & Simulation
An Overview of Performance Evaluation & Simulationdasdfadfdsfsdfasdf
 
Software Requirements and Design Process in the Aerospace Industry
Software Requirements and Design Process in the Aerospace IndustrySoftware Requirements and Design Process in the Aerospace Industry
Software Requirements and Design Process in the Aerospace IndustryLeif Bloomquist
 
Rejunevating software reengineering processes
Rejunevating software reengineering processesRejunevating software reengineering processes
Rejunevating software reengineering processesmanishthaper
 
Software Engineering Important Short Question for Exams
Software Engineering Important Short Question for ExamsSoftware Engineering Important Short Question for Exams
Software Engineering Important Short Question for ExamsMuhammadTalha436
 
6. ch 5-understanding requirements
6. ch 5-understanding requirements6. ch 5-understanding requirements
6. ch 5-understanding requirementsDelowar hossain
 
Introduction to System, Simulation and Model
Introduction to System, Simulation and ModelIntroduction to System, Simulation and Model
Introduction to System, Simulation and ModelMd. Hasan Imam Bijoy
 
System Modelling.ppt
System Modelling.pptSystem Modelling.ppt
System Modelling.pptAnishNarayan4
 
University course on aerospace projects management and se complete 2017
University course on aerospace projects management and se complete 2017University course on aerospace projects management and se complete 2017
University course on aerospace projects management and se complete 2017Panagiotis (Panos) Xefteris
 

Similar to Requirements vs design vs runtime (20)

SERENE 2014 School: Resilience in Cyber-Physical Systems: Challenges and Oppo...
SERENE 2014 School: Resilience in Cyber-Physical Systems: Challenges and Oppo...SERENE 2014 School: Resilience in Cyber-Physical Systems: Challenges and Oppo...
SERENE 2014 School: Resilience in Cyber-Physical Systems: Challenges and Oppo...
 
OORPT Dynamic Analysis
OORPT Dynamic AnalysisOORPT Dynamic Analysis
OORPT Dynamic Analysis
 
Transfer Learning for Software Performance Analysis: An Exploratory Analysis
Transfer Learning for Software Performance Analysis: An Exploratory AnalysisTransfer Learning for Software Performance Analysis: An Exploratory Analysis
Transfer Learning for Software Performance Analysis: An Exploratory Analysis
 
Transfer Learning for Performance Analysis of Highly-Configurable Software
Transfer Learning for Performance Analysis of Highly-Configurable SoftwareTransfer Learning for Performance Analysis of Highly-Configurable Software
Transfer Learning for Performance Analysis of Highly-Configurable Software
 
Software engg. pressman_ch-8
Software engg. pressman_ch-8Software engg. pressman_ch-8
Software engg. pressman_ch-8
 
SECh1214
SECh1214SECh1214
SECh1214
 
An Overview of Performance Evaluation & Simulation
An Overview of Performance Evaluation & SimulationAn Overview of Performance Evaluation & Simulation
An Overview of Performance Evaluation & Simulation
 
Innoslate 4.5 and Sopatra
Innoslate 4.5 and SopatraInnoslate 4.5 and Sopatra
Innoslate 4.5 and Sopatra
 
Software Requirements and Design Process in the Aerospace Industry
Software Requirements and Design Process in the Aerospace IndustrySoftware Requirements and Design Process in the Aerospace Industry
Software Requirements and Design Process in the Aerospace Industry
 
Rejunevating software reengineering processes
Rejunevating software reengineering processesRejunevating software reengineering processes
Rejunevating software reengineering processes
 
Software Engineering Important Short Question for Exams
Software Engineering Important Short Question for ExamsSoftware Engineering Important Short Question for Exams
Software Engineering Important Short Question for Exams
 
Mba it unit 3 ppt
Mba it unit 3 pptMba it unit 3 ppt
Mba it unit 3 ppt
 
Mba it unit 3 ppt
Mba it unit 3 pptMba it unit 3 ppt
Mba it unit 3 ppt
 
Mba it unit 3 ppt
Mba it unit 3 pptMba it unit 3 ppt
Mba it unit 3 ppt
 
6. ch 5-understanding requirements
6. ch 5-understanding requirements6. ch 5-understanding requirements
6. ch 5-understanding requirements
 
Introduction to System, Simulation and Model
Introduction to System, Simulation and ModelIntroduction to System, Simulation and Model
Introduction to System, Simulation and Model
 
Ch10
Ch10Ch10
Ch10
 
Intro-Soft-Engg-2.pptx
Intro-Soft-Engg-2.pptxIntro-Soft-Engg-2.pptx
Intro-Soft-Engg-2.pptx
 
System Modelling.ppt
System Modelling.pptSystem Modelling.ppt
System Modelling.ppt
 
University course on aerospace projects management and se complete 2017
University course on aerospace projects management and se complete 2017University course on aerospace projects management and se complete 2017
University course on aerospace projects management and se complete 2017
 

More from bdemchak

Cytoscape Network Visualization and Analysis
Cytoscape Network Visualization and AnalysisCytoscape Network Visualization and Analysis
Cytoscape Network Visualization and Analysisbdemchak
 
The New CyREST: Economical Delivery of Complex, Reproducible Network Biology ...
The New CyREST: Economical Delivery of Complex, Reproducible Network Biology ...The New CyREST: Economical Delivery of Complex, Reproducible Network Biology ...
The New CyREST: Economical Delivery of Complex, Reproducible Network Biology ...bdemchak
 
Cytoscape Cyberinfrastructure
Cytoscape CyberinfrastructureCytoscape Cyberinfrastructure
Cytoscape Cyberinfrastructurebdemchak
 
No More Silos! Cytoscape CI Enables Interoperability
No More Silos! Cytoscape CI Enables InteroperabilityNo More Silos! Cytoscape CI Enables Interoperability
No More Silos! Cytoscape CI Enables Interoperabilitybdemchak
 
Cytoscape CI Chapter 2
Cytoscape CI Chapter 2Cytoscape CI Chapter 2
Cytoscape CI Chapter 2bdemchak
 
Composable Chat Introduction
Composable Chat IntroductionComposable Chat Introduction
Composable Chat Introductionbdemchak
 
Rich Services: Composable chat
Rich Services: Composable chatRich Services: Composable chat
Rich Services: Composable chatbdemchak
 
Ucsd tum workshop bd
Ucsd tum workshop bdUcsd tum workshop bd
Ucsd tum workshop bdbdemchak
 
Rich Feeds for RESCUE and PALMS
Rich Feeds for RESCUE and PALMSRich Feeds for RESCUE and PALMS
Rich Feeds for RESCUE and PALMSbdemchak
 
Iscram 2008 presentation
Iscram 2008 presentationIscram 2008 presentation
Iscram 2008 presentationbdemchak
 
Rich feeds policy, the cloud, and CAP
Rich feeds   policy, the cloud, and CAPRich feeds   policy, the cloud, and CAP
Rich feeds policy, the cloud, and CAPbdemchak
 
Rich services to the Rescue
Rich services to the RescueRich services to the Rescue
Rich services to the Rescuebdemchak
 
Hicss 2012 presentation
Hicss 2012 presentationHicss 2012 presentation
Hicss 2012 presentationbdemchak
 
Policy 2012 presentation
Policy 2012 presentationPolicy 2012 presentation
Policy 2012 presentationbdemchak
 
Rich feeds for rescue an integration story
Rich feeds for rescue   an integration storyRich feeds for rescue   an integration story
Rich feeds for rescue an integration storybdemchak
 
Background scenario drivers and critical issues with a focus on technology ...
Background   scenario drivers and critical issues with a focus on technology ...Background   scenario drivers and critical issues with a focus on technology ...
Background scenario drivers and critical issues with a focus on technology ...bdemchak
 
Rich feeds for rescue, palms cyberinfrastructure integration stories
Rich feeds for rescue, palms cyberinfrastructure   integration storiesRich feeds for rescue, palms cyberinfrastructure   integration stories
Rich feeds for rescue, palms cyberinfrastructure integration storiesbdemchak
 
Data quality and uncertainty visualization
Data quality and uncertainty visualizationData quality and uncertainty visualization
Data quality and uncertainty visualizationbdemchak
 
Web programming in clojure
Web programming in clojureWeb programming in clojure
Web programming in clojurebdemchak
 
Structure and interpretation of computer programs modularity, objects, and ...
Structure and interpretation of computer programs   modularity, objects, and ...Structure and interpretation of computer programs   modularity, objects, and ...
Structure and interpretation of computer programs modularity, objects, and ...bdemchak
 

More from bdemchak (20)

Cytoscape Network Visualization and Analysis
Cytoscape Network Visualization and AnalysisCytoscape Network Visualization and Analysis
Cytoscape Network Visualization and Analysis
 
The New CyREST: Economical Delivery of Complex, Reproducible Network Biology ...
The New CyREST: Economical Delivery of Complex, Reproducible Network Biology ...The New CyREST: Economical Delivery of Complex, Reproducible Network Biology ...
The New CyREST: Economical Delivery of Complex, Reproducible Network Biology ...
 
Cytoscape Cyberinfrastructure
Cytoscape CyberinfrastructureCytoscape Cyberinfrastructure
Cytoscape Cyberinfrastructure
 
No More Silos! Cytoscape CI Enables Interoperability
No More Silos! Cytoscape CI Enables InteroperabilityNo More Silos! Cytoscape CI Enables Interoperability
No More Silos! Cytoscape CI Enables Interoperability
 
Cytoscape CI Chapter 2
Cytoscape CI Chapter 2Cytoscape CI Chapter 2
Cytoscape CI Chapter 2
 
Composable Chat Introduction
Composable Chat IntroductionComposable Chat Introduction
Composable Chat Introduction
 
Rich Services: Composable chat
Rich Services: Composable chatRich Services: Composable chat
Rich Services: Composable chat
 
Ucsd tum workshop bd
Ucsd tum workshop bdUcsd tum workshop bd
Ucsd tum workshop bd
 
Rich Feeds for RESCUE and PALMS
Rich Feeds for RESCUE and PALMSRich Feeds for RESCUE and PALMS
Rich Feeds for RESCUE and PALMS
 
Iscram 2008 presentation
Iscram 2008 presentationIscram 2008 presentation
Iscram 2008 presentation
 
Rich feeds policy, the cloud, and CAP
Rich feeds   policy, the cloud, and CAPRich feeds   policy, the cloud, and CAP
Rich feeds policy, the cloud, and CAP
 
Rich services to the Rescue
Rich services to the RescueRich services to the Rescue
Rich services to the Rescue
 
Hicss 2012 presentation
Hicss 2012 presentationHicss 2012 presentation
Hicss 2012 presentation
 
Policy 2012 presentation
Policy 2012 presentationPolicy 2012 presentation
Policy 2012 presentation
 
Rich feeds for rescue an integration story
Rich feeds for rescue   an integration storyRich feeds for rescue   an integration story
Rich feeds for rescue an integration story
 
Background scenario drivers and critical issues with a focus on technology ...
Background   scenario drivers and critical issues with a focus on technology ...Background   scenario drivers and critical issues with a focus on technology ...
Background scenario drivers and critical issues with a focus on technology ...
 
Rich feeds for rescue, palms cyberinfrastructure integration stories
Rich feeds for rescue, palms cyberinfrastructure   integration storiesRich feeds for rescue, palms cyberinfrastructure   integration stories
Rich feeds for rescue, palms cyberinfrastructure integration stories
 
Data quality and uncertainty visualization
Data quality and uncertainty visualizationData quality and uncertainty visualization
Data quality and uncertainty visualization
 
Web programming in clojure
Web programming in clojureWeb programming in clojure
Web programming in clojure
 
Structure and interpretation of computer programs modularity, objects, and ...
Structure and interpretation of computer programs   modularity, objects, and ...Structure and interpretation of computer programs   modularity, objects, and ...
Structure and interpretation of computer programs modularity, objects, and ...
 

Recently uploaded

EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)jennyeacort
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 
What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....kzayra69
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsAhmed Mohamed
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEEVICTOR MAESTRE RAMIREZ
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 

Recently uploaded (20)

EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 
What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort ServiceHot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 

Requirements vs design vs runtime

  • 1. Requirements vs. Design vs. Runtime UC San Diego CSE 294 Fall Quarter 2007 Barry Demchak
  • 2. 2 Papers  A Reconfiguration Mechanism for Statechart Based Components by Elkorobarrutia, Sagardui, et al (2007)  Reconciling System Requirements and Runtime Behavior by Feather, Fickas, et al (1998)
  • 3. 3 The Questions  Can requirements and designs be leveraged to facilitate system adaption … yet avoid emergent, inappropriate, or unpredictable behavior?  What types of requirements and designs facilitate this?  What types of runtime support facilitate this?
  • 4. 4 The Context – Autonomic Computing  Autonomic Computing as defined by Kephart and Chess in IEEE Computer Society, January 2003  Systems and integration of systems is getting more complex (installation, tuning, configuration, maintainance)  Design getting too complex  push some design decisions to runtime  self-*  Self-configuration – based on high level policies  Self-optimization  Self-healing – detect, diagnose, repair  Self-protection – malicious attacks, cascading failures
  • 5. 5 Two Approaches  Statechart execution (Elkorobarrutia et al)  Goal-oriented (Feather et al)
  • 6. 6 Statechart Execution Basic Approach  Given a collection of substitutable components, have an application-independent way of choosing one  No designer involvement needed  Operates at higher level (i.e., component) than Class/Operation/Type (as in Java methodology per Faud)  Develop statechart-based components  Assist developer in creating executable components  Make model available at runtime (i.e., reflection)  Based on message dispatcher/receptor model (i.e., perhaps a leadin to SOA)
  • 7. 7 Sample Statechart r o o t=new XorSt a t e ( ) ; r o o t S t a t e=r o o t ; s1=new XorSt a t e ( ) ; r o o t . addSt a t e ( s1 ) ; s2=new AndState ( ) ; r o o t . a d d I n i t i a l S t a t e ( s2 ) ; r eg1=new Region ( ) ; s2 . addRegion ( r eg1 ) ; s21=new XorSt a t e ( ) ; ... Structure: j r=new J o i nRe a c t i o n ( s1 , n u l l , ” e vA j o i n ” ) ; j r . addSource ( s22 ) ; j r . addSource ( s24 ) ; s2 . addRe a c t ion (EvA . c l a s s , j r ) ; s1 . s e t E x i tAc t i o n ( ” e x i t 1 ” ) ; . . . . . . . Behavior:
  • 8. 8 State Machine Execution 1. Incoming Message 2. Evaluate Guards 3. Execute action/transition ate Machine pository 2. Replace state machine, add states, remove states 1. Incoming Message
  • 9. 9 Executor Model  Well Tested  Interceptor site  Exception catching  Replace executor  Can throw exception
  • 10. 10 Advantages  Direct connection to UML model – requirements are inferred  Execution chosen based on user stimulus or automatic reaction to execution fault  Inversion of Control (IoC) allows flexible choice of execution alternatives
  • 11. 11 Disadvantages  Undefined semantics for changed statecharts  No guarantees that statecharts are correct  Independent execution framework was not achieved (interceptors and exception handlers oddly conceived)
  • 12. 12 Goal-oriented Basic Approach  Identify high level goals and the services, constraints, and agents that serve them … then figure out way to achieve the goal  Allow multiple execution strategies, and provide the means to choose between them  Monitor system behavior at runtime, and reconcile it with requirements (-- complete static analysis too costly, and may not even be possible)
  • 13. 13 Closing the Gap (requirements vs runtime)  At specification time, identify event sequences to be monitored – acceptable vs unacceptable changes  At design time, identify alternative designs and explicitly represent them in trees  At runtime, monitor system state to determine when goals are not met, then take remedial action – change parameters or choose alternate design
  • 14. 14 The Players  Object – entities, relationships, events characterized by attributes and invariants  Actions – input/output relation over objects  Agent – object that acts as action processor  Goal – contains AND-refinement of subgoals and OR-refinement of alternative subgoals  Constraint – ultimate decomposition of goals  Assumption – auxiliary assertions  KAOS – Specification Language  FLEA – Monitoring System
  • 16. 16 Temperal Logic Operators Cheat Sheet o (in the next state) · (in the previous state)  (eventually)  (some time in the past)  (always in the future)  (always in the past) U (always in the future until) W (always in the future unless) Subscripts as realtime restrictions: ≤nu means “sometime in the future within n time units u”.
  • 17. 17 KAOS – Specification Language Effectively, goal requirements are in constraints
  • 18. 18 FLEA – Runtime Monitor  FLEA Language provides constructs for expressing temporal combinations of events  Runtime code to monitor such events is automatically generated by FLEA.  Consists of:  Historical database of events  Inference engine  Communication system  Gathers events  Distributes notifications of event combinations
  • 20. 20 More FLEA  Events can be composed using boolean operators  External events are allowed  Definition: (defevent constraints-provided: external (string))  Instance: (constraints-provided 1365124 chp)  Events are used for:  Detecting violations of complex assertions  Keeping track of frequency of violations  Deciding when it’s time to react
  • 23. 23 Requirements-Runtime Reconciliation Development Level  Goal-based specification is elaborated  KAOS assertions that can be violated are identified – breakable assertions  KAOS specification implemented as system of cooperating agents that generate traces of breakable assertions
  • 24. 24 Requirements-Runtime Reconciliation Development Level D1 Elaborate the goal refinement graph, identify breakable assertions, and formalize into temporal pattern D2 Check for monitorability, identify monitored parameters D3 Identify reconciliation tactics (i.e., change a control parameter or switch to alternative design) D4 Translate breakable assertions into FLEA D5 Bind trace events to particular agent modules
  • 25. 25 Requirements-Runtime Reconciliation Runtime Level R1 Establish communication between state information and runtime monitor R2 Correlate FLEA event definitions with current design specification R3 Start monitoring events and looking for broken assertions
  • 26. 26 KAOS-FLEA Recap  Preserves high level goals through  Requirements-time reasoning  Event-based runtime monitoring  System self-adaption tactics  Advantages  Development artifacts intimately tied to runtime decisions  End-to-end demonstration of efficient execution  Disadvantages  Difficult ADL  Awkward integration between KAOS and FLEA layers
  • 27. 27 Methodology Comparison  Both  Elevate runtime problem resolution to requirements/design level  Employ IoC methods in choosing amongst alternatives  Self-healing, but in different ways  Statecharts  Tied to UML  Untried end-to-end, many basic questions remain  KAOS-FLEA  Tied to custom ADL and temporal logic  Solid end-to-end demonstration
  • 28. 28 The Questions (again)  Can requirements and designs be leveraged to facilitate system adaption … yet avoid emergent, inappropriate, or unpredictable behavior?  What types of requirements and designs facilitate this?  What types of runtime support facilitate this?
  • 29. 29 Bibliography 1. M. Feather, S. Fickas, A. van Lamsweerde, and C. Ponsard, Reconciling System Requirements and Runtime Behavior, Proc. IWSSD'98 - 9th International Workshop on Software Specification and Design, Isobe, IEEE CS Press, April 1998. 2. M. Rohr, M. Boskovic, S. Gieseck, and W. Hasselbring. Model-driven Development of Self- managing Software Systems. Proceedings of the Workshop ``Models@run.time'' at the 9th International Conference on Model Driven Engineering Languages and Systems (MoDELS/UML'06) 2006. Springer, 4. 3. X. Elkorobarrutia, G. Sagardui, and X Aretxandieta. A Reconfiguration Mechanism for Statechart Based Components. Proceedings of the 1st Workshop on Model-driven Software Adaptation (M-ADAPT’07 at ECOOP 2007). Berlin, Germany, 2007. 4. F. Barbier. MDE-based Design and Implementation of Autonomic Software Components. Proceedings of the 5th IEEE International Conference on Cognitive Informatics (ICCI’06). Beijing, China. July, 2006. 5. J. Kephart and D. Chess. The Vision of Autonomic Computing. IEEE Computer 36(2003). 6. G. Blair, N. Bencomo. Workshop Models@run.time. http://www.comp.lancs.ac.uk/~bencomo/MRT07. June, 2007. 7. M. Faud, D. Deb, M. Oudshoorn. Adding Self-Healing Capabilities into Legacy Object Oriented Applications. Proceedings of the International Conference on Autonomic and Autonomous Systems (ICAS). P 15. July, 2006.