MarkusVölter [email protected]@markusvoelter
EineArchitektur-DSLzurBeschrei-bungundformalenVerifika@on
eingebeAeterSysteme
Requirements+Architecture
Requirements Architecture
Itera@on1
Itera@on2
Itera@on3
Itera@onn
Specifica@on= +
...
Requirements
SystemArchitecture
SystemDesign
So<wareArchitecture
So<wareImplementa?on
So<wareIntergra?on
ComponentIntegra?on
SystemAcceptance
SystemIntegra?on
Posi@oning
CurrentChallengesIIntegra@onofDifferentViewpointsDifferentviewpoints/aspectsarespecifiedwithdifferenttools.Theirintegra@onintermsofreferen@alintegrity,seman@cstoolingandversioncontrolistediousanderrorprone.LeadstoWissensverlust.
UbiquituousTracingManydifferentnormsrequirethat(partsof)ar@factsaretracedtoother(p.o.)[email protected].
SuitableAbstrac@onsandNota@onsDifferentviewpoints/stakeholdersrequiredifferentabstrac@[email protected].
CurrentChallengesII„LiveModels“Modelsmustbemorethan„just“[email protected],simula@onorderiva@onofotherar@factsareo]ennotsupported–helpsmodelsstayrelevantover@me.
ToolProduc@vityManyoftoday‘smodelingtoolsarejustpainfultouseintermsofproduc@vityandusability.Asignificantimprovementisnecessarytomakepeoplewanttousethesetools.
Extensibility/AdaptabilityTools,LanguagesandAnalysesshouldbeadaptabletothespecificneedsofdomains,projectsandorganiza@ons.
IETS3ApproachIAcommon,extensibletoolplaaormSupportsIntegra@onofDifferentViewpointsbecauseallarejustlanguagesonthatsameplaaorm.AllmodelsarestoredinVCSwiththeassociateddiff/mergeworkflows.SupportsUbiquituousTracingbecausetracescanbeaAachedtoarbitrarymodelelementsandmaypointtoanotherelementortotargetsoutsidetheplaaorm.
ALanguageWorkbenchastheBasisEveryViewpointisexpressedasalanguagethatusessuitableabstrac@onsandnota@ons(text,diagrams,tables,math).ItalsosupportsmodularExtensibilityofalloftheselagbuages.New,project-specificlanguagescanbebuilt.LWBisanIDE,withprovenProduc@vityandandUsability.
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.
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
Verifica@on
Constraints/TypeChecks
Analy@calSolving
Simula@on Run@meChecks
InIDELocalRatherObviousErrorsReal@meFeedbackSimpletobuild
InIDEGlobalTrickyErrorsExplitlyTriggeredHardertoBuild
InIDEorExternalToolGlobalOp@miza@onsMaytakesome@metorunExpensivetoBuild
InSystem;ReportinIDE?GlobalOp@miza@onsandErrorsLoggedduringTestsorinFieldCostinthefinalsystem
powerfuledi@ngtes@ng
refactoringdebugging
languagedefini@onIDEdefini@on
implies
+groupware
LanguageWorkbench
(Mar@nFowler,2004)
supportfor„classical“programming
„classical“modeling
and+
LanguageWorkbench
(Mar@nFowler,2004)
There‘snodifference!
[LanguageWorkbench]
+ Refactorings, Find Usages, Syntax Coloring, Debugging, ...
ComprehensiveSupportformanyaspectsofLanguageDefini@on.
L2 L1
SeparateFiles InOneFile
TypeSystemTransforma@onConstraints
TypeSystemTransforma@onConstraintsSyntaxIDE
LanguageComposi@on[Projec@onalEdi@ng]
50+extensionstoC10+extensionstorequirementslang.
Nochangetodefini@onofor
ModularLanguageComposi@on[Projec@onalEdi@ng]
L2L1
inordertousethemtogether.
LHost LEmb+Embedding
=LAdapt +
LBase LExt+Extension
=
LBase LExt1+
ExtensionComposi@on
=LExt2+
MPS
Requirements
ComponentArchitectures
FeatureModels
Expres-sions
Performance
Safety
Security
(UserExtensions)
High-LevelBehavior
AspectsofSystemModels
StructureSignaturesModularityProvides/Uses
BehaviorDataRangesCondi@onsPre/PostCondi@onsProtocolStateMachines
QoS/Non-Func.PerformanceTiming,FrequencyResourcesSecuritySafety
[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
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
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
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
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
WhyVersionControl
ConsistencyacrossTeamDevelopmentHistoryTimeMachineBranching(Feature,Version)SupportStaging
StrictLanguageCross-ReferencesModulariza@onandReuseAutoma@cDeriva@onbasedonrules(transforma@on,genera@on)
Language
GreatIDE
Analyses
Refactorings
Tes@ng
Debuggers
Abstrac@onsNota@ons
SyntaxColoringCodeComple@onGotoDefini@on
RelevantGoodErrors
AlignedwithProcesses
WriteTestsRunthem
ReportBack
AnimateExecu@onSimulators
GOOD
GREAT
Doestheapproachscale?
Ifstructure,formaliza@on,andtoolsupportdon‘tscale,
Whatarethealterna@ves?Excel?Wikis?ProseDocuments?
thenwhatwill??
Dothetoolsscale?Intermsofoverallsystemsize?Yes,thesystemhastobebrokendownintomodelsofmanageablesize,asusual.Thisrequiressomethought.
Intermsofteamsize?Yes,sincewerelyonestablishedversioncontrolsystems(git)todealwithgroupwareaspects;andyes,diff/mergeworksasexpected.
Intermsoflanguagecomplexity?Yes,inpar@cular,sinceyoucanmodularizethelanguagedefini@ons.
CanIfindthepeopletodothis?Yes,butitisasignificantchange,so:-itmaybeasignificanteduca@on/trainingeffort.-afewpeoplemightnotgetit-afewpeoplemaynotwanttodoit.
CanIfindthepeopletodothis?Yes,butitisasignificantchange,so:-itmaybeasignificanteduca@on/trainingeffort.-afewpeoplemightnotgetit-afewpeoplemaynotwanttodoit.
SystemSpecifica@onrequiresanintegratedmixofincreasingly
formallanguages.
IETS3isdevelopinganIDEbasedontheseprinciples.
Thank [email protected]@markusvoelter