PIMped Papyrus - A Language Workbench for UML DSLs
-
date post
14-Sep-2014 -
Category
Technology
-
view
179 -
download
0
description
Transcript of PIMped Papyrus - A Language Workbench for UML DSLs
Copyright © 2014 SolutionsIQ, Inc. All rights reserved.
By: Tim Myer
PIMped PapyrusA Language Workbench For UML DSLs
Working Agreement
Electronics By
Exception
Ask Questions
Start / End on Time
Backlog
HistoryNIEM
SEARCH
JIEM
SIQ
Me
DSLs
NIEM Modelin
g
Abstract / Config
Internal /
External
Work-bench
Stereo-types
Papyrus
QVT
Lucene
PIM / PSM
Future
Gener-ator
Backlog
Who / Why
NIEM
SEARCH
JIEM
SIQ
Me
What
How
Abstract / Config
Internal /
External
Stereo-types
Papyrus
QVT
Lucene
Work-bench
PIM / PSM
Future
Gener-ator
Backlog
Doing
Done
History
DSLs
NIEM Modelin
g
National Information Exchange Model
• Approach for Information Exchange
• Local• State• National• Community-Driven• Standards-Based
NIEM
National Consortium for Justice Information and Statistics
• Facilitate information sharing• Predict, prevent, respond to and
recover from hazard type events• Protect the privacy and civil
liberties of individuals
SEARCH
• Developed by DOJ and SEARCH• Methodology• Reference Model• Modeling Tool
JIEMJustice Information Exchange Model
• EMF-based Workflow Editor
• Information Exchange Modeler
• UML Profiles
JIEMJIEM Modeling Tool
• Enterprise Agile transformation services
• Staffing• Outsourced and onsite
development• Scrum, Lean, SAFe and XP training• Release planning facilitation• Executive workshops
SIQSolutionsIQ
• Climby dude• XP coach• Programmer• Sometime WIKISPEED contributor• timezra online
MeTim Myer
Backlog
Doing
Done
History
DSLs
NIEM Modelin
g
What is a DSL?
• A limited form of language• Addresses a specific need• Has structure• Structure determines concrete
syntax
Abstract / Config
How Can We Describe It?
• External• Translated from another
language• Internal
• Subset of the host
Internal /
External
Platform Independent and Specific Models
PIM/ PSM
Projecting Editor
• Storage representation• Textual files
• Editable representation• AST• Allows errors and ambiguities
Work-bench
Making Abstractions Concrete
• Semantics of the DSL• Turn a PIM to a PSM• Turn a PSM into XSDs, MPD, IEPD,
…
Gener-ator
Backlog
Doing
Done
History
DSLs
NIEM Modelin
g
The Abstract SyntaxStereo-types
The Abstract SyntaxStereo-types
Extended ElementsStereo-types
• Package• Component• Class• Datatype• Property• Generalization• Realization• Usage• Comment
The Concrete SyntaxStereo-types
The Projecting EditorPapyrus
The Workbench PalettePapyrus
Palette DeclarationPapyrus
Palette DefinitionPapyrus
Properties View Configuration
Papyrus
Properties View Configuration
Papyrus
Properties Editor Enhancements
Papyrus
Properties View Enhancements
Papyrus
Properties View Enhancements
Papyrus
Inline Editor ConfigurationPapyrus
Inline Editor ContributionPapyrus
PIM to PSM to MPD and Back! QVT
Generators QVT
Re-using LibrariesLucene
Import IntellisenseLucene
Intellisense ConfigurationLucene
+ Papyrus
Where Do We Go Now?Future
• Move CI to Travis-CI• Automate Github releases• .MSIs and .Apps• Papyrus 1.0• NIEM 3.0• Luna• New features• More contributors
Backlog
Doing
Done
History
DSLs
NIEM Modelin
g
Evaluate This Session
Sign-in: www.eclipsecon.org
Select session from schedule
Evaluate:
1
2
3