PIMped Papyrus - A Language Workbench for UML DSLs
The NIEM Modeling Tool project is an open source toolset built on the Eclipse 4 platform for creating standards-based information exchanges between local and national law enforcement agencies.
With the beta launch of the product this month, we take a step back to reflect on what it takes to write a graphical language workbench for a UML PIM DSL. Using Martin Fowler's criteria for defining a new DSL as the framework for this session, we will explore some of the NIEM toolset's features, and how you can use these same ideas to develop a graphical IDE for other DSLs:
- UML Stereotypes for the language syntax
- Papyrus extensions, palette, and properties customizations for the graphical editor
- QVT to generate artifacts from the abstract representation
- Lucene for indexing existing libraries for importing them into your model
- Epsilon for runtime validation
Tim Myer is an XP coach and programmer at SolutionsIQ, a leading provider of Agile transformation services, who takes a real-world approach to delivering Agile at scale.
SEARCH is dedicated to improving the quality of justice and public safety through the use, management, and exchange of information; application of new technologies; and responsible law and policy, while safeguarding security and privacy.
NIEM is a community-driven, government-wide, standards-based approach to exchanging information.