Top Banner
Implementation of an Eclipse-based Model Validation Plug-in for Papyrus-RT Tuhin Kanti Das & Juergen Dingel
20

Tuhin Kanti Das & Juergen Dingel - Eclipse · 2019-12-05 · Tuhin Kanti Das & Juergen Dingel ! Goal: " Providing support for the validity of the guideline catalog ... community }

Jun 19, 2020

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: Tuhin Kanti Das & Juergen Dingel - Eclipse · 2019-12-05 · Tuhin Kanti Das & Juergen Dingel ! Goal: " Providing support for the validity of the guideline catalog ... community }

Implementation of an Eclipse-based Model Validation Plug-in for Papyrus-RT

Tuhin Kanti Das & Juergen Dingel

Page 2: Tuhin Kanti Das & Juergen Dingel - Eclipse · 2019-12-05 · Tuhin Kanti Das & Juergen Dingel ! Goal: " Providing support for the validity of the guideline catalog ... community }

!  Goal:"  Providingsupportforthevalidityoftheguidelinecatalog"  Assessingtheusefulnessofthemodelvalidator

Outline }  Background}  ResearchStages

2

}  DemoofthePrototypePlugin

AnalysisofUML-RTModels

ImplementaEonofaPrototypeModelValidator

EvaluaEon

!  Goal:Proposingasetofdesignguidelines

!  Goal:Providingtoolsupportforasuitablesetoftheproposed

Page 3: Tuhin Kanti Das & Juergen Dingel - Eclipse · 2019-12-05 · Tuhin Kanti Das & Juergen Dingel ! Goal: " Providing support for the validity of the guideline catalog ... community }

Background: UML-RT }  RealEmeprofileofUML}  Specifyandimplementreal-EmeembeddedsoJwaresystems

}  Commercialtoolsupport:IBMRoseRT,IBMRSARTE}  Open-sourcetoolsupport:Papyrus-RT

3

Page 4: Tuhin Kanti Das & Juergen Dingel - Eclipse · 2019-12-05 · Tuhin Kanti Das & Juergen Dingel ! Goal: " Providing support for the validity of the guideline catalog ... community }

Research Methodology

4

Analysisofaround100UML-RTmodelsAcademicModels IndustrialModels

•  Averagesize:•  5Capsules•  35States•  71TransiEons•  3Protocols

•  MaximumdepthofstatenesEng:4

•  MostlytelecommunicaEonmodels•  Morecomplicated•  MaximumdepthofstatenesEng:6

DevelopmentguidelinesforUML-RTmodels

DiscussionwithUML-RTpracEEoners

Page 5: Tuhin Kanti Das & Juergen Dingel - Eclipse · 2019-12-05 · Tuhin Kanti Das & Juergen Dingel ! Goal: " Providing support for the validity of the guideline catalog ... community }

AnEpaXernsPaXernsSmells

PrinciplesConvenEons

SoJwareDevelopmentGuidelines

Figure:ClassificaEonofSoJwareDevelopmentGuidelines

Page 6: Tuhin Kanti Das & Juergen Dingel - Eclipse · 2019-12-05 · Tuhin Kanti Das & Juergen Dingel ! Goal: " Providing support for the validity of the guideline catalog ... community }

Proposed Design Guidelines }  Conventions: 8 }  Patterns: 3 }  Anti-patterns: 20

6

[1]T.K.DasandJ.Dingel,"StatemachineanEpaXernsforUML-RT",ACM/IEEE18thInternaEonalConferenceonMODELS'15(2015).[2]T.K.DasandJ.Dingel,"ModeldevelopmentguidelinesforUML-RT:convenEons,paXernsandanEpaXerns",SoJwareandSystemsModeling(SoSyM)(2016).[3]T.K.DasandJ.Dingel,"ModeldevelopmentguidelinesforUML-RT",TechnicalReport2016-628,Queen'sUniversity,Canada(2016).

Page 7: Tuhin Kanti Das & Juergen Dingel - Eclipse · 2019-12-05 · Tuhin Kanti Das & Juergen Dingel ! Goal: " Providing support for the validity of the guideline catalog ... community }

Proposed Design Guidelines

}  Patterns: 3 }  Anti-patterns: 20

7

Conventions: 8 •  CancellaEonofEmersaJertheirUse•  TerminaEonofCreatedCapsulesaJerTheirUse•  RemovalofUnconnectedPorts•  RemovalofUnreachableArEfacts

ResourceUElizaEon

UML-RTTransiEons

•  ProperUseofIniEalTransiEons•  UseofInternalSelf-TransiEonsinsteadofExternal

Others

•  ConjugaEonofServer-sidePortsinaBinaryProtocol

•  ImprovingtheVisualizaEonofUML-RTDiagrams

Page 8: Tuhin Kanti Das & Juergen Dingel - Eclipse · 2019-12-05 · Tuhin Kanti Das & Juergen Dingel ! Goal: " Providing support for the validity of the guideline catalog ... community }

Proposed Design Guidelines }  Conventions: 8

}  Anti-patterns: 20

8

•  StatusMonitoringScenario•  ProperUseofSystemTimers

Behavioral

Structural

•  SeparaEonofResponsibiliEes

Patterns: 3

Page 9: Tuhin Kanti Das & Juergen Dingel - Eclipse · 2019-12-05 · Tuhin Kanti Das & Juergen Dingel ! Goal: " Providing support for the validity of the guideline catalog ... community }

Proposed Design Guidelines }  Conventions:8 }  Patterns: 3

9

Anti-patterns: 20

•  OverlappingCondiEonals•  Choice-pointwithNon-exhausEveGuards

Choice-Point(Behavior)

UML-RTTransiEons(Behavior)•  InappropriateUseofSelf-TransiEons•  MisuseofLocalTransiEons•  IncorrectUseofGroupTransiEonsInheritance(Structure/Behavior)•  AbsenceofInheritance•  PihallsofUsingPromote/DemoteOperaEonsin

UMLRTInheritanceGuardCondiEons(Behavior)•  MisuseofGuardCondiEons•  GuardsinJuncEonPointsareaffectedbyAcEon

CodeinIncomingTransiEonOthers•  IncorrectUseofAsynchronousCommunicaEon

(Behavior)•  IncorrectUseofOne-shotTimers(Behavior)•  HiddenStates(Behavior)•  InappropriateModelingScope(Structure)

InspiredbyFowler’sCodeSmells

•  RefusedBequestinUML-RT•  ExclusionofInherited

Features•  ExistenceofDataClumpsin

UML-RT•  LackofCohesion(Divergent

Change)inUML-RT•  FeatureEnvyinUML-RT•  SpeculaEveGeneralityin

UML-RT•  DuplicaEoninUML-RT

Page 10: Tuhin Kanti Das & Juergen Dingel - Eclipse · 2019-12-05 · Tuhin Kanti Das & Juergen Dingel ! Goal: " Providing support for the validity of the guideline catalog ... community }

Implementation: Unreachable States

10

Figure:UnreachableState

Notriggerexists!

Page 11: Tuhin Kanti Das & Juergen Dingel - Eclipse · 2019-12-05 · Tuhin Kanti Das & Juergen Dingel ! Goal: " Providing support for the validity of the guideline catalog ... community }

Implementation: One-shot Timer as Periodic

11

Figure:UseofOne-shotTimerasPeriodic

TwoTypesofTimersinUML-RT

}  One-shot: timer.informIn(UMLRTTimespec(2, 0)); }  Periodic: timer.informEvery(UMLRTTimespec(2, 0));

Page 12: Tuhin Kanti Das & Juergen Dingel - Eclipse · 2019-12-05 · Tuhin Kanti Das & Juergen Dingel ! Goal: " Providing support for the validity of the guideline catalog ... community }

Implementation: One-shot Timer as Periodic

12

Figure:UseofOne-shotTimerasPeriodic

Page 13: Tuhin Kanti Das & Juergen Dingel - Eclipse · 2019-12-05 · Tuhin Kanti Das & Juergen Dingel ! Goal: " Providing support for the validity of the guideline catalog ... community }

Implementation: Dependency on Requirement Specs

13

Figure:IncorrectUseofGroupTransiEon

Page 14: Tuhin Kanti Das & Juergen Dingel - Eclipse · 2019-12-05 · Tuhin Kanti Das & Juergen Dingel ! Goal: " Providing support for the validity of the guideline catalog ... community }

Implementation: Dependency on Requirement Specs

14

Figure:RefactoredSoluEonforGroupTransiEon

Page 15: Tuhin Kanti Das & Juergen Dingel - Eclipse · 2019-12-05 · Tuhin Kanti Das & Juergen Dingel ! Goal: " Providing support for the validity of the guideline catalog ... community }

Evaluation Criteria

15

}  Application of the validator in a third party model repository

}  Feedback from UML-RT practitioners }  User Study: a survey

}  Direct response: Acceptance of the guidelines among the community

}  Indirect response: Problem solving queries

Page 16: Tuhin Kanti Das & Juergen Dingel - Eclipse · 2019-12-05 · Tuhin Kanti Das & Juergen Dingel ! Goal: " Providing support for the validity of the guideline catalog ... community }

Sam

ple

Surv

ey Q

uery

: D

irect

Res

pons

e

16

Page 17: Tuhin Kanti Das & Juergen Dingel - Eclipse · 2019-12-05 · Tuhin Kanti Das & Juergen Dingel ! Goal: " Providing support for the validity of the guideline catalog ... community }

Sam

ple

Surv

ey Q

uery

: In

dire

ct R

espo

nse

17

Page 18: Tuhin Kanti Das & Juergen Dingel - Eclipse · 2019-12-05 · Tuhin Kanti Das & Juergen Dingel ! Goal: " Providing support for the validity of the guideline catalog ... community }

Please Help Evaluate the Research!

18

}  You will receive an email once the survey is online }  Approximate duration: 15-20 minutes

Page 19: Tuhin Kanti Das & Juergen Dingel - Eclipse · 2019-12-05 · Tuhin Kanti Das & Juergen Dingel ! Goal: " Providing support for the validity of the guideline catalog ... community }

Current State of the Prototype Validator

19

}  DEMO

Page 20: Tuhin Kanti Das & Juergen Dingel - Eclipse · 2019-12-05 · Tuhin Kanti Das & Juergen Dingel ! Goal: " Providing support for the validity of the guideline catalog ... community }

20

Thankyou!