On ¡the ¡Need ¡for ¡Extended Transactional ¡Models@Run.Time
Presented ¡at ¡MRT ¡2015, ¡Ottawa, ¡Canada
Mahdi ¡Derakhshanmanesh1, ¡Marvin ¡Grieger2 ¡and ¡Jürgen ¡Ebert1 {manesh, ¡ebert}@uni-‑koblenz.de1 marvin.grieger@uni-‑paderborn.de2
On the Need for Extended Transactional Models@Run.Time - - PowerPoint PPT Presentation
On the Need for Extended Transactional Models@Run.Time Presented at MRT 2015, Ottawa, Canada Mahdi Derakhshanmanesh 1 , Marvin Grieger 2 and Jrgen Ebert 1 {manesh,
Presented ¡at ¡MRT ¡2015, ¡Ottawa, ¡Canada
Mahdi ¡Derakhshanmanesh1, ¡Marvin ¡Grieger2 ¡and ¡Jürgen ¡Ebert1 {manesh, ¡ebert}@uni-‑koblenz.de1 marvin.grieger@uni-‑paderborn.de2
Introduction Example ¡Issues Desired ¡Features Conclusions ¡and ¡Future ¡Work
Monday, ¡September ¡28th, ¡2015 2
Presentation ¡of ¡the ¡motivation ¡behind ¡this ¡research.
Monday, ¡September ¡28th, ¡2015 3
Monday, ¡September ¡28th, ¡2015 4
[Derakhshanmanesh2015MSC] [Amoui2012ADA]
DAC-‑PL ISA OpenJSIP JAKE2
Monday, ¡September ¡28th, ¡2015 4
[Derakhshanmanesh2015MSC] [Amoui2012ADA]
DAC-‑PL ISA OpenJSIP JAKE2
Monday, ¡September ¡28th, ¡2015 5
Call Caller Callee OpenJSIP ¡ Server Call
Monday, ¡September ¡28th, ¡2015 5
Call Caller Callee OpenJSIP ¡ Server Call
Monday, ¡September ¡28th, ¡2015 6
Monday, ¡September ¡28th, ¡2015 7
Models ¡at ¡ Runtime Adaptable ¡ Software Adaptation ¡ Manager
Monday, ¡September ¡28th, ¡2015 7
Adaptable ¡ OpenJSIP
Models ¡at ¡ Runtime Adaptable ¡ Software Adaptation ¡ Manager
Monday, ¡September ¡28th, ¡2015 7
Adaptable ¡ OpenJSIP Load ¡ Information
Models ¡at ¡ Runtime Adaptable ¡ Software Adaptation ¡ Manager
Monday, ¡September ¡28th, ¡2015 7
Adaptable ¡ OpenJSIP Load ¡ Information Accept ¡Call ¡ Behaviour Reject ¡Call ¡ Behaviour
Models ¡at ¡ Runtime Adaptable ¡ Software Adaptation ¡ Manager
Monday, ¡September ¡28th, ¡2015 7
Adaptable ¡ OpenJSIP Load ¡ Information Accept ¡Call ¡ Behaviour Reject ¡Call ¡ Behaviour
Models ¡at ¡ Runtime Adaptable ¡ Software Adaptation ¡ Manager
Accept ¡Call ¡ Adaptation ¡Rule Reject ¡Call ¡ Adaptation ¡Rule
Monday, ¡September ¡28th, ¡2015 7
Adaptable ¡ OpenJSIP Load ¡ Information Accept ¡Call ¡ Behaviour Reject ¡Call ¡ Behaviour
Models ¡at ¡ Runtime Adaptable ¡ Software Adaptation ¡ Manager
Accept ¡Call ¡ Adaptation ¡Rule Reject ¡Call ¡ Adaptation ¡Rule Rule ¡Engine
Monday, ¡September ¡28th, ¡2015 7
Adaptable ¡ OpenJSIP Load ¡ Information Accept ¡Call ¡ Behaviour Reject ¡Call ¡ Behaviour
Models ¡at ¡ Runtime Adaptable ¡ Software Adaptation ¡ Manager
Accept ¡Call ¡ Adaptation ¡Rule Reject ¡Call ¡ Adaptation ¡Rule Rule ¡Engine
Various ¡issues ¡can ¡arise ¡as ¡ the ¡model ¡is accessed ¡concurrently!
Monday, ¡September ¡28th, ¡2015 8
Monday, ¡September ¡28th, ¡2015 9
(Q1) ¡What ¡are ¡transaction-‑related ¡issues ¡to ¡be ¡aware ¡of ¡when ¡using ¡ models ¡at ¡runtime ¡(e.g., ¡to ¡build ¡SAS)?
Monday, ¡September ¡28th, ¡2015 10
Monday, ¡September ¡28th, ¡2015 11
Lost ¡Model ¡ Update Dirty ¡Model ¡ Read Unrepeatable ¡ Model ¡Read Conflicting ¡ Model ¡Update Unrepeatable ¡ Adaptation Overeager ¡ Adaptation Outdated ¡ Adaptation Missed ¡ Adaptation MRT-‑Specific ¡ Issues Adaptation-‑ Specific ¡Issues
Monday, ¡September ¡28th, ¡2015 11
Lost ¡Model ¡ Update Dirty ¡Model ¡ Read Unrepeatable ¡ Model ¡Read Conflicting ¡ Model ¡Update Unrepeatable ¡ Adaptation Overeager ¡ Adaptation Outdated ¡ Adaptation Missed ¡ Adaptation MRT-‑Specific ¡ Issues Adaptation-‑ Specific ¡Issues
Problem: ¡The ¡model, ¡based ¡on ¡which ¡the ¡adaptation ¡is ¡triggered, ¡changes ¡during ¡the ¡adaptation.
Monday, ¡September ¡28th, ¡2015 12
Problem: ¡The ¡model, ¡based ¡on ¡which ¡the ¡adaptation ¡is ¡triggered, ¡changes ¡during ¡the ¡adaptation. Example:
Monday, ¡September ¡28th, ¡2015 12
1
Problem: ¡The ¡model, ¡based ¡on ¡which ¡the ¡adaptation ¡is ¡triggered, ¡changes ¡during ¡the ¡adaptation. Example:
Monday, ¡September ¡28th, ¡2015 12
1
Problem: ¡The ¡model, ¡based ¡on ¡which ¡the ¡adaptation ¡is ¡triggered, ¡changes ¡during ¡the ¡adaptation. Example:
Monday, ¡September ¡28th, ¡2015 12
1 2
Problem: ¡The ¡model, ¡based ¡on ¡which ¡the ¡adaptation ¡is ¡triggered, ¡changes ¡during ¡the ¡adaptation. Example:
Monday, ¡September ¡28th, ¡2015 12
1 2
Problem: ¡The ¡model, ¡based ¡on ¡which ¡the ¡adaptation ¡is ¡triggered, ¡changes ¡during ¡the ¡adaptation. Example:
Monday, ¡September ¡28th, ¡2015 12
1 2 3
Problem: ¡The ¡model, ¡based ¡on ¡which ¡the ¡adaptation ¡is ¡triggered, ¡changes ¡during ¡the ¡adaptation. Example:
Monday, ¡September ¡28th, ¡2015 12
1 2 3
Problem: ¡The ¡model, ¡based ¡on ¡which ¡the ¡adaptation ¡is ¡triggered, ¡changes ¡during ¡the ¡adaptation. Example:
Monday, ¡September ¡28th, ¡2015 12
1 2 3 4
Problem: ¡The ¡model, ¡based ¡on ¡which ¡the ¡adaptation ¡is ¡triggered, ¡changes ¡during ¡the ¡adaptation. Example:
Monday, ¡September ¡28th, ¡2015 12
1 2 3 4
Problem: ¡The ¡model, ¡based ¡on ¡which ¡the ¡adaptation ¡is ¡triggered, ¡changes ¡during ¡the ¡adaptation. Example:
Monday, ¡September ¡28th, ¡2015 12
1 2 3 4 Solution ¡Idea ¡ Atomic ¡rule ¡execution
Monday, ¡September ¡28th, ¡2015 13
Problem: ¡The ¡adaptation ¡might ¡rarely ¡or ¡never ¡occur. Example: 1 2 3 4.a
Monday, ¡September ¡28th, ¡2015 13
Problem: ¡The ¡adaptation ¡might ¡rarely ¡or ¡never ¡occur. Example: 1 2 3 4.a
Monday, ¡September ¡28th, ¡2015 13
Problem: ¡The ¡adaptation ¡might ¡rarely ¡or ¡never ¡occur. Example: 1 2 3 4.a Solution ¡Idea ¡ Define ¡tolerable ¡derivations ¡ in ¡sensed ¡changes
Monday, ¡September ¡28th, ¡2015 14
Problem: ¡The ¡adaptation ¡is ¡performed ¡based ¡on ¡outdated ¡information. Example: 1 2 3 4.b
Monday, ¡September ¡28th, ¡2015 14
Problem: ¡The ¡adaptation ¡is ¡performed ¡based ¡on ¡outdated ¡information. Example: 1 2 3 4.b
Monday, ¡September ¡28th, ¡2015 14
Problem: ¡The ¡adaptation ¡is ¡performed ¡based ¡on ¡outdated ¡information. Example: 1 2 3 4.b
Monday, ¡September ¡28th, ¡2015 14
Problem: ¡The ¡adaptation ¡is ¡performed ¡based ¡on ¡outdated ¡information. Example: 1 2 3 4.b Solution ¡Idea ¡ Cancel ¡ongoing ¡adaptation
Monday, ¡September ¡28th, ¡2015 15
Problem: ¡The ¡adaptation ¡is ¡not ¡performed.
Monday, ¡September ¡28th, ¡2015 15
Problem: ¡The ¡adaptation ¡is ¡not ¡performed. Example: 1
Monday, ¡September ¡28th, ¡2015 15
Problem: ¡The ¡adaptation ¡is ¡not ¡performed. Example: 1 2
Monday, ¡September ¡28th, ¡2015 15
Problem: ¡The ¡adaptation ¡is ¡not ¡performed. Example: 1 2
Monday, ¡September ¡28th, ¡2015 15
Problem: ¡The ¡adaptation ¡is ¡not ¡performed. Example: 1 2 3
Monday, ¡September ¡28th, ¡2015 15
Problem: ¡The ¡adaptation ¡is ¡not ¡performed. Example: 1 2 3
Monday, ¡September ¡28th, ¡2015 15
Problem: ¡The ¡adaptation ¡is ¡not ¡performed. Example: 1 2 3 4
Monday, ¡September ¡28th, ¡2015 15
Problem: ¡The ¡adaptation ¡is ¡not ¡performed. Example: 1 2 3 4
Monday, ¡September ¡28th, ¡2015 15
Problem: ¡The ¡adaptation ¡is ¡not ¡performed. Example: 1 2 3 4 Solution ¡Idea ¡ Restrict ¡operations ¡to ¡ verified ¡model ¡parts ¡only
(Q2) ¡What ¡are ¡the ¡specific ¡needs ¡for ¡a ¡transaction ¡concept ¡for ¡models ¡at ¡ runtime ¡in ¡the ¡broader ¡sense?
Monday, ¡September ¡28th, ¡2015 16
Monday, ¡September ¡28th, ¡2015 17
Monday, ¡September ¡28th, ¡2015 18
Monday, ¡September ¡28th, ¡2015 18
Reliable ¡ processing
Operations ¡on ¡a ¡ model@run.time ¡ bring ¡it ¡from ¡one ¡ consistent ¡state ¡to ¡ another Sequential ¡and ¡ concurrent ¡ execution ¡of ¡
model@run.time ¡ yield ¡same ¡result
Monday, ¡September ¡28th, ¡2015 19
Monday, ¡September ¡28th, ¡2015 19
In ¡analogy ¡to ¡efforts ¡in ¡ traditional ¡reflection Accurate ¡or ¡less ¡ accurate ¡data ¡ coupling Data ¡is ¡ propagated ¡ asynchronously Kind ¡of ¡event ¡ handling
Monday, ¡September ¡28th, ¡2015 20
Monday, ¡September ¡28th, ¡2015 20
Support ¡locking ¡of ¡
model@run.time Store ¡past ¡states ¡in ¡ an ¡accessible ¡way Undo ¡operations ¡on ¡ model@run.time Support ¡for ¡recovery ¡ and ¡durability
Monday, ¡September ¡28th, ¡2015 21
Incomplete
Presentation ¡of ¡this ¡research‘s ¡summary.
Monday, ¡September ¡28th, ¡2015 22
Monday, ¡September ¡28th, ¡2015 23
Monday, ¡September ¡28th, ¡2015 24
On ¡the ¡Need ¡for ¡Extended ¡Transactional ¡Models@Run.Time
Monday, ¡September ¡28th, ¡2015 25
[Amoui2012ADA] ¡M. ¡Amoui, ¡M. ¡Derakhshanmanesh, ¡J. ¡Ebert, ¡& ¡L. ¡Tahvildari, ¡Achieving ¡Dynamic ¡ Adaptation ¡via ¡Management ¡and ¡Interpretation ¡of ¡Runtime ¡Models. ¡Journal ¡of ¡Systems ¡and ¡ Software, ¡85(12), ¡2720 ¡– ¡2737. ¡doi:10.1016/j.jss.2012.05.033, ¡2012. [Derakhshanmanesh2015MSC] ¡M. ¡Derakhshanmanesh, ¡Model-‑Integrating ¡Software ¡Components ¡
Monday, ¡September ¡28th, ¡2015 26
Presentation ¡of ¡additional ¡information.
Monday, ¡September ¡28th, ¡2015 27
Monday, ¡September ¡28th, ¡2015 28
Lost ¡Model ¡ Update Dirty ¡Model ¡ Read Unrepeatable ¡ Model ¡Read Conflicting ¡ Model ¡Update Unrepeatable ¡ Adaptation Overeager ¡ Adaptation Outdated ¡ Adaptation Missed ¡ Adaptation MRT-‑Specific ¡ Issues Adaptation-‑ Specific ¡Issues
Monday, ¡September ¡28th, ¡2015 28
Lost ¡Model ¡ Update Dirty ¡Model ¡ Read Unrepeatable ¡ Model ¡Read Conflicting ¡ Model ¡Update Unrepeatable ¡ Adaptation Overeager ¡ Adaptation Outdated ¡ Adaptation Missed ¡ Adaptation MRT-‑Specific ¡ Issues Adaptation-‑ Specific ¡Issues
Problem: ¡A ¡change ¡of ¡the ¡model ¡gets ¡lost.
Monday, ¡September ¡28th, ¡2015 29
Problem: ¡A ¡change ¡of ¡the ¡model ¡gets ¡lost. Example:
Monday, ¡September ¡28th, ¡2015 29
1
Problem: ¡A ¡change ¡of ¡the ¡model ¡gets ¡lost. Example:
Monday, ¡September ¡28th, ¡2015 29
1 2
Problem: ¡A ¡change ¡of ¡the ¡model ¡gets ¡lost. Example:
Monday, ¡September ¡28th, ¡2015 29
3 1 2
Problem: ¡A ¡change ¡of ¡the ¡model ¡gets ¡lost. Example:
Monday, ¡September ¡28th, ¡2015 29
3 4 1 2
Problem: ¡A ¡change ¡of ¡the ¡model ¡gets ¡lost. Example:
Monday, ¡September ¡28th, ¡2015 29
3 4 1 2 Solution ¡Idea ¡ Locking ¡of ¡model ¡parts
Monday, ¡September ¡28th, ¡2015 30
Problem: ¡An ¡inconsistent ¡state ¡of ¡the ¡model ¡is ¡read.
Monday, ¡September ¡28th, ¡2015 30
1 Problem: ¡An ¡inconsistent ¡state ¡of ¡the ¡model ¡is ¡read. Example:
Monday, ¡September ¡28th, ¡2015 30
1 2 Problem: ¡An ¡inconsistent ¡state ¡of ¡the ¡model ¡is ¡read. Example:
Monday, ¡September ¡28th, ¡2015 30
1 2 Problem: ¡An ¡inconsistent ¡state ¡of ¡the ¡model ¡is ¡read. Example:
Monday, ¡September ¡28th, ¡2015 30
1 2 3 Problem: ¡An ¡inconsistent ¡state ¡of ¡the ¡model ¡is ¡read. Example:
Monday, ¡September ¡28th, ¡2015 30
1 2 3 4 Problem: ¡An ¡inconsistent ¡state ¡of ¡the ¡model ¡is ¡read. Example:
Monday, ¡September ¡28th, ¡2015 30
1 2 3 4 Problem: ¡An ¡inconsistent ¡state ¡of ¡the ¡model ¡is ¡read. Example: Solution ¡Idea ¡ Isolation ¡of ¡model ¡access
Problem: ¡Two ¡subsequent ¡read ¡operations ¡yield ¡different ¡values.
Monday, ¡September ¡28th, ¡2015 31
Problem: ¡Two ¡subsequent ¡read ¡operations ¡yield ¡different ¡values. Example:
Monday, ¡September ¡28th, ¡2015 31
1
Problem: ¡Two ¡subsequent ¡read ¡operations ¡yield ¡different ¡values. Example:
Monday, ¡September ¡28th, ¡2015 31
1 2
Problem: ¡Two ¡subsequent ¡read ¡operations ¡yield ¡different ¡values. Example:
Monday, ¡September ¡28th, ¡2015 31
1 2
Problem: ¡Two ¡subsequent ¡read ¡operations ¡yield ¡different ¡values. Example:
Monday, ¡September ¡28th, ¡2015 31
1 2
Problem: ¡Two ¡subsequent ¡read ¡operations ¡yield ¡different ¡values. Example:
Monday, ¡September ¡28th, ¡2015 31
1 2 Solution ¡Idea ¡ Isolation ¡of ¡model ¡access
Problem: ¡Concurrent ¡operations ¡on ¡the ¡model ¡conflict.
Monday, ¡September ¡28th, ¡2015 32
Problem: ¡Concurrent ¡operations ¡on ¡the ¡model ¡conflict. Example:
Monday, ¡September ¡28th, ¡2015 32
1
Problem: ¡Concurrent ¡operations ¡on ¡the ¡model ¡conflict. Example:
Monday, ¡September ¡28th, ¡2015 32
1 2
Problem: ¡Concurrent ¡operations ¡on ¡the ¡model ¡conflict. Example:
Monday, ¡September ¡28th, ¡2015 32
1 2
Problem: ¡Concurrent ¡operations ¡on ¡the ¡model ¡conflict. Example:
Monday, ¡September ¡28th, ¡2015 32
1 3 2
Problem: ¡Concurrent ¡operations ¡on ¡the ¡model ¡conflict. Example:
Monday, ¡September ¡28th, ¡2015 32
1 3 2 Solution ¡Idea ¡ Conflict ¡resolution ¡strategy