Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.
1
On Modeling and Testing!
When Unpredictability Becomes the Pattern
Benoit Baudry and Benoit Combemale
(with the help and...
Triskell research group
2
Triskell team (env. 40 people)
-  8 faculty members
-  1 Research Engineer
-  ~20 PhD students
-...
3
meta-meta
OSGi
requirements
Arduino
access
control
deadline
CSU
ICSE
Kermeta
deadline
 proposal
zimbra
café?
café?
cloud...
Triskell’s Research Foundations / Topics
4
MDE
RE,
runtime
V&V
Our vision:
Aspect Oriented Model Driven Engineering
5
Distribution
Fault tolerance
Security
Functional behavior
Book
stat...
The Kermeta Language Workbench [SoSyM’13]
•  Offer a generic solution covering most model manipulation needs
•  Goals: 
• ...
The Kermeta Language Workbench [SoSyM’13]
• Modular design of DSMLs
•  One meta-language per language concern (require)
• ...
Triskell’s Software development
8
Kermeta workbench
-  Kermeta language, model typing, compiler
-  IDE
-  MDKs (e.g., KET,...
Context
9
Software
intensive
systems
Context
10
Open
environments
Heterogeneous
environments
Distributed
systems
Dynamic
systems
Software
intensive
systems
Open
environments
Heterogeneous
environments
Distributed
systems
Dynamic
systems
Software
intensive
systems
Context
11
On ...
Open
environments
Heterogeneous
environments
Distributed
systems
Dynamic
systems
Software
intensive
systems
Context
12
Whi...
Context
• Complex (Adaptive) Software-intensive Systems
• Cyber-Physical Systems,
• System of Systems, Ultra Large-scale S...
14
The vision shaped!
15
"In Yellowstone's geyser basins,
unpredictability is the pattern.
Old Faithful's relatively predicta...
Objectives of the talk
• Propose a vision for modeling and testing,
where unpredictability IS the pattern
• Explore the re...
On Modeling and Testing!
When Unpredictability Becomes the Pattern
17
Unpredictability
as a Pattern
Imposed
Unpredictabili...
Variability Management!
From SPL to DAS using MDE
Model Driven Engineering…
19
Distribution
« Service Provider
Manager »
Notification
Alternate Manager
« Recovery Block
Man...
MDE… to Support Variability @ Design Time
20
Distribution
« Service Provider
Manager »
Notification
Alternate Manager
« Re...
22"22"
Extensible*architectures*
(plugins3based)*
Configura9on*
files*
System*
Preferences*
Configurators*
Source*code*
Build...
excludes
26"
Hierarchy:"rooted"tree""
Variability:**
•  mandatory,""
•  op/onal,""
•  Groups:"exclusive"or"inclusive"features"
•  C...
27"
Hierarchy*+*Variability**
=**
set*of*valid*configura9ons*
Optional
Mandatory
Xor-Group
Or-Group
{CarEquipment,"Comfort,...
28"
Hierarchy*+*Variability**
=**
set*of*valid*configura9ons*
Optional
Mandatory
Xor-Group
Or-Group
{CarEquipment,"Comfort,...
29"
Hierarchy*+*Variability**
=**
set*of*valid*configura9ons*
Optional
Mandatory
Xor-Group
Or-Group
{CarEquipment,"Comfort,...
FAMILIAR"(FeAture"Model"scrIpt"Language"for"manIpula/on"and"Automa/c"Reasoning)""
impor9ng,*expor9ng,*composing,*decomposi...
(Orthogonal?) Variability Modeling: !
Feature Models
31"
DSL*
Variability*
model*
CVL*
Base**
model*
Generic"&""
Standardized"
resolu9on*
models*
Focused"on""
a"domain"
Execute'CV...
CVL in OMG
33
Late""2009,"Request"for""
Proposals""(RFP)"
Late""2010,"Ini/al"Submission"
September"2012"Revised"submission...
MDE… to Support Variability @ Run Time
34
Distribution
« Service Provider
Manager »
Notification
Alternate Manager
« Recov...
Example of Home-automation!
Many Different Needs 1/2
Picture(from(http://www.apt.gc.ca(
• Living(at(home(
• Motion(trouble...
• English(student(
• Living(at(home(
• He(had(an(accident(
• He(likes(technology(
• Wheelchair(equipped(with(
remote(acces...
" Software Product Lines (SPL)
Their needs
Medical/technical(staff(should(be(able(to(
• Check(their(health(state(
• Check(h...
Different variability dimensions
• Protocols
• Low-level protocols: KNX, X2D, X10, etc
• High-level protocols: http, UPnP,...
Other Domain: Tactical Information System
39
Towards more complex DDAS
• Distributed Dynamic Adaptive Software (DDAS)
development:
•  Adaptation logic often embedded i...
" Explosion of the number of possible configurations of Entimid
#  1014 possible configurations! $ 1028 transitions!
" Dyn...
• Focus on variability, not on configurations
• Build (derive) configurations when needed
•  JIT, On demand at runtime, ca...
Variability and SE
43
Component Based
Software Engineering
Dynamic Adaptation
Aspect-Oriented
Modeling
[Medvidovic et al’0...
Handling Variability with MDE
• (D)SPL approach to tame
• The combinatorial explosion of configurations
• The quadratic ex...
Big picture
Device
controllers
Light Shutter
Target
configuration
Model
@runtime
Running
system
Metamodel
EnTiMid
Picture(...
46
Architecture Metamodel
- component, port, binding, etc
- invariants
Reflection model
(source)
Woven model
(target)
Conf...
(FP7 STREP) DiVA Technical Approach
• Separate the application-specific functionality from the
adaptation concerns in requi...
%  Heterogeneity management with notion of NodeType
%  Java Node, Dalvik Node, Arduino Node, Cloud Node (Jails/*BSD, JClou...
Model@Runtime platform !
for distributed dynamic adaptive system
•  From low power
nodes…
•  Arduino
•  … to Clouds
•  EC2...
Variability vs. Heterogeneity
50
Domain
System
Variability
Domain
Domain
Domain
System
Heterogeneity
Heterogeneity Management!
On the Globalization of Modeling Languages
51
Complex Software-Intensive Systems
•  deal with multiple concerns
 require global analysis and execution
•  integrate hete...
Aerodynamics 
Authorities
Avionics
Safety
Regulations
Airlines
Propulsion
System
Mechanical
Structure
Environmental
Impact...
54
Aerodynamics 
Authorities
Avionics
Safety
Regulations
Airlines
Propulsion
System
Mechanical
Structure
Environmental
Imp...
55
MDE… to Support Heterogeneity
Distribution
« Service Provider
Manager »
Notification
Alternate Manager
« Recovery Block
Ma...
Aspect Oriented Modeling
• Separation of concerns in a model
• A concern is not necessarily cross-cutting
• Model composit...
(Naive) MDA vs. (AO) MDE
• From Transformation to Composition
•  Similar to goto vs. proper loop concept in language
•  Or...
=> Software Language Engineering
• The separation of concerns…
Modularization [Parnas72] to allow the structure of the pro...
At some point in the software lifecycle…
• Interoperable and Collaborative Models
60
The Village Metaphor
A. Vallecillo. “...
Across the software life cycle… 
• Executable, Composable and Intuitive Models (i.e.,
runware) from design to run time
 th...
Challenges
• Model Driven Engineering 

 
& Software Language Engineering
• Language relationships should be capitalized
 ...
Executable Metamodeling
• Effective environments for the design and
implementation of executable domain specific
languages ...
Models of Computation
• Effective environments to deal with the execution
and analysis of models based on heterogeneous
mo...
Heterogeneity and SE
65
Metamodeling
 Global Software Engineering
Models of 
Computation
[Schmidt'06]
[Winskel’87]
[Karsai...
On the Globalization 
of Modeling Languages!
An Initiative…
Focuses on SLE tools and methods for interoperable,
collaborative, and composable modeling languages
67
… Constantly Growing
United States
Canada
68
The GEMOC Initiative is born!
An open initiative to
• coordinate (between members)
• disseminate (on behalf the members)
w...
ANR INS GEMOC (2012-2016)
"A Language Workbench for Heterogeneous Modeling and Analysis of
Complex Software-Intensive Syst...
GlobalDSL 2013
First International Workshop on
The Globalization of Domain Specific Languages
July 2nd, 2013, Montpellier, ...
From imposed to chosen Unpredictability
72
Domain
System
Variability
Domain
Domain
Domain
System
Heterogeneity
Software di...
Software Diversification
73
N-version programming
74
version 1
version 2
version 3
version 1
version 2
version 3
input
 vote
 output
Algirdas Avizieni...
Data diversity
75
execute
P
execute
P
x
 P(x)
reexpression
y=R(x)
adjust for 
re-expression
A(P(y))
Paul Ammann, John C. K...
Instruction set randomization
76
Encryption Key
Compile
 Load
 In memory
 Execution
Decryption Key
Randomized instruction ...
Software product lines
77
X" X" Conflict"
Requires"
X"
X"
Functional Diversity
Loop perforation
• unsound transformation
• still useful
78
source
code
instrumented
binary
Compile
 In memory
 Execution
...
Test cases diversity
• In a large set of test cases
• select the ones that are most diverse
• intuition: they’re more like...
Inherent diversity
80
Just… inherent!
Software diversity
• is diverse
• moves from static to dynamic diversity
• expanding scope
•  from safety-critical systems...
Ecology and SE
82
Randomization
 Unsound transformations
SBSE
[Rinard’04]
[Misailovic’10]
[Berger’06]
[Demsky’06]
[Forrest...
DIVERSIFY
• Can the theories of biodiversity emergence
and organization support theories of software
diversification?
• Goa...
Conclusion
• Unpredictability should be a pattern in SE
• Agile ( Software Development )

vs. ( Agile Software ) Developme...
Our Vision
85
Modeling and Testing Foundations
Diversity
Heterogeneity
Variability

From Design to Runtime
Our Vision
86
Randomization
Unsound
Transformations
Meta
Modelisation
Global
SE
MoC
CBSE
Dynamic
Adaptation
AOM
SBSE
On Mo...
Contacts:
Benoit Combemale
benoit.combemale@irisa.fr
http://people.irisa.fr/Benoit.Combemale 
Benoit Baudry
benoit.baudry@...
On Modeling and Testing When Unpredictability Becomes the Pattern (April 2nd, 2013)
On Modeling and Testing When Unpredictability Becomes the Pattern (April 2nd, 2013)
On Modeling and Testing When Unpredictability Becomes the Pattern (April 2nd, 2013)
Prochain SlideShare
Chargement dans…5
×

On Modeling and Testing When Unpredictability Becomes the Pattern (April 2nd, 2013)

350 vues

Publié le

Keynote given at CIEL 2013 on April 2nd, 2013.

Publié dans : Logiciels
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

On Modeling and Testing When Unpredictability Becomes the Pattern (April 2nd, 2013)

  1. 1. 1 On Modeling and Testing! When Unpredictability Becomes the Pattern Benoit Baudry and Benoit Combemale (with the help and the slides of Mathieu Acher, Olivier Barais, Arnaud Blouin, Johann Bourcier, Jean-Marc Jézéquel, and Noël Plouzeau) Keynote at CIEL 2013, April 2nd, 2013 http://people.irisa.fr/Benoit.Combemale/ciel2013
  2. 2. Triskell research group 2 Triskell team (env. 40 people) -  8 faculty members -  1 Research Engineer -  ~20 PhD students -  ~3 Software Engineers -  ~2 Post doc
  3. 3. 3 meta-meta OSGi requirements Arduino access control deadline CSU ICSE Kermeta deadline proposal zimbra café? café? cloud NESSoS CIFRE deadline MODELS pattern process ESIR seminar SVN AOC contrat doctoral INRIA ISTIC model runtime semantics café? deadline capitalize & co. proceedings thesis meta IRISA Git MDE MDE GEMOC model Diversity ACO MDE!
  4. 4. Triskell’s Research Foundations / Topics 4 MDE RE, runtime V&V
  5. 5. Our vision: Aspect Oriented Model Driven Engineering 5 Distribution Fault tolerance Security Functional behavior Book state : String User borrow return deliver setDamaged reser ve Use case model Platform Model Design Model Code Model AOMDE = Pleonasm because a Model is an Abstraction of an Aspect of Reality for a given Purpose Change one Aspect and Automatically Re-Weave: From Software Product Lines… ..to Dynamically Adaptive Systems "DSLs are far more prevalent than anticipated" [Hutchinson et al., ICSE’11]
  6. 6. The Kermeta Language Workbench [SoSyM’13] •  Offer a generic solution covering most model manipulation needs •  Goals: •  Design of DSML: modular and safe •  Implementation of DSML: scalable, interoperable and efficient @ runtime Editors (textuals, graphicals, …) Documentation generators Test generators Simulators Analyzers Refactoring Checkers (static & dynamics) Translators Compilers Code generators Etc.
  7. 7. The Kermeta Language Workbench [SoSyM’13] • Modular design of DSMLs •  One meta-language per language concern (require) •  Ecore, OCL, Kermeta Action Language •  But also: QVTo, fUML, Alf, Ket, Xsd… •  Static introduction mechanism (aspect) • Efficient implementation of DSMLs •  Mashup of the meta-languages to efficient bytecode •  Integrated with third-party tools (EMF compliant) • Current investigations: precise metamodeling, modeling in the large, language family, multi-platforms, model comprehension…  MDE for SLE; and SLE for MDE - 7
  8. 8. Triskell’s Software development 8 Kermeta workbench -  Kermeta language, model typing, compiler -  IDE -  MDKs (e.g., KET, Kompren) Pramana, Pacogen Kompose, GEMOC (with CSU) KCVL, Kevoree IoT / IoS, cloud, requirements, security, process, home automation, software product lines, interoperability
  9. 9. Context 9 Software intensive systems
  10. 10. Context 10 Open environments Heterogeneous environments Distributed systems Dynamic systems Software intensive systems
  11. 11. Open environments Heterogeneous environments Distributed systems Dynamic systems Software intensive systems Context 11 On Modeling and Testing?
  12. 12. Open environments Heterogeneous environments Distributed systems Dynamic systems Software intensive systems Context 12 Which models? Which formalisms? Which processes? Which theories? Which experiments?
  13. 13. Context • Complex (Adaptive) Software-intensive Systems • Cyber-Physical Systems, • System of Systems, Ultra Large-scale System, • Smart City, Smart Building, Home automation, • Internet of Services, and Internet of Things…  Openness (from requirements to runtime)  The whole life cycle of systems are unpredictable!  How fit systematic “patterns” introduced by SE approaches?  Future of Modeling and Testing? 13
  14. 14. 14
  15. 15. The vision shaped! 15 "In Yellowstone's geyser basins, unpredictability is the pattern. Old Faithful's relatively predictable intervals are the exception."
  16. 16. Objectives of the talk • Propose a vision for modeling and testing, where unpredictability IS the pattern • Explore the relationships between research fields and provide an original corresponding survey • Present some of the current relative challenges, projects, initiatives, standards, etc. 16 Subjective authors' point of view * !! * No possible damage for your health 
  17. 17. On Modeling and Testing! When Unpredictability Becomes the Pattern 17 Unpredictability as a Pattern Imposed Unpredictability Heterogeneity Management Variability Management Chosen Unpredictability Software Diversification
  18. 18. Variability Management! From SPL to DAS using MDE
  19. 19. Model Driven Engineering… 19 Distribution « Service Provider Manager » Notification Alternate Manager « Recovery Block Manager » Complaint Recovery Block Manager « Service Provider Manager » Notification Manager « Service Provider Manager » Complaint Alternate Manager « Service Provider Manager » Complaint Manager « Acceptance Test Manager » Notification Acceptance Test Manager « Acceptance Test Manager » Complaint Acceptance Test Manager « Recovery Block Manager » Notification Recovery Block Manager « Client » User Citizen Manager Fault tolerance Roles Activities Views Contexts Security Functional behavior Book state : StringUser borrow return deliver setDamaged reser ve Use case model Platform Model Design Model Code Model
  20. 20. MDE… to Support Variability @ Design Time 20 Distribution « Service Provider Manager » Notification Alternate Manager « Recovery Block Manager » Complaint Recovery Block Manager « Service Provider Manager » Notification Manager « Service Provider Manager » Complaint Alternate Manager « Service Provider Manager » Complaint Manager « Acceptance Test Manager » Notification Acceptance Test Manager « Acceptance Test Manager » Complaint Acceptance Test Manager « Recovery Block Manager » Notification Recovery Block Manager « Client » User Citizen Manager Fault tolerance Roles Activities Views Contexts Security Functional behavior Book state : StringUser borrow return deliver setDamaged reser ve Use case model Platform Model Design Model Code Model
  21. 21. 22"22" Extensible*architectures* (plugins3based)* Configura9on* files* System* Preferences* Configurators* Source*code* Build*systems* Comparison*of*Product*
  22. 22. excludes
  23. 23. 26" Hierarchy:"rooted"tree"" Variability:** •  mandatory,"" •  op/onal,"" •  Groups:"exclusive"or"inclusive"features" •  Cross;tree"constraints" Optional Mandatory Xor-Group Or-Group Orthogonal*Variability*Modeling:* Feature'Models'
  24. 24. 27" Hierarchy*+*Variability** =** set*of*valid*configura9ons* Optional Mandatory Xor-Group Or-Group {CarEquipment,"Comfort,"DrivingAndSafety,"Healthing,"AirCondi/oning}" configura9on*=*set*of*features*selected* !" !" !" !" !"
  25. 25. 28" Hierarchy*+*Variability** =** set*of*valid*configura9ons* Optional Mandatory Xor-Group Or-Group {CarEquipment,"Comfort,"DrivingAndSafety,"Healthing,"AirCondi/oning,"FrontFogLights}" configura9on*=*set*of*features*selected* !" !" !" !" !" !"
  26. 26. 29" Hierarchy*+*Variability** =** set*of*valid*configura9ons* Optional Mandatory Xor-Group Or-Group {CarEquipment,"Comfort,"DrivingAndSafety,"Healthing,"AirCondi/oning," AirCondi/oningFrontAndRear,"FrontFogLights}" configura9on*=*set*of*features*selected* !" !" !" !" !" !" !"
  27. 27. FAMILIAR"(FeAture"Model"scrIpt"Language"for"manIpula/on"and"Automa/c"Reasoning)"" impor9ng,*expor9ng,*composing,*decomposing,*edi9ng,*configuring,* reverse*engineering,*compu9ng*"diffs",*refactoring,*tes9ng,** and*reasoning*about*(mul9ple)*variability*models* not, and, or, implies φTVL DIMACS hPp://familiar3project.github.com/" Mathieu"Acher,"Philippe"Collet,"Philippe"Lahire,"Robert"B."France"«"A"Domain;Specific"Language"for"Large" Scale"Management"of"Feature"Models"»"Science"of"Computer"Programming"(SCP),"2013"""
  28. 28. (Orthogonal?) Variability Modeling: ! Feature Models 31"
  29. 29. DSL* Variability* model* CVL* Base** model* Generic"&"" Standardized" resolu9on* models* Focused"on"" a"domain" Execute'CVL' ' ' Resolved** models* Descrip/on"of" possible" varia/ons"in" the"system" Domain" model"of"a" par/cular" family"of" system" Selec/on"of"a"set" of"op/ons"in"the" varia/on"model" Family"of"systems"fully" described"in"the" domain"specific" language." All"regular"DSL"tools"can" be"applied"to"these" models" Common Variability Language (CVL) 32 Realiza9on* model* Cf. http://www.omgwiki.org/variability
  30. 30. CVL in OMG 33 Late""2009,"Request"for"" Proposals""(RFP)" Late""2010,"Ini/al"Submission" September"2012"Revised"submission" Spring 2013, Finalization? JOINT*SUBMISSION*TEAM* ini9ators*from*the*MoSiS*project* research*ins9tutes*and*universi9es* tool*vendors* users*&*consultants*
  31. 31. MDE… to Support Variability @ Run Time 34 Distribution « Service Provider Manager » Notification Alternate Manager « Recovery Block Manager » Complaint Recovery Block Manager « Service Provider Manager » Notification Manager « Service Provider Manager » Complaint Alternate Manager « Service Provider Manager » Complaint Manager « Acceptance Test Manager » Notification Acceptance Test Manager « Acceptance Test Manager » Complaint Acceptance Test Manager « Recovery Block Manager » Notification Recovery Block Manager « Client » User Citizen Manager Fault tolerance Roles Activities Views Contexts Security Functional behavior Book state : StringUser borrow return deliver setDamaged reser ve Use case model Platform Model Design Model Code Model Change one Aspect and Automatically Re-Weave: From AORE, SPL to DAS
  32. 32. Example of Home-automation! Many Different Needs 1/2 Picture(from(http://www.apt.gc.ca( • Living(at(home( • Motion(troubles( • Memory(loss( • Speaks(French((only)( • Home(equiped(with(:( • LonWorks((lights)( • Velux((shutters)( Mrs. Dupont 35
  33. 33. • English(student( • Living(at(home( • He(had(an(accident( • He(likes(technology( • Wheelchair(equipped(with( remote(access(for:( • Lights(and(shutters((KNX)( • Multimedia((UPnP)( Picture(from(http://ditwww.epfl.ch( Mr. John Doe Example of Home-automation! Many Different Needs 2/2 36
  34. 34. " Software Product Lines (SPL) Their needs Medical/technical(staff(should(be(able(to( • Check(their(health(state( • Check(home(configuration((shutters,(lights,(heaters…)( Both( Mrs.(Dupont( Mr.(Doe( Some(daily(tasks(should(be( automated((motion( troubles)(or(reminded( (memory(loss).( Would(like(to(control( everything(remotely,(with( a(unified(protocol( 37
  35. 35. Different variability dimensions • Protocols • Low-level protocols: KNX, X2D, X10, etc • High-level protocols: http, UPnP, DPWS, etc • Devices • Lights, heaters, shutters, etc • Web services • GoogleAgenda, skype, WeatherForecast, MSN • PaaS: Nurse as a Service, Food Delivery, Ooshop • Adaptation to handicap/current health state • Motion, memory, perception, etc " Dynamic reconfiguration => DAS 38
  36. 36. Other Domain: Tactical Information System 39
  37. 37. Towards more complex DDAS • Distributed Dynamic Adaptive Software (DDAS) development: •  Adaptation logic often embedded into application logic •  Adaptation logic hard-coded using low-level APIs •  Readability, maintainability, and communication with other stakeholder not easy • Exponential growth of possible configurations •  Convergence with Dynamic Software Product Lines •  N features, N tending to be larger and larger •  2N potential program configurations, 2N x (2N-1) transitions 40
  38. 38. " Explosion of the number of possible configurations of Entimid #  1014 possible configurations! $ 1028 transitions! " Dynamic Adaptation #  Evolution of the handicap #  Houses should be configured remotely #  No service interruption " Reliability #  Safe migration path from a valid configuration to another valid configuration #  Performance issue (time) not critical Challenges 41
  39. 39. • Focus on variability, not on configurations • Build (derive) configurations when needed •  JIT, On demand at runtime, caching… • Validate configurations before actual adaptation • Automate the reconfiguration process Hyper-Agility with a DSPL Approach 42
  40. 40. Variability and SE 43 Component Based Software Engineering Dynamic Adaptation Aspect-Oriented Modeling [Medvidovic et al’02] [Kiczales et al’97] OSGi, Fractal,! OpenCOM, etc [France et al’04] [Rashid et al’02] [Taylor et al’09] [Garlan et al.'04] [Oreizy et al.'98] [Huebscher et al'08] [Heineman et al’01] [Crnkovic et al’02]
  41. 41. Handling Variability with MDE • (D)SPL approach to tame • The combinatorial explosion of configurations • The quadratic explosion of transitions • AOM to automatically build configuration • Runtime validation before adapting the running system • Simple roll-back • Models@Runtime to automate reconfiguration • Generation of safe reconfiguration scripts 44
  42. 42. Big picture Device controllers Light Shutter Target configuration Model @runtime Running system Metamodel EnTiMid Picture(from(http://www.apt.gc.ca( Had a flu last week $ stayed in bed $ a nurse every day Now in a better shape Derivation AOM Design-time Validation Runtime Validation Script Generator 45
  43. 43. 46 Architecture Metamodel - component, port, binding, etc - invariants Reflection model (source) Woven model (target) Conforms to Analyzer The running system adapts Strong synchronization introspection + listeners Delayed synchronization Validation Reasoning) Context info. Context model Design- models Models@runtime: ! Using MDE technology at runtime
  44. 44. (FP7 STREP) DiVA Technical Approach • Separate the application-specific functionality from the adaptation concerns in requirements: (D)SPL •  Feature Model, decorated with Quality Attributes •  Reasoner works with (context x Feature Model QA) • Associate fragments of architecture to Features •  aka advice, + where it can be woven: aka pointcut • Model driven techniques •  used to raise the level of abstraction of the model of the context •  updated with CEP •  model composition (aspect weaving) •  To compose new architectures on the fly •  Model Based Validation •  automatic generation of platform reconfiguration script 47
  45. 45. %  Heterogeneity management with notion of NodeType %  Java Node, Dalvik Node, Arduino Node, Cloud Node (Jails/*BSD, JCloud, mini- cloud, EC2) %  Component-based %  Component, Port, Channel, Node, Group, ... %  Actor semantics on each port to separate component behavior %  Communication semantics between components using channels %  Hot (re-)deploy & provisioning %  Models@Runtime in a Distributed Context %  Shared model representation for distributed nodes %  Offline & online operation, compute@Model level, apply @Runtime %  Reconfiguration using platform mecanisns, from classLoader, DLL to reflashing %  Publications %  A Dynamic Component Model for Cyber Physical Systems François Fouquet; Olivier Barais; Noël Plouzeau; Jean-Marc Jézéquel; Brice Morin; Franck Fleurey 15th Int. ACM SIGSOFT Symposium on Component Based Software Engineering, Jul 2012, Italy. %  Dissemination of reconfiguration policies on mesh networks François Fouquet; Erwan Daubert; Noël Plouzeau; Olivier Barais; Johann Bourcier; Jean-Marc Jézéquel DAIS 2012, Jun 2012, Stockholm, Sweden. 48 Model@Runtime platform ! for distributed dynamic adaptive system (kevoree.org)
  46. 46. Model@Runtime platform ! for distributed dynamic adaptive system •  From low power nodes… •  Arduino •  … to Clouds •  EC2 etc. •  DAUM platform •  Tactical Information System •  for civil security •  Sensors on firefighters, tablets, cloud… Triskell private heterogeneous cloud 49 (kevoree.org)
  47. 47. Variability vs. Heterogeneity 50 Domain System Variability Domain Domain Domain System Heterogeneity
  48. 48. Heterogeneity Management! On the Globalization of Modeling Languages 51
  49. 49. Complex Software-Intensive Systems •  deal with multiple concerns  require global analysis and execution •  integrate heterogeneous parts  require global service •  manage evolution of concerns and the emergence of new concerns  require evolution and creation of tools and methods for software development 52
  50. 50. Aerodynamics Authorities Avionics Safety Regulations Airlines Propulsion System Mechanical Structure Environmental Impact Navigation Communications Human- Machine Interaction 53
  51. 51. 54 Aerodynamics Authorities Avionics Safety Regulations Airlines Propulsion System Mechanical Structure Environmental Impact Navigation Communications Human- Machine Interaction Heterogeneous Modeling Languages
  52. 52. 55
  53. 53. MDE… to Support Heterogeneity Distribution « Service Provider Manager » Notification Alternate Manager « Recovery Block Manager » Complaint Recovery Block Manager « Service Provider Manager » Notification Manager « Service Provider Manager » Complaint Alternate Manager « Service Provider Manager » Complaint Manager « Acceptance Test Manager » Notification Acceptance Test Manager « Acceptance Test Manager » Complaint Acceptance Test Manager « Recovery Block Manager » Notification Recovery Block Manager « Client » User Citizen Manager Fault tolerance Roles Activities Views Contexts Security Functional behavior Book state : StringUser borrow return deliver setDamaged reser ve Use case model Platform Model Design Model Code Model Change one Aspect and Automatically Re-Weave: From AORE, SPL to DAS 56 AOMDE = Pleonasm because a Model is an Abstraction of an Aspect of Reality for a given Purpose
  54. 54. Aspect Oriented Modeling • Separation of concerns in a model • A concern is not necessarily cross-cutting • Model composition • Build a global view from a set of concern models • AOM is a wide domain • Captures a large variety of modeling practices • A large number of composition approaches (e.g., Kompose, ModMap, Geko, SmartAdapter@Runtime…)
  55. 55. (Naive) MDA vs. (AO) MDE • From Transformation to Composition •  Similar to goto vs. proper loop concept in language •  Or assembly language vs. high-level languages
  56. 56. => Software Language Engineering • The separation of concerns… Modularization [Parnas72] to allow the structure of the product to resemble the structure of the organization that designed it [Conway68] • … at the language level Domain-Specific (Modeling) Language (DSML) should serve to implement a solution in terms of a problem (socio-technical coordination [Herbsleb07]). • requires to manage the interactions between languages to avoid social isolation and non sharing information (as observed for example in the use of APIs [Souza04]) 59
  57. 57. At some point in the software lifecycle… • Interoperable and Collaborative Models 60 The Village Metaphor A. Vallecillo. “A Journey through the Secret Life of Models“. Dagstuhl seminar on Model Engineering of Complex Systems (MECS), Aug. 2008.
  58. 58. Across the software life cycle… • Executable, Composable and Intuitive Models (i.e., runware) from design to run time  the two-way tunnel-digging 61 The tunnel digging analogy [Harel et al., SoSyM’12]
  59. 59. Challenges • Model Driven Engineering & Software Language Engineering • Language relationships should be capitalized  from transformation to composition • Global model coordination and analysis  from design to runtime 62
  60. 60. Executable Metamodeling • Effective environments for the design and implementation of executable domain specific languages (e.g., Kermeta at Inria) • BUT these environments do not allow the integration of heterogeneous models of computation (concurrence, communication…) 63
  61. 61. Models of Computation • Effective environments to deal with the execution and analysis of models based on heterogeneous models of computation (e.g., Ptolemy at UC Berkeley, ModHel’X at Supélec) • BUT these environments do not allow adaptation to specific business/application domains 64
  62. 62. Heterogeneity and SE 65 Metamodeling Global Software Engineering Models of Computation [Schmidt'06] [Winskel’87] [Karsai’03] [Lee and Sangiovanni’98] [Eker et al.’03] [Jantsch'04] [Lédeczi'01] [Clarke'02] [Atkinson'06] [Straw’04] [Herbsleb'01] [Souza'04] [Conway’68] [Boehm’84]
  63. 63. On the Globalization of Modeling Languages!
  64. 64. An Initiative… Focuses on SLE tools and methods for interoperable, collaborative, and composable modeling languages 67
  65. 65. … Constantly Growing United States Canada 68
  66. 66. The GEMOC Initiative is born! An open initiative to • coordinate (between members) • disseminate (on behalf the members) worldwide R&D efforts on the globalization of modeling languages http://gemoc.org • Funded by complementary and successive projects • IP left to PCA of each projects 69
  67. 67. ANR INS GEMOC (2012-2016) "A Language Workbench for Heterogeneous Modeling and Analysis of Complex Software-Intensive Systems » Tools and methods for the definition and coordination of executable heterogeneous modeling languages over heterogeneous models of computation http://gemoc.org/ins
  68. 68. GlobalDSL 2013 First International Workshop on The Globalization of Domain Specific Languages July 2nd, 2013, Montpellier, France co-located with ECMFA, ECOOP and ECSA 2013 •  Topics of interest include composability, interoperability, modularity, reuse, and variability of programming/modeling languages •  Submit on Easychair before April 8, 2013! http://gemoc.org/globaldsl2013 71
  69. 69. From imposed to chosen Unpredictability 72 Domain System Variability Domain Domain Domain System Heterogeneity Software diversification to operationalize unpredictability from design to runtime
  70. 70. Software Diversification 73
  71. 71. N-version programming 74 version 1 version 2 version 3 version 1 version 2 version 3 input vote output Algirdas Avizienis: The N-Version Approach to Fault-Tolerant Software. IEEE Trans. Software Eng. 11(12): 1491-1501 (1985) Safety
  72. 72. Data diversity 75 execute P execute P x P(x) reexpression y=R(x) adjust for re-expression A(P(y)) Paul Ammann, John C. Knight: Data Diversity: An Approach to Software Fault Tolerance. IEEE Trans. Computers 37(4): 418-425 (1988) Safety
  73. 73. Instruction set randomization 76 Encryption Key Compile Load In memory Execution Decryption Key Randomized instruction set emulation! EG Barrantes, DH Ackley, S Forrest, D Stefanović! ACM Transactions on Information and System Security (TISSEC) 8 (1), 3-40 Security
  74. 74. Software product lines 77 X" X" Conflict" Requires" X" X" Functional Diversity
  75. 75. Loop perforation • unsound transformation • still useful 78 source code instrumented binary Compile In memory Execution Instrumentation running program Monitoring and perforation Sasa Misailovic, Stelios Sidiroglou, Henry Hoffmann, Martin C. Rinard Quality of service profiling. ICSE (1) 2010: 25-34 QoS
  76. 76. Test cases diversity • In a large set of test cases • select the ones that are most diverse • intuition: they’re more likely to test different parts of the program • trade-off testing cost / bug detection 79 Hadi Hemmati, Lionel C. Briand, Andrea Arcuri, Shaukat Ali: An enhanced test case selection approach for model-based testing: an industrial case study. SIGSOFT FSE 2010: 267-276 Fault Detection
  77. 77. Inherent diversity 80 Just… inherent!
  78. 78. Software diversity • is diverse • moves from static to dynamic diversity • expanding scope •  from safety-critical systems •  to open and flexible systems • but •  diversification strategy is fixed at design time •  diversity is local  From Software Diversity to Software Diversification 81
  79. 79. Ecology and SE 82 Randomization Unsound transformations SBSE [Rinard’04] [Misailovic’10] [Berger’06] [Demsky’06] [Forrest’94] [Forrest’97] [Smith’93] [Kc’03] [Barrantes05] [Hemmati’10] [Harman’07]
  80. 80. DIVERSIFY • Can the theories of biodiversity emergence and organization support theories of software diversification? • Goal: analyze and operationalize automatic software diversification • In interaction with ecologists www.diversify-project.eu 83
  81. 81. Conclusion • Unpredictability should be a pattern in SE • Agile ( Software Development ) vs. ( Agile Software ) Development • Recent work on modeling and testing are going in this way ; in particular: • Variability modeling and model composition to manage unpredictability • software diversification to operationalize unpredictability 84
  82. 82. Our Vision 85 Modeling and Testing Foundations Diversity Heterogeneity Variability From Design to Runtime
  83. 83. Our Vision 86 Randomization Unsound Transformations Meta Modelisation Global SE MoC CBSE Dynamic Adaptation AOM SBSE On Modeling and Testing When Unpredictability Is the Pattern Variability Heterogeneity Diversity
  84. 84. Contacts: Benoit Combemale benoit.combemale@irisa.fr http://people.irisa.fr/Benoit.Combemale Benoit Baudry benoit.baudry@inria.fr http://people.irisa.fr/Benoit.Baudry Open positions: SE, PhD, Post-doc

×