xtuml: current and next state of a modeling dialect
TRANSCRIPT
• Introduc)on• Background• BriefHistory• KeyPlayers• CurrentState• RelatedModelingDialects• NextState• Conclusion
Outline
• Shlaer-MellorMethod(xtUML)– subjectmaIers,separa)onofconcerns– data,control,processing– BridgePoint
• datamodeling(ObjectOrientedAnalysis(OOA))• statemachines• ac)onlanguage• interpre)veexecu)on• modelcompila)on
Background
• 1988, 1991 Shlaer-Mellor Method published by Stephen Mellor and Sally Shlaer. • 2002 Executable UML established as Shlaer-Mellor OOA using UML notation. • 2004 Commercial Corporate Proprietary Licensed. • 2013 BridgePoint xtUML Editor goes open source under Apache 2.0. • 2014 all of BridgePoint (including Verifier and model compilers) goes open source under Apache and Creative Commons. • 2015 Papyrus Industry Consortium and xtUML/BridgePoint contribution • 2015 OSS of alternate generator engine (community building) • 2016 Papyrus-xtUML (BridgePoint) Eclipse Foundation governance • 2016 OSS contributions from industry, university and individuals
History
• PapyrusPlaSorm• ac)onlanguage• persistence
– seman)cmodelpersistencemanifesto• hybridtextual/graphical• typesystem(DarwenandDate)• fUMLandAlf• roadmap:xtuml.org/xtumldayemd/
NextState
• Overview• Demo• OSSLicense• ProcessforContribu)ng• Quality• RoadMap• WelcomeContribu)ons
Papyrus-xtUML(BridgePoint)
xtUML–ExecutableTranslatableUML
Unified Modeling Language − Industry standard notation − Family of languages
“Executable UML” − Defines a method, including:
• Semantics of diagrams • Relationship between diagrams • Execution rules • Order of construction • Path to implementation
DefectRemovalthroughExecu)on(interpre)veexecu)onofpar)almodels)
We find many defects through inspection, but…
…we find the rest by testing the system.
Executable models enable early and frequent testing.
xtUMLModelingFlow
Executable Translatable
Component Diagram • Decompose the application • Define Interfaces
Class Diagram • Abstractions, associations • Operations
State Diagram • Functional
lifecycle • Event handling
Action Specification • Processing
xtUMLEditor
• Intelligentmodelentry,naviga)on• Smartac)on-languageeditors• Flexibleconfigura)onmanagement
xtUMLVerifier(Interpre)veExecu)on)• Interpre)veexecu)on• Interac)vedebugging• Anima)onofmodels• Connecttolegacy
■ Execute models before generating or writing any code — Run models immediately and incrementally — Remove defects early
xtUMLModelCompilersn Design patterns — Models of target — Templates
n Translation rules — Query — Transform (M2M) — Populate templates
n Marking — Like compiler flags — Determine which
patterns are applied to each model element • Build
– Customizetoolchainandbuildparameters– GeneratebuildscriptforCMandbatch– Exis)ngmodelcompilersforC,C++,SystemC
Details• OSSLicensing:
– Eclipse(EPL)+Apache2.0• Contribu)onProcess:
– JointhextUMLCommunitychatonSkype– RuntheDeveloperGe/ngStarted(xtuml.org/par9cipate/developers)– Selectanissue(oropenone);assignittoyourself– Dothework,includingtestanddocumenta)on– Submitapullrequest,followingEclipsegovernance
• QualityAssurance:– WriIendevelopmentprocess– Reviewsofintermediatework-products(e.g.,designnotes)– Rununittestsuite– FinalreviewandmergebycommunitycommiIer
• FutureDevelopment:– Roadmapinissuetracker(andhere:xtuml.org/xtumldayemd/)– Drivenbycustomercontractsandcommunitycontribu)ons
• Contribu)onsofpar)cularinterest:– PapyrusPlaSormMigra)on– Markingeditor