Upload
others
View
11
Download
0
Embed Size (px)
Citation preview
Implementation of an Eclipse-based Model Validation Plug-in for Papyrus-RT
Tuhin Kanti Das & Juergen Dingel
! Goal:" Providingsupportforthevalidityoftheguidelinecatalog" Assessingtheusefulnessofthemodelvalidator
Outline } Background} ResearchStages
2
} DemoofthePrototypePlugin
AnalysisofUML-RTModels
ImplementaEonofaPrototypeModelValidator
EvaluaEon
! Goal:Proposingasetofdesignguidelines
! Goal:Providingtoolsupportforasuitablesetoftheproposed
Background: UML-RT } RealEmeprofileofUML} Specifyandimplementreal-EmeembeddedsoJwaresystems
} Commercialtoolsupport:IBMRoseRT,IBMRSARTE} Open-sourcetoolsupport:Papyrus-RT
3
Research Methodology
4
Analysisofaround100UML-RTmodelsAcademicModels IndustrialModels
• Averagesize:• 5Capsules• 35States• 71TransiEons• 3Protocols
• MaximumdepthofstatenesEng:4
• MostlytelecommunicaEonmodels• Morecomplicated• MaximumdepthofstatenesEng:6
DevelopmentguidelinesforUML-RTmodels
DiscussionwithUML-RTpracEEoners
AnEpaXernsPaXernsSmells
PrinciplesConvenEons
SoJwareDevelopmentGuidelines
Figure:ClassificaEonofSoJwareDevelopmentGuidelines
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).
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
Proposed Design Guidelines } Conventions: 8
} Anti-patterns: 20
8
• StatusMonitoringScenario• ProperUseofSystemTimers
Behavioral
Structural
• SeparaEonofResponsibiliEes
Patterns: 3
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
Implementation: Unreachable States
10
Figure:UnreachableState
Notriggerexists!
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));
Implementation: One-shot Timer as Periodic
12
Figure:UseofOne-shotTimerasPeriodic
Implementation: Dependency on Requirement Specs
13
Figure:IncorrectUseofGroupTransiEon
Implementation: Dependency on Requirement Specs
14
Figure:RefactoredSoluEonforGroupTransiEon
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
Sam
ple
Surv
ey Q
uery
: D
irect
Res
pons
e
16
Sam
ple
Surv
ey Q
uery
: In
dire
ct R
espo
nse
17
Please Help Evaluate the Research!
18
} You will receive an email once the survey is online } Approximate duration: 15-20 minutes
Current State of the Prototype Validator
19
} DEMO
20
Thankyou!