SlideShare a Scribd company logo
1 of 41
Copyright © 2014 SolutionsIQ, Inc. All rights reserved.
By: Tim Myer
PIMped Papyrus
A Language Workbench For UML DSLs
Working Agreement
Electronics
By Exception
Ask
Questions
Start / End
on Time
Backlog
History
NIEM
SEARCH
JIEM
SIQ
Me
DSLs
NIEM
Modeling
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
Modeling
National Information Exchange Model
• Approach for Information Exchange
• Local
• State
• National
• Community-Driven
• Standards-Based
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
• Developed by DOJ and SEARCH
• Methodology
• Reference Model
• Modeling Tool
Justice Information Exchange Model
• EMF-based Workflow
Editor
• Information Exchange
Modeler
• UML Profiles
JIEM Modeling Tool
• Enterprise Agile transformation services
• Staffing
• Outsourced and onsite development
• Scrum, Lean, SAFe and XP training
• Release planning facilitation
• Executive workshops
SolutionsIQ
• Climby dude
• XP coach
• Programmer
• Sometime WIKISPEED contributor
• timezra online
Tim Myer
Backlog Doing Done
History
DSLs
NIEM
Modeling
What is a DSL?
• A limited form of language
• Addresses a specific need
• Has structure
• Structure determines concrete syntax
How Can We Describe It?
• External
• Translated from another language
• Internal
• Subset of the host
Platform Independent and Specific Models
Projecting Editor
• Storage representation
• Textual files
• Editable representation
• AST
• Allows errors and ambiguities
Making Abstractions Concrete
• Semantics of the DSL
• Turn a PIM to a PSM
• Turn a PSM into XSDs, MPD, IEPD, …
Backlog Doing Done
History
DSLs
NIEM
Modeling
The Abstract Syntax
The Abstract Syntax
Extended Elements
• Package
• Component
• Class
• Datatype
• Property
• Generalization
• Realization
• Usage
• Comment
The Concrete Syntax
The Projecting Editor
The Workbench Palette
Palette Declaration
Palette Definition
Properties View Configuration
Properties View Configuration
Properties Editor Enhancements
Properties View Enhancements
Properties View Enhancements
Inline Editor Configuration
Inline Editor Contribution
PIM to PSM to MPD and Back!
Generators
Re-using Libraries
Import Intellisense
Intellisense Configuration
Where Do We Go Now?
• 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
Modeling
Evaluate This Session
Sign-in: www.eclipsecon.org
Select session from schedule
Evaluate:
1
2
3

More Related Content

Similar to PIMped Papyrus - A Language Workbench for UML DSLs

Scim2012 q1update chrisphillips
Scim2012 q1update chrisphillipsScim2012 q1update chrisphillips
Scim2012 q1update chrisphillips
Chris Phillips
 
Netflix oss season 2 episode 1 - meetup Lightning talks
Netflix oss   season 2 episode 1 - meetup Lightning talksNetflix oss   season 2 episode 1 - meetup Lightning talks
Netflix oss season 2 episode 1 - meetup Lightning talks
Ruslan Meshenberg
 
WSO2 Intro Webinar - Simplifying Enterprise Integration with Configurable WS...
WSO2 Intro Webinar -  Simplifying Enterprise Integration with Configurable WS...WSO2 Intro Webinar -  Simplifying Enterprise Integration with Configurable WS...
WSO2 Intro Webinar - Simplifying Enterprise Integration with Configurable WS...
WSO2
 

Similar to PIMped Papyrus - A Language Workbench for UML DSLs (20)

8. Software Development Security
8. Software Development Security8. Software Development Security
8. Software Development Security
 
Node.js architecture (EN)
Node.js architecture (EN)Node.js architecture (EN)
Node.js architecture (EN)
 
Pros & Cons of Microservices Architecture
Pros & Cons of Microservices ArchitecturePros & Cons of Microservices Architecture
Pros & Cons of Microservices Architecture
 
Domain Driven Design Big Picture Strategic Patterns
Domain Driven Design Big Picture Strategic PatternsDomain Driven Design Big Picture Strategic Patterns
Domain Driven Design Big Picture Strategic Patterns
 
Data Model for Mainframe in Splunk: The Newest Feature of Ironstream
Data Model for Mainframe in Splunk: The Newest Feature of IronstreamData Model for Mainframe in Splunk: The Newest Feature of Ironstream
Data Model for Mainframe in Splunk: The Newest Feature of Ironstream
 
How Precisely and Splunk Can Help You Better Manage Your IBM Z and IBM i Envi...
How Precisely and Splunk Can Help You Better Manage Your IBM Z and IBM i Envi...How Precisely and Splunk Can Help You Better Manage Your IBM Z and IBM i Envi...
How Precisely and Splunk Can Help You Better Manage Your IBM Z and IBM i Envi...
 
8. Software Development Security
8. Software Development Security8. Software Development Security
8. Software Development Security
 
CISSP Prep: Ch 9. Software Development Security
CISSP Prep: Ch 9. Software Development SecurityCISSP Prep: Ch 9. Software Development Security
CISSP Prep: Ch 9. Software Development Security
 
Scim2012 q1update chrisphillips
Scim2012 q1update chrisphillipsScim2012 q1update chrisphillips
Scim2012 q1update chrisphillips
 
Netflix oss season 2 episode 1 - meetup Lightning talks
Netflix oss   season 2 episode 1 - meetup Lightning talksNetflix oss   season 2 episode 1 - meetup Lightning talks
Netflix oss season 2 episode 1 - meetup Lightning talks
 
Apache Geode Meetup, London
Apache Geode Meetup, LondonApache Geode Meetup, London
Apache Geode Meetup, London
 
DPDK Architecture Musings - Andy Harvey
DPDK Architecture Musings - Andy HarveyDPDK Architecture Musings - Andy Harvey
DPDK Architecture Musings - Andy Harvey
 
Migration Approaches for FDMEE
Migration Approaches for FDMEEMigration Approaches for FDMEE
Migration Approaches for FDMEE
 
Better Results. Less Work. Optimize IT with Mainframe Visibility in Splunk
Better Results. Less Work. Optimize IT with Mainframe Visibility in SplunkBetter Results. Less Work. Optimize IT with Mainframe Visibility in Splunk
Better Results. Less Work. Optimize IT with Mainframe Visibility in Splunk
 
DataOps with Project Amaterasu
DataOps with Project AmaterasuDataOps with Project Amaterasu
DataOps with Project Amaterasu
 
Learn from my Mistakes - Building Better Solutions in SPFx
Learn from my  Mistakes - Building Better Solutions in SPFxLearn from my  Mistakes - Building Better Solutions in SPFx
Learn from my Mistakes - Building Better Solutions in SPFx
 
Automating Infrastructure as a Service Deployments and monitoring – TEC213
Automating Infrastructure as a Service Deployments and monitoring – TEC213Automating Infrastructure as a Service Deployments and monitoring – TEC213
Automating Infrastructure as a Service Deployments and monitoring – TEC213
 
WSO2 Intro Webinar - Simplifying Enterprise Integration with Configurable WS...
WSO2 Intro Webinar -  Simplifying Enterprise Integration with Configurable WS...WSO2 Intro Webinar -  Simplifying Enterprise Integration with Configurable WS...
WSO2 Intro Webinar - Simplifying Enterprise Integration with Configurable WS...
 
Open, Secure & Transparent AI Pipelines
Open, Secure & Transparent AI PipelinesOpen, Secure & Transparent AI Pipelines
Open, Secure & Transparent AI Pipelines
 
Software Architecture and Architectors: useless VS valuable
Software Architecture and Architectors: useless VS valuableSoftware Architecture and Architectors: useless VS valuable
Software Architecture and Architectors: useless VS valuable
 

More from Accenture | SolutionsIQ

More from Accenture | SolutionsIQ (12)

The Product Wall Release Planning Workshop by Alan Dayley
The Product Wall Release Planning Workshop by Alan DayleyThe Product Wall Release Planning Workshop by Alan Dayley
The Product Wall Release Planning Workshop by Alan Dayley
 
The DNA of an Innovative Product Owner by Anu Smalley
The DNA of an Innovative Product Owner by Anu SmalleyThe DNA of an Innovative Product Owner by Anu Smalley
The DNA of an Innovative Product Owner by Anu Smalley
 
Who Killed Agile?
Who Killed Agile?Who Killed Agile?
Who Killed Agile?
 
Active Portfolio Management
Active Portfolio ManagementActive Portfolio Management
Active Portfolio Management
 
Lambda The Extreme: Test-Driving a Functional Language
Lambda The Extreme: Test-Driving a Functional LanguageLambda The Extreme: Test-Driving a Functional Language
Lambda The Extreme: Test-Driving a Functional Language
 
Agile2014 Briefing Deck
Agile2014 Briefing DeckAgile2014 Briefing Deck
Agile2014 Briefing Deck
 
It's OK to Fail: Creating a Safe Space to Learn from Failure
It's OK to Fail: Creating a Safe Space to Learn from FailureIt's OK to Fail: Creating a Safe Space to Learn from Failure
It's OK to Fail: Creating a Safe Space to Learn from Failure
 
Active Portfolio Management
Active Portfolio ManagementActive Portfolio Management
Active Portfolio Management
 
Fear and Loathing in Agility: Long Live the Accounting Department
Fear and Loathing in Agility: Long Live the Accounting DepartmentFear and Loathing in Agility: Long Live the Accounting Department
Fear and Loathing in Agility: Long Live the Accounting Department
 
Active portfolio management
Active portfolio managementActive portfolio management
Active portfolio management
 
Agile DevOps: Environment Automation
Agile DevOps: Environment AutomationAgile DevOps: Environment Automation
Agile DevOps: Environment Automation
 
Agile2013 Briefing Deck
Agile2013 Briefing DeckAgile2013 Briefing Deck
Agile2013 Briefing Deck
 

Recently uploaded

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Recently uploaded (20)

Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 

PIMped Papyrus - A Language Workbench for UML DSLs

Editor's Notes

  1. Formally initiated in April 2005 by the chief information officers of the U.S. Department of Homeland Security and the U.S. Department of Justice, NIEM is a community-driven, government-wide, standards-based approach to exchanging information. NIEM has issued three releases: 1.0 in 2006, 2.0 in 2007, and 2.1 in 2009. The NIEM 3.0 schemas are now available. NIEM-UML for Version 3.0 is currently in progress. (see https://www.niem.gov/aboutniem/Pages/history.aspx)
  2. SEARCH leads efforts to facilitate information sharing and communication solutions that help State, local and tribal agencies better predict, prevent, respond to and recover from criminal activity, natural disasters, terrorist and all hazard type events. SEARCH also focuses on protecting the privacy and civil liberties of individuals whose data and information is the subject of the electronic information sharing environment.(see http://www.search.org/about-search/company-background/)
  3. Developed by the U.S. Department of Justice Bureau of Justice Assistance, and SEARCH, to help jurisdictions across the country document their business information sharing requirements. (see http://www.search.org/programs/info/jiem/)
  4. (see http://www.search.org/programs/info/jiem/tool/)
  5. https://github.com/timezrahttp://timezra.blogspot.com/
  6. (see http://martinfowler.com/articles/languageWorkbench.html#DefiningANewDsl)
  7. The abstraction language and the configuration language are the same.No symbolic barrier.Tools available for the host language are available for the configuration language.(see http://martinfowler.com/articles/languageWorkbench.html#DefiningANewDsl)
  8. Sometimes a DSL can seem like a small bivy site on top of a large mountain with crevasses and seracs below.Platform Independent Model of model-driven DSLs - The problem here is that the UML is a mightily complex language. The extension mechanisms are also quite complex and it's not easy to see how they will work out in practice. It's also not clear how well tools will be able to manipulate these extensions. One particular gray area is that of generation.(see http://martinfowler.com/articles/mdaLanguageWorkbench.html)
  9. The abstraction language and the configuration language are the same.No symbolic barrier.Tools available for the host language are available for the configuration language.(see http://martinfowler.com/articles/languageWorkbench.html#DefiningANewDsl)
  10. There is no standard generation standards to define how UML diagrams get interpreted as code. As a result there's no sufficiently precise semantics for the UML. Indeed I've heard UML proponents proud to say that UML has no semantics.(see http://martinfowler.com/articles/mdaLanguageWorkbench.html)
  11. There are 4 main UML Profiles that contain our UML Stereotype declarations:NIEM_Common_Profile contains Stereotypes available in either the PIM or the PSMNIEM_PIM_Profile contains the platform independent StereotypesNIEM_PSM_Profile contains platform specific StereotypesModel_Package_Description_Profile contains Stereotypes used for packaging the emitted schemas, catalog, changelog and sample XML files.
  12. The NIEM UML abstract syntax is defined by UML Stereotypes
  13. Our vocabulary comprises a very small subset of UML elements.
  14. The Pet Adoption example comes with the NIEM UML Tooling.
  15. Papyrus provides a customizable editor and views for using UML-based DSLs.
  16. These palette contributions require no coding, only configuration.