Win Friends and Influence People... with DSLs

  • View

  • Download

Embed Size (px)


EclipseCon 2012 talk describing the use of domain specific languages in development; use of Xtext, EMF as DSL tooling. Learned lessons, impact on development process, and some best practices.


  • 1. Win Friends and Influence People...with DSLsDr. Vladimir Bacvanski vladimir.bacvanski@scispike.comLloyd Mangnall lmangnal@vha.comJoel

2. The Beginning: Common Challenges Business & Technology Rapidly Changing Aggressive new competition Broad regulatory changes Extremely Brittle & Aging Legacy Environment Silo 3rd World Hillside of Huts Architecture Extreme degree of functional & technical redundancy >1800 point-to-point integrationsppg Takes multiple years to integrate new systems Executive Mandate: No longer business as usualbusiness usual Forget changing the wheelswere changing the businto an airplane, while it s moving!!! Copyright SciSpike 2012 2 3. Your Mission, Mr. Mangnalllike I really had a choice Rapidly deploy a scalable, flexible architecture that can respondto new b business opportunities and leverage emerging dltechnologies. Key Business Drivers: i i Increase the Hit Rate of Business Innovations Reduce Time to Market Reduce Cost Respond rapidly to customer feedback R didl ttf db k Quality! Quality! Quality! Key Technical Drivers: Scalable, Supportable, Flexible Architecture Interoperable (SOA) vs Interfaced (ETL) vs. Copyright SciSpike 2012 3 4. Why Domain Specific Languages Consistently Capture Our Problem Domains Keep the level of abstraction closer to business Transition from tacit knowledge hidden in legacy code toexplicit representation in DSL Automate Transition from High-level Models to Code Apply standard transformations & patterns Facilitate ongoing adoption of emerging technologies SciSpike has been applying agile DSL development in similarscenarios this was a good match Copyright SciSpike 2012 4 5. Win Friends and Influence People? Win friends and influence business stakeholders: Solve business problems faster through fast softwaredelivery Enable new opportunities to be rapidly realized Win friends and influence developers: Use the cutting edge software technology Create a productive environment Experience making a significant contribution to the Copyright SciSpike 2012 5 6. Using Domain Specific Languages DSL provide for expressing solution in a vocabulary of theproblem domain bl d Graphical DSL UML with stereotypes or custom notation Business users are often challenged by complex graphicalnotation Complex tool development Textual DSL Better acceptance by our users Specially trained analysts Much easier tool development Copyright SciSpike 2012 6 7. Our DSL Tools: EMF and Xtext Eclipse Modeling Framework Our technology of choice forimplementing metamodels Xtext A framework for developing DSLsand supporting tooling Created tooling integrates Copyright SciSpike 2012 7 8. The CTOs Business CaseBusiness Stay Focused on Systematic Risk MitigationRiskRisk of Failure Technical Risk oImplementationI lt ti RiskAcceptanceRisk 0TimeGeneralConcept Viable Availabilitycertainty ProductViablePrototypeUnc ViableBusinessCase www.scispike.comCopyright SciSpike 2012 9. The CTOs Business Case Stay Focused on Systematic Product Quality Rework resulting from unmitigated risk is100x EXPONENTIALLY MORE COSTLY the later it isrorCost of Err discovered along the delivery lifecycle di d l th d liliflC 10x5x 2x1x1/10x 1/2xReqsDesignDevelopUnit System Accept Prod Agileg WaterfallAgile DSLwww.scispike.comCopyright SciSpike 20129 10. Traditional Agile Product Delivery Profile Focused on Systematic Risk Mitigation Business TechnologyImplementation Acceptance