eingebeaeter systeme
play

eingebeAeter Systeme Markus Vlter voelter@acm.org www.voelter.de - PowerPoint PPT Presentation

Eine Architektur-DSL zur Beschrei- bung und formalen Verifika@on eingebeAeter Systeme Markus Vlter voelter@acm.org www.voelter.de @markusvoelter 1 Industry Trends Complexity Mass Customization Time To Market 2 Posi@oning and Current


  1. Eine Architektur-DSL zur Beschrei- bung und formalen Verifika@on eingebeAeter Systeme Markus Völter voelter@acm.org www.voelter.de @markusvoelter

  2. 1 Industry Trends

  3. Complexity

  4. Mass Customization

  5. Time To Market

  6. 2 Posi@oning and Current Challenges

  7. Requirements + Architecture Specifica@on = Requirements + Architecture Itera@on 1 Itera@on 2 Itera@on 3 ... Itera@on n

  8. Posi@oning System Requirements Acceptance System System Architecture Integra?on System Component Design Integra?on So<ware So<ware Architecture Intergra?on So<ware Implementa?on

  9. Current Challenges I Integra@on of Different Viewpoints Different viewpoints/aspects are specified with different tools. Their integra@on in terms of referen@al integrity, seman@cs tooling and version control is tedious and error prone. Leads to Wissensverlust. Ubiquituous Tracing Many different norms require that (parts of) ar@facts are traced to other (p.o.) ar@facts. Ubiquituous tracing is currently not available. Suitable Abstrac@ons and Nota@ons Different viewpoints/stakeholders require different abstrac@ons and different nota@ons. Current tools cannot easily accomodate.

  10. Current Challenges II „Live Models“ Models must be more than „just“ the specifica@on. Meaningful analyses, simula@on or deriva@on of other ar@facts are o]en not supported – helps models stay relevant over @me. Tool Produc@vity Many of today‘s modeling tools are just painful to use in terms of produc@vity and usability. A significant improvement is necessary to make people want to use these tools. Extensibility/Adaptability Tools, Languages and Analyses should be adaptable to the specific needs of domains, projects and organiza@ons.

  11. 3 IETS3 Approach

  12. IETS3 Approach I A common, extensible tool plaaorm Supports Integra@on of Different Viewpoints because all are just languages on that same plaaorm. All models are stored in VCS with the associated diff/merge workflows. Supports Ubiquituous Tracing because traces can be aAached to arbitrary model elements and may point to another element or to targets outside the plaaorm. A Language Workbench as the Basis Every Viewpoint is expressed as a language that uses suitable abstrac@ons and nota@ons (text, diagrams, tables, math). It also supports modular Extensibility of all of these lagbuages. New, project-specific languages can be built. LWB is an IDE, with proven Produc@vity and and Usability.

  13. IETS3 Approach II Increased Formality Supports different degrees of formality (non-formal, semi-formal and formal languages). This is the basis for Live Models in terms of analyses, simula@on and execu@on. In par@cular, analyses are integrated as first class ci@zens and include referen@al integrity checks, simple constraints, type systems and formal verifica@on tools. Incrementality We will support the incremental increase of formality both between languages (textual requirements vs. mathema@cal equa@ons) but also within languages (data item name -> type -> constraints -> overlap) to support the natural increase in precision as a specifica@on matures.

  14. Levels of Formality Unstructured Read Prose documents, e.g. in Understand? Word or Excel Structured Prose++, ontologies, Referencing iden@fiable parts; DOORS. Tracing Links Precise Variables, numbers, Clear ranges, formulas, CNL Some Checks Measure @ RT Verifiable Consistent formalisms Type Checks (math, logics, tables, state Solving machines) Model Check‘g

  15. Verifica@on Constraints/ Analy@cal Solving Type Checks In IDE In IDE Global Local Tricky Errors Rather Obvious Errors Explitly Triggered Real@me Feedback Harder to Build Simple to build Simula@on Run@me Checks In IDE or External Tool In System; Report in IDE? Global Global Op@miza@ons Op@miza@ons and Errors May take some @me to run Logged during Tests or in Field Expensive to Build Cost in the final system

  16. 4 Enabler: Language Workbench

  17. Language Workbench (Mar@n Fowler, 2004) Freely define languages and integrate them

  18. Language Workbench (Mar@n Fowler, 2004) + powerful edi@ng tes@ng refactoring debugging groupware language defini@on implies IDE defini@on

  19. Language Workbench (Mar@n Fowler, 2004) + support for „classical“ programming and „classical“ modeling There‘s no difference!

  20. A Language Workbench – a tool for defining, composing and using ecosystems of languages.

  21. Open Source Apache 2.0 hAp://jetbrains.com/mps

  22. V 3.3 is current V 3.4 to be released Summer 2016

  23. [Language Workbench] Comprehensive Support for many aspects of Language Defini@on. + Refactorings, Find Usages, Syntax Coloring, Debugging, ...

  24. [Projec@onal Edi@ng] Parsing Projec@onal Edi@ng

  25. [Projec@onal Edi@ng] Syntac@c Flexibility Regular Code/Text Mathema@cal Tables Graphical

  26. [Projec@onal Edi@ng] Syntac@c Flexibility Regular Code/Text Mathema@cal Tables Graphical

  27. [Projec@onal Edi@ng] Language Composi@on L2 L1 Separate Files In One File Type System Type System Transforma@on Transforma@on Constraints Constraints Syntax IDE 50+ extensions to C 10+ extensions to requirements lang.

  28. [Projec@onal Edi@ng] Modular Language Composi@on No change to defini@on of or L1 L2 in order to use them together. Embedding + L Adapt + = L Emb L Host Extension = L Base L Ext + Extension Composi@on L Ext2 = L Base + + L Ext1

  29. 4 Integra@on T vs. L

  30. Performance Security Requirements Expres- Feature MPS sions Models High-Level Safety Component Behavior Architectures (User Extensions)

  31. Core Languages

  32. Aspects of System Models QoS/Non-Func. Performance Timing, Frequency Resources Security Behavior Safety Data Ranges Condi@ons Pre/Post Condi@ons Structure Protocol State Machines Signatures Modularity Provides/Uses

  33. [Typical Integra@on] Tool A Tool B Tool B DSL 1 DSL 3 DSL 4 DSL 2 DSL 5

  34. [Typical Integra@on: Problems] Syntax Essential Type System Semantics Accidental IDE Tools in general File Formats Implementation Platforms Bad or incomplete APIs Lossy/Undocumented File Formats Business Reasons

  35. [Language-Oriented Applica@ons] Workbench DSL 1 DSL 2 DSL 3 ... DSL 4 DSL 5 DSL N

  36. Integrate Every Tool into one? Realis@c? I H K G E J L F D C M A B

  37. Integrate Every Tool into one? Realis@c? I H K G E J L F D C A B

  38. Integrate Every Tool into one? Realis@c? G F CDE A B Guided by Cohesion & Coupling As with all other so<ware ...

  39. 5 Candidate Languages

  40. Possible Languages - Structure Glossaries hNp://de.wikipedia.org/wiki/Glossar Ontologies hNp://de.wikipedia.org/wiki/Ontologie_%28Informa?k%29 Product Breakdown Structures hNp://en.wikipedia.org/wiki/Product_breakdown_structure Komponentendiagramme hNp://de.wikipedia.org/wiki/Komponentendiagramm Datenstrukturen

  41. Possible Languages – Behavior I Boolesche Regeln (incl. Latching, Edge Detec?on, Zeitverzögerungen) Mathema@sche Abstrak@onen und Nota?onen mit Symbolen wie Bruchstrich, Sum-Symbol oder Wurzelzeichen Tabellarische Wertesammlungen mit Konsistenzregeln und Beziehungen Ablauvechreibungen/Prozess angelehnt an Ak?vitätsdiagramme Zustandsmaschinen hNp://de.wikipedia.org/wiki/Zustandsdiagramm_%28UML%29 Geschä]sregeln à la Drools hNp://en.wikipedia.org/wiki/Drools Message Sequence Charts hNp://de.wikipedia.org/wiki/Message_Sequence_Chart

  42. Possible Languages – Behavior II Timing Diagramme hNp://de.wikipedia.org/wiki/Zeitverlaufsdiagramm Controlled Natural Language hNp://en.wikipedia.org/wiki/Controlled_natural_language Expressive Decision Tables hNp://ieeexplore.ieee.org/xpl/ar?cleDetails.jsp?tp=&arnumber=6800429 Parnas' Tables hNps://cs.uwaterloo.ca/~jmatlee/talks/parnas01.pdf BDD Spezifika@onen hNp://de.wikipedia.org/wiki/Behavior_Driven_Development

  43. Possible Languages – Non-Func@onals Qualitäts-/SicherheitsaAribute Safety PaAerns Goal Structuring Nota@on (GSN) hNp://www.goalstructuringnota?on.info/ Failure Mode and Effects Analysis (FMEA) hNp://de.wikipedia.org/wiki/FMEA Fault Tree Analysis (FTA) hNp://en.wikipedia.org/wiki/Fault_tree_analysis

  44. Possible Languages – Cross Cu{ng Feature Models hNp://en.wikipedia.org/wiki/Feature_model

  45. 5a Exis@ng Languages

  46. Requirements

  47. Feature Modeling

  48. Func@onal Expressions

  49. Data Modeling

  50. Hierarchical Components

  51. Performance Modeling I

  52. Performance Modeling II

  53. Performance Modeling III

  54. 6 Lessons Learned

  55. Why Version Control

  56. Why Version Control Consistency across Team

  57. Why Version Control Consistency across Team Development History

  58. Why Version Control Consistency across Team Development History Time Machine

  59. Why Version Control Consistency across Team Development History Time Machine Branching (Feature, Version)

  60. Why Version Control Consistency across Team Development History Time Machine Branching (Feature, Version) Support Staging

Recommend


More recommend