Top Banner
Markus Völter [email protected] www.voelter.de @markusvoelter Eine Architektur-DSL zur Beschrei- bung und formalen Verifika@on eingebeAeter Systeme
95

Eine Architektur-DSL zur Beschrei- bung und formalen ...

Mar 12, 2022

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Eine Architektur-DSL zur Beschrei- bung und formalen ...

MarkusVölter [email protected]@markusvoelter

EineArchitektur-DSLzurBeschrei-bungundformalenVerifika@on

eingebeAeterSysteme

Page 2: Eine Architektur-DSL zur Beschrei- bung und formalen ...

1IndustryTrends

Page 3: Eine Architektur-DSL zur Beschrei- bung und formalen ...

Complexity

Page 4: Eine Architektur-DSL zur Beschrei- bung und formalen ...

Mass Customization

Page 5: Eine Architektur-DSL zur Beschrei- bung und formalen ...

Time To Market

Page 6: Eine Architektur-DSL zur Beschrei- bung und formalen ...

2Posi@oningand

CurrentChallenges

Page 7: Eine Architektur-DSL zur Beschrei- bung und formalen ...

Requirements+Architecture

Requirements Architecture

Itera@on1

Itera@on2

Itera@on3

Itera@onn

Specifica@on= +

...

Page 8: Eine Architektur-DSL zur Beschrei- bung und formalen ...

Requirements

SystemArchitecture

SystemDesign

So<wareArchitecture

So<wareImplementa?on

So<wareIntergra?on

ComponentIntegra?on

SystemAcceptance

SystemIntegra?on

Posi@oning

Page 9: Eine Architektur-DSL zur Beschrei- bung und formalen ...

CurrentChallengesIIntegra@onofDifferentViewpointsDifferentviewpoints/aspectsarespecifiedwithdifferenttools.Theirintegra@onintermsofreferen@alintegrity,seman@cstoolingandversioncontrolistediousanderrorprone.LeadstoWissensverlust.

UbiquituousTracingManydifferentnormsrequirethat(partsof)ar@factsaretracedtoother(p.o.)[email protected].

SuitableAbstrac@onsandNota@onsDifferentviewpoints/stakeholdersrequiredifferentabstrac@[email protected].

Page 10: Eine Architektur-DSL zur Beschrei- bung und formalen ...

CurrentChallengesII„LiveModels“Modelsmustbemorethan„just“[email protected],simula@onorderiva@onofotherar@factsareo]ennotsupported–helpsmodelsstayrelevantover@me.

ToolProduc@vityManyoftoday‘smodelingtoolsarejustpainfultouseintermsofproduc@vityandusability.Asignificantimprovementisnecessarytomakepeoplewanttousethesetools.

Extensibility/AdaptabilityTools,LanguagesandAnalysesshouldbeadaptabletothespecificneedsofdomains,projectsandorganiza@ons.

Page 11: Eine Architektur-DSL zur Beschrei- bung und formalen ...

3IETS3Approach

Page 12: Eine Architektur-DSL zur Beschrei- bung und formalen ...

IETS3ApproachIAcommon,extensibletoolplaaormSupportsIntegra@onofDifferentViewpointsbecauseallarejustlanguagesonthatsameplaaorm.AllmodelsarestoredinVCSwiththeassociateddiff/mergeworkflows.SupportsUbiquituousTracingbecausetracescanbeaAachedtoarbitrarymodelelementsandmaypointtoanotherelementortotargetsoutsidetheplaaorm.

ALanguageWorkbenchastheBasisEveryViewpointisexpressedasalanguagethatusessuitableabstrac@onsandnota@ons(text,diagrams,tables,math).ItalsosupportsmodularExtensibilityofalloftheselagbuages.New,project-specificlanguagescanbebuilt.LWBisanIDE,withprovenProduc@vityandandUsability.

Page 13: Eine Architektur-DSL zur Beschrei- bung und formalen ...

IETS3ApproachIIIncreasedFormalitySupportsdifferentdegreesofformality(non-formal,semi-formalandformallanguages).ThisisthebasisforLiveModelsintermsofanalyses,simula@[email protected]@cular,analysesareintegratedasfirstclassci@zensandincludereferen@alintegritychecks,simpleconstraints,typesystemsandformalverifica@ontools.

IncrementalityWewillsupporttheincrementalincreaseofformalitybothbetweenlanguages(textualrequirementsvs.mathema@calequa@ons)butalsowithinlanguages(dataitemname->type->constraints->overlap)tosupportthenaturalincreaseinprecisionasaspecifica@onmatures.

Page 14: Eine Architektur-DSL zur Beschrei- bung und formalen ...

UnstructuredStructuredPreciseVerifiable

Prosedocuments,e.g.inWordorExcel

Prose++,ontologies,iden@fiableparts;DOORS.

Variables,numbers,ranges,formulas,CNL

Consistentformalisms(math,logics,tables,statemachines)

ReadUnderstand?

ReferencingTracingLinks

ClearSomeChecksMeasure@RT

TypeChecksSolvingModelCheck‘g

LevelsofFormality

Page 15: Eine Architektur-DSL zur Beschrei- bung und formalen ...

Verifica@on

Constraints/TypeChecks

Analy@calSolving

Simula@on Run@meChecks

InIDELocalRatherObviousErrorsReal@meFeedbackSimpletobuild

InIDEGlobalTrickyErrorsExplitlyTriggeredHardertoBuild

InIDEorExternalToolGlobalOp@miza@onsMaytakesome@metorunExpensivetoBuild

InSystem;ReportinIDE?GlobalOp@miza@onsandErrorsLoggedduringTestsorinFieldCostinthefinalsystem

Page 16: Eine Architektur-DSL zur Beschrei- bung und formalen ...

4Enabler:

LanguageWorkbench

Page 17: Eine Architektur-DSL zur Beschrei- bung und formalen ...

Freelydefineintegrate

them

languagesand

LanguageWorkbench

(Mar@nFowler,2004)

Page 18: Eine Architektur-DSL zur Beschrei- bung und formalen ...

powerfuledi@ngtes@ng

refactoringdebugging

languagedefini@onIDEdefini@on

implies

+groupware

LanguageWorkbench

(Mar@nFowler,2004)

Page 19: Eine Architektur-DSL zur Beschrei- bung und formalen ...

supportfor„classical“programming

„classical“modeling

and+

LanguageWorkbench

(Mar@nFowler,2004)

There‘snodifference!

Page 20: Eine Architektur-DSL zur Beschrei- bung und formalen ...
Page 21: Eine Architektur-DSL zur Beschrei- bung und formalen ...

ALanguageWorkbench–atoolfordefining,composingandusingecosystemsoflanguages.

Page 22: Eine Architektur-DSL zur Beschrei- bung und formalen ...

OpenSourceApache2.0hAp://jetbrains.com/mps

Page 23: Eine Architektur-DSL zur Beschrei- bung und formalen ...

V3.3iscurrentV3.4tobereleasedSummer2016

Page 24: Eine Architektur-DSL zur Beschrei- bung und formalen ...

[LanguageWorkbench]

+ Refactorings, Find Usages, Syntax Coloring, Debugging, ...

ComprehensiveSupportformanyaspectsofLanguageDefini@on.

Page 25: Eine Architektur-DSL zur Beschrei- bung und formalen ...
Page 26: Eine Architektur-DSL zur Beschrei- bung und formalen ...
Page 27: Eine Architektur-DSL zur Beschrei- bung und formalen ...

Parsing Projec@onalEdi@ng

[Projec@onalEdi@ng]

Page 28: Eine Architektur-DSL zur Beschrei- bung und formalen ...

RegularCode/Text Mathema@cal

Tables Graphical

Syntac@cFlexibility[Projec@onalEdi@ng]

Page 29: Eine Architektur-DSL zur Beschrei- bung und formalen ...

RegularCode/Text Mathema@cal

Tables Graphical

Syntac@cFlexibility[Projec@onalEdi@ng]

Page 30: Eine Architektur-DSL zur Beschrei- bung und formalen ...

L2 L1

SeparateFiles InOneFile

TypeSystemTransforma@onConstraints

TypeSystemTransforma@onConstraintsSyntaxIDE

LanguageComposi@on[Projec@onalEdi@ng]

50+extensionstoC10+extensionstorequirementslang.

Page 31: Eine Architektur-DSL zur Beschrei- bung und formalen ...

Nochangetodefini@onofor

ModularLanguageComposi@on[Projec@onalEdi@ng]

L2L1

inordertousethemtogether.

LHost LEmb+Embedding

=LAdapt +

LBase LExt+Extension

=

LBase LExt1+

ExtensionComposi@on

=LExt2+

Page 32: Eine Architektur-DSL zur Beschrei- bung und formalen ...

4Integra@on

Tvs.L

Page 33: Eine Architektur-DSL zur Beschrei- bung und formalen ...

MPS

Requirements

ComponentArchitectures

FeatureModels

Expres-sions

Performance

Safety

Security

(UserExtensions)

High-LevelBehavior

Page 34: Eine Architektur-DSL zur Beschrei- bung und formalen ...

CoreLanguages

Page 35: Eine Architektur-DSL zur Beschrei- bung und formalen ...

AspectsofSystemModels

StructureSignaturesModularityProvides/Uses

BehaviorDataRangesCondi@onsPre/PostCondi@onsProtocolStateMachines

QoS/Non-Func.PerformanceTiming,FrequencyResourcesSecuritySafety

Page 36: Eine Architektur-DSL zur Beschrei- bung und formalen ...
Page 37: Eine Architektur-DSL zur Beschrei- bung und formalen ...

[TypicalIntegra@on]

DSL 1

Tool A

DSL 2

DSL 3

Tool B

DSL 4

Tool B

DSL 5

Page 38: Eine Architektur-DSL zur Beschrei- bung und formalen ...

[TypicalIntegra@on:Problems]

Syntax Type System Semantics

IDE Tools in general File Formats

Essential

Accid

ental Implementation Platforms

Bad or incomplete APIs Lossy/Undocumented File Formats Business Reasons

Page 39: Eine Architektur-DSL zur Beschrei- bung und formalen ...
Page 40: Eine Architektur-DSL zur Beschrei- bung und formalen ...

[Language-OrientedApplica@ons]

DSL 1

Workbench

DSL 2 DSL 3

DSL 4 DSL 5 DSL N ...

Page 41: Eine Architektur-DSL zur Beschrei- bung und formalen ...

IntegrateEveryToolintoone?Realis@c?

G

IK

AM

B

J

C

F

H

LE

D

Page 42: Eine Architektur-DSL zur Beschrei- bung und formalen ...

IntegrateEveryToolintoone?Realis@c?

G

IK

A

B

C

F

H

LE

D

J

Page 43: Eine Architektur-DSL zur Beschrei- bung und formalen ...

IntegrateEveryToolintoone?Realis@c?

A B

CDEF

G

Cohesion&CouplingAswithallotherso<ware...

Guidedby

Page 44: Eine Architektur-DSL zur Beschrei- bung und formalen ...
Page 45: Eine Architektur-DSL zur Beschrei- bung und formalen ...

5CandidateLanguages

Page 46: Eine Architektur-DSL zur Beschrei- bung und formalen ...

PossibleLanguages-Structure

Glossaries hNp://de.wikipedia.org/wiki/GlossarOntologies

hNp://de.wikipedia.org/wiki/Ontologie_%28Informa?k%29ProductBreakdownStructures

hNp://en.wikipedia.org/wiki/Product_breakdown_structureKomponentendiagramme

hNp://de.wikipedia.org/wiki/KomponentendiagrammDatenstrukturen

Page 47: Eine Architektur-DSL zur Beschrei- bung und formalen ...

PossibleLanguages–BehaviorIBoolescheRegeln

(incl.Latching,EdgeDetec?on,Zeitverzögerungen)

Mathema@scheAbstrak@onenundNota?onenmitSymbolenwieBruchstrich,Sum-SymboloderWurzelzeichen

TabellarischeWertesammlungenmitKonsistenzregelnundBeziehungen

Ablauvechreibungen/ProzessangelehntanAk?vitätsdiagramme

ZustandsmaschinenhNp://de.wikipedia.org/wiki/Zustandsdiagramm_%28UML%29

Geschä]sregelnàlaDrools

hNp://en.wikipedia.org/wiki/Drools

MessageSequenceChartshNp://de.wikipedia.org/wiki/Message_Sequence_Chart

Page 48: Eine Architektur-DSL zur Beschrei- bung und formalen ...

PossibleLanguages–BehaviorII

TimingDiagrammehNp://de.wikipedia.org/wiki/Zeitverlaufsdiagramm

ControlledNaturalLanguage

hNp://en.wikipedia.org/wiki/Controlled_natural_languageExpressiveDecisionTables

hNp://ieeexplore.ieee.org/xpl/ar?cleDetails.jsp?tp=&arnumber=6800429Parnas'Tables

hNps://cs.uwaterloo.ca/~jmatlee/talks/parnas01.pdfBDDSpezifika@onen

hNp://de.wikipedia.org/wiki/Behavior_Driven_Development

Page 49: Eine Architektur-DSL zur Beschrei- bung und formalen ...

PossibleLanguages–Non-Func@onals

Qualitäts-/SicherheitsaAributeSafetyPaAernsGoalStructuringNota@on(GSN)

hNp://www.goalstructuringnota?on.info/FailureModeandEffectsAnalysis(FMEA)

hNp://de.wikipedia.org/wiki/FMEAFaultTreeAnalysis(FTA)

hNp://en.wikipedia.org/wiki/Fault_tree_analysis

Page 50: Eine Architektur-DSL zur Beschrei- bung und formalen ...

PossibleLanguages–CrossCu{ng

FeatureModelshNp://en.wikipedia.org/wiki/Feature_model

Page 51: Eine Architektur-DSL zur Beschrei- bung und formalen ...

5aExis@ngLanguages

Page 52: Eine Architektur-DSL zur Beschrei- bung und formalen ...

Requirements

Page 53: Eine Architektur-DSL zur Beschrei- bung und formalen ...

FeatureModeling

Page 54: Eine Architektur-DSL zur Beschrei- bung und formalen ...

Func@onalExpressions

Page 55: Eine Architektur-DSL zur Beschrei- bung und formalen ...

DataModeling

Page 56: Eine Architektur-DSL zur Beschrei- bung und formalen ...

HierarchicalComponents

Page 57: Eine Architektur-DSL zur Beschrei- bung und formalen ...

PerformanceModelingI

Page 58: Eine Architektur-DSL zur Beschrei- bung und formalen ...

PerformanceModelingII

Page 59: Eine Architektur-DSL zur Beschrei- bung und formalen ...

PerformanceModelingIII

Page 60: Eine Architektur-DSL zur Beschrei- bung und formalen ...

6LessonsLearned

Page 61: Eine Architektur-DSL zur Beschrei- bung und formalen ...

WhyVersionControl

Page 62: Eine Architektur-DSL zur Beschrei- bung und formalen ...

WhyVersionControl

ConsistencyacrossTeam

Page 63: Eine Architektur-DSL zur Beschrei- bung und formalen ...

WhyVersionControl

ConsistencyacrossTeamDevelopmentHistory

Page 64: Eine Architektur-DSL zur Beschrei- bung und formalen ...

WhyVersionControl

ConsistencyacrossTeamDevelopmentHistoryTimeMachine

Page 65: Eine Architektur-DSL zur Beschrei- bung und formalen ...

WhyVersionControl

ConsistencyacrossTeamDevelopmentHistoryTimeMachineBranching(Feature,Version)

Page 66: Eine Architektur-DSL zur Beschrei- bung und formalen ...

WhyVersionControl

ConsistencyacrossTeamDevelopmentHistoryTimeMachineBranching(Feature,Version)SupportStaging

Page 67: Eine Architektur-DSL zur Beschrei- bung und formalen ...
Page 68: Eine Architektur-DSL zur Beschrei- bung und formalen ...

HowdoyouachieveConsistency

Page 69: Eine Architektur-DSL zur Beschrei- bung und formalen ...

StrictLanguageCross-ReferencesModulariza@onandReuseAutoma@cDeriva@onbasedonrules(transforma@on,genera@on)

Page 70: Eine Architektur-DSL zur Beschrei- bung und formalen ...

CommonRespositoryVersionControlSystemPeriodic,GlobalChecks/Reports

Page 71: Eine Architektur-DSL zur Beschrei- bung und formalen ...
Page 72: Eine Architektur-DSL zur Beschrei- bung und formalen ...

TheLanguageisnotEnough

Page 73: Eine Architektur-DSL zur Beschrei- bung und formalen ...

Language

GreatIDE

Analyses

Refactorings

Tes@ng

Debuggers

Abstrac@onsNota@ons

SyntaxColoringCodeComple@onGotoDefini@on

RelevantGoodErrors

AlignedwithProcesses

WriteTestsRunthem

ReportBack

AnimateExecu@onSimulators

GOOD

GREAT

Page 74: Eine Architektur-DSL zur Beschrei- bung und formalen ...
Page 75: Eine Architektur-DSL zur Beschrei- bung und formalen ...

Requirementsonthetool

Page 76: Eine Architektur-DSL zur Beschrei- bung und formalen ...

BeagreatLWB

Supportallthelanguagegoodnesswetalked

aboutsofar.

obviously

Page 77: Eine Architektur-DSL zur Beschrei- bung und formalen ...

Produc@vity

Quicklyevolvethelanguageasthe

(understandingof)domainchanges

Page 78: Eine Architektur-DSL zur Beschrei- bung und formalen ...

Performance

Nobodywantstoworkwithasluggishtool

Page 79: Eine Architektur-DSL zur Beschrei- bung und formalen ...

Scalability

Non-triviallanguagesand

significantmodelsizes

Page 80: Eine Architektur-DSL zur Beschrei- bung und formalen ...

Evolu@onSupport

Migrateexis@ngmodelsasthelanguagesevolve.

Page 81: Eine Architektur-DSL zur Beschrei- bung und formalen ...

Friendliness

Don‘toverwhelmenduserswithtoomuch„cru]“

Page 82: Eine Architektur-DSL zur Beschrei- bung und formalen ...

Explorability

Ensurethelanguagecanbeexplored

Page 83: Eine Architektur-DSL zur Beschrei- bung und formalen ...
Page 84: Eine Architektur-DSL zur Beschrei- bung und formalen ...

Doesthisscale?

Page 85: Eine Architektur-DSL zur Beschrei- bung und formalen ...

Doestheapproachscale?

Ifstructure,formaliza@on,andtoolsupportdon‘tscale,

Whatarethealterna@ves?Excel?Wikis?ProseDocuments?

thenwhatwill??

Page 86: Eine Architektur-DSL zur Beschrei- bung und formalen ...

Dothetoolsscale?Intermsofoverallsystemsize?Yes,thesystemhastobebrokendownintomodelsofmanageablesize,asusual.Thisrequiressomethought.

Intermsofteamsize?Yes,sincewerelyonestablishedversioncontrolsystems(git)todealwithgroupwareaspects;andyes,diff/mergeworksasexpected.

Intermsoflanguagecomplexity?Yes,inpar@cular,sinceyoucanmodularizethelanguagedefini@ons.

Page 87: Eine Architektur-DSL zur Beschrei- bung und formalen ...

CanIfindthepeopletodothis?

Page 88: Eine Architektur-DSL zur Beschrei- bung und formalen ...

CanIfindthepeopletodothis?Yes,butitisasignificantchange,so:-itmaybeasignificanteduca@on/trainingeffort.-afewpeoplemightnotgetit-afewpeoplemaynotwanttodoit.

Page 89: Eine Architektur-DSL zur Beschrei- bung und formalen ...

CanIfindthepeopletodothis?Yes,butitisasignificantchange,so:-itmaybeasignificanteduca@on/trainingeffort.-afewpeoplemightnotgetit-afewpeoplemaynotwanttodoit.

Page 90: Eine Architektur-DSL zur Beschrei- bung und formalen ...
Page 91: Eine Architektur-DSL zur Beschrei- bung und formalen ...

8Summary

Page 92: Eine Architektur-DSL zur Beschrei- bung und formalen ...

SystemSpecifica@onrequiresanintegratedmixofincreasingly

formallanguages.

IETS3isdevelopinganIDEbasedontheseprinciples.

Page 93: Eine Architektur-DSL zur Beschrei- bung und formalen ...

source

Page 94: Eine Architektur-DSL zur Beschrei- bung und formalen ...

[Read&Learn]

Page 95: Eine Architektur-DSL zur Beschrei- bung und formalen ...

Thank [email protected]@markusvoelter