Titlepage
HATS:
Highly Adaptable & Trustworthy Software Using Formal Models
Reiner H¨ ahnle Chalmers University of Technology, Gothenburg, Sweden Sophia-Antipolis, 23 October 2008
- R. H¨
ahnle HATS: Adaptable & Trustworthy Software 081023 0 / 13
HATS: Highly Adaptable & Trustworthy Software Using Formal - - PowerPoint PPT Presentation
Titlepage HATS: Highly Adaptable & Trustworthy Software Using Formal Models Reiner H ahnle Chalmers University of Technology, Gothenburg, Sweden Sophia-Antipolis, 23 October 2008 R. H ahnle HATS: Adaptable & Trustworthy
Titlepage
ahnle HATS: Adaptable & Trustworthy Software 081023 0 / 13
Basic Facts
◮ FP7 FET focused call Forever Yours ◮ Submitted 8 April 2008 ◮ Integrated Project, academically driven ◮ 8 academic partners, 2 industrial research, 1 SME ◮ 7 countries ◮ Negotiations concluded, project start 1 February or 1 March 2009 ◮ 730 PM, EC contribution 5,27 Me over 48 months
ahnle HATS: Adaptable & Trustworthy Software 081023 1 / 13
Consortium
ahnle HATS: Adaptable & Trustworthy Software 081023 2 / 13
Context
◮ Large software systems are extremely long-lived ◮ Variability: software must work in plethora of deployment scenarios ◮ Evolvability: frequent and unanticipated changes of requirements
ahnle HATS: Adaptable & Trustworthy Software 081023 3 / 13
Context
◮ Large software systems are extremely long-lived ◮ Variability: software must work in plethora of deployment scenarios ◮ Evolvability: frequent and unanticipated changes of requirements
◮ Non-functional aspects (security, resources) ever more important ◮ Challenges: product complexity, composability, concurrency ◮ Ensure and maintain intended behaviour
ahnle HATS: Adaptable & Trustworthy Software 081023 3 / 13
Context
◮ Large software systems are extremely long-lived ◮ Variability: software must work in plethora of deployment scenarios ◮ Evolvability: frequent and unanticipated changes of requirements
◮ Non-functional aspects (security, resources) ever more important ◮ Challenges: product complexity, composability, concurrency ◮ Ensure and maintain intended behaviour
ahnle HATS: Adaptable & Trustworthy Software 081023 3 / 13
Context
◮ Large software systems are extremely long-lived ◮ Variability: software must work in plethora of deployment scenarios ◮ Evolvability: frequent and unanticipated changes of requirements
◮ Non-functional aspects (security, resources) ever more important ◮ Challenges: product complexity, composability, concurrency ◮ Ensure and maintain intended behaviour
◮ Automation: far-reaching tool support is essential
ahnle HATS: Adaptable & Trustworthy Software 081023 3 / 13
Challenges
◮ Distributedness ◮ Concurrency ◮ Object-Orientation ◮ Invasive composition
◮ Many deployment scenarios ◮ Rapidly changing requirements ◮ Unanticipated requirements
◮ Correctness ◮ Security ◮ Reliability ◮ Efficiency
ahnle HATS: Adaptable & Trustworthy Software 081023 4 / 13
Gap
Gap
ahnle HATS: Adaptable & Trustworthy Software 081023 5 / 13
Solution
ahnle HATS: Adaptable & Trustworthy Software 081023 6 / 13
Solution
1
2
3
ahnle HATS: Adaptable & Trustworthy Software 081023 6 / 13
Approach
Domain Feature model Existing Formal Methods
SPEC#, JML, UML, OCL, State Diagrams, ... models models
Software Family describes variability parameter space temporal evolution spatial variability System Product System Product system derivation and customization ABS Modeling Language
ahnle HATS: Adaptable & Trustworthy Software 081023 7 / 13
Approach
Domain Feature model Existing Formal Methods
SPEC#, JML, UML, OCL, State Diagrams, ... models models
Software Family describes variability parameter space temporal evolution spatial variability System Product System Product system derivation and customization ABS Modeling Language
ahnle HATS: Adaptable & Trustworthy Software 081023 7 / 13
Methodology
ahnle HATS: Adaptable & Trustworthy Software 081023 8 / 13
Methodology
◮ Adaptability concerns drive its design ◮ Formalises successful SWPF development method ◮ Behavioral model: concurrency, composability, modularity, deployment ◮ Abstract away from programming languages, system architecture
ahnle HATS: Adaptable & Trustworthy Software 081023 8 / 13
Methodology
◮ Adaptability concerns drive its design ◮ Formalises successful SWPF development method ◮ Behavioral model: concurrency, composability, modularity, deployment ◮ Abstract away from programming languages, system architecture
ahnle HATS: Adaptable & Trustworthy Software 081023 8 / 13
Methodology
◮ Adaptability concerns drive its design ◮ Formalises successful SWPF development method ◮ Behavioral model: concurrency, composability, modularity, deployment ◮ Abstract away from programming languages, system architecture
◮ Verification exploits ABS language features ◮ Native support of variability ◮ Evolvability: incremental algorithms, code generation, specification mining
ahnle HATS: Adaptable & Trustworthy Software 081023 8 / 13
Model vs Code
Executable code ABS model and policy
1
2
◮ Policy-preserving code generators ◮ Mining ABS specifications from legacy code ◮ Compile variability of ABS model into code-level verification
ahnle HATS: Adaptable & Trustworthy Software 081023 9 / 13
Novelty
◮ First-class support (primitives) in the specification language ◮ Determines architecture and portfolio of verification methods
ahnle HATS: Adaptable & Trustworthy Software 081023 10 / 13
Novelty
◮ First-class support (primitives) in the specification language ◮ Determines architecture and portfolio of verification methods
◮ Rigorous models of software product families (SWPFs) ◮ Enable tool-supported validation for SWPF
ahnle HATS: Adaptable & Trustworthy Software 081023 10 / 13
Novelty
◮ First-class support (primitives) in the specification language ◮ Determines architecture and portfolio of verification methods
◮ Rigorous models of software product families (SWPFs) ◮ Enable tool-supported validation for SWPF
◮ Prepared to integrate unforeseen requirements ◮ Incremental — model-centric — abstract, yet behavioural
ahnle HATS: Adaptable & Trustworthy Software 081023 10 / 13
Advances
◮ Formal basis for SWPF-based development ◮ Precise behavioural specification of compositional, distributed systems ◮ Reduced cost of creating and maintaining formal specifications
◮ Verification of compositional and concurrent systems ◮ Verification of end-to-end properties: security, resources, correctness
ahnle HATS: Adaptable & Trustworthy Software 081023 11 / 13
Expected Impact
ahnle HATS: Adaptable & Trustworthy Software 081023 12 / 13
Questions
ahnle HATS: Adaptable & Trustworthy Software 081023 13 / 13
Why ABS?
◮ Formal and integrated semantics ◮ Layered architecture: simplicity, separation of concerns ◮ Executability: rapid prototyping, visualization ◮ Abstraction: underspecification, non-determinism, feature model ◮ Variation points in the behavioural interfaces of components ◮ Behavioural types (concurrency/ownership/session) ◮ Module concept for dealing with invasive composition ◮ Realistic, yet language-independent concurrency model
ahnle HATS: Adaptable & Trustworthy Software 081023 14 / 13
Why ABS?
ahnle HATS: Adaptable & Trustworthy Software 081023 15 / 13
Why ABS?
◮ The concurrency model of Creol ◮ Behavioural type systems for OO languages and concurrency ◮ Logic-based modeling of resources and security ◮ The CoBox model for modular components ◮ Verification of open, distributed systems ◮ The idea of variation points taken from SWPFs ◮ The Feature Description Language (FDL)
ahnle HATS: Adaptable & Trustworthy Software 081023 15 / 13