Automated Transformation of Statements Within Evolving Domain Specific Languages Peter Bell CEO/CTO, SystemsForge 7th OOPSLA Workshop on Domain-Specific.

Slides:



Advertisements
Similar presentations
Data Evolution in conjunction with Domain Specific Languages Intermediate Presentation Guido Smeets.
Advertisements

Business Development Suit Presented by Thomas Mathews.
Brief History of OA Framework How did OA Framework Evolve Why did OA Framework Evolve Why is it still evolving Changes in Fusion.
Elevator Simulator DSL Project Presented by Miguel Garzón and Stéphane Leblanc 1.
DSLs: The Good, the Bad, and the Ugly Kathleen Fisher AT&T Labs Research.
Ivan Towlson Mindscape.  What are DSLs and why should I care?  What are the Visual Studio DSL Tools?  Building a DSL  Vocabulary and grammar  Spiffing.
DSM Workshop, October 22 OOPSLA 2006 Model-Based Workflows Leonardo Salayandía University of Texas at El Paso.
1 CSL Workshop, October 13-14, 2005 ESDI Workshop on Conceptual Schema Language and Tools - Aim, Scope, and Issues to be Addressed Anders Friis-Christensen,
Building Enterprise Applications Using Visual Studio ®.NET Enterprise Architect.
Automated Analysis and Code Generation for Domain-Specific Models George Edwards Center for Systems and Software Engineering University of Southern California.
Design Patterns for Metamodel Design Domain-Specific Modeling Workshop Portland, Oregon October 23, 2011 Hyun Cho and Jeff Gray University of Alabama Department.
Software Factory Assembling Applications with Models, Patterns, Frameworks and Tools Anna Liu Senior Architect Advisor Microsoft Australia.
LHCbPR V2 Sasha Mazurov, Amine Ben Hammou, Ben Couturier 5th LHCb Computing Workshop
Mining Metamodels From Instance Models: The MARS System Faizan Javed Department of Computer & Information Sciences, University of Alabama at Birmingham.
IBM Software Group © 2005 IBM Corporation University of Nantes Eclipse dayMarch 2005 The Eclipse Modeling Framework and the IBM Model Transformation Framework.
Domain specific languages for Business Process Management: a Case Study Janis Barzdins, Karlis Cerans, Mikus Grasmanis, Audris Kalnins, Sergejs Kozlovics,
Spectra Software Defined Radio Products Applying Model Driven Design, Generative Programming, and Agile Software Techniques to the SDR Domain OOPSLA '05.
A Practical High Volume Software Product Line Peter Bell CEO/CTO SystemsForge ooPLSA ‘07 Peter Bell CEO/CTO SystemsForge ooPLSA ‘07.
Lesley Bross, August 29, 2010 ArcGIS 10 add-in glossary.
Yu SunUniversity of Alabama at Birmingham PAR Works Jeff Gray University of Alabama Montpellier, France July 3rd, 2013 This research is supported.
March 12 & 13, 2007 Practical Code Generation Peter Bell SystemsForge.
Introduction to MDA (Model Driven Architecture) CYT.
A REFACTORING TOOL FOR DESIGN PATTERNS WITH MODEL TRANSFORMATIONS Zekai Demirezen Yasemin Topaloğlu Ege University Department of Computer Engineering
Tools for Diagrammatic Specifications Stian Skjerveggen Supervisors: Yngve Lamo, Adrian Rutle, Uwe Egbert Wolter.
Integrated Development Environment for Policies Anjali B Shah Department of Computer Science and Electrical Engineering University of Maryland Baltimore.
Life cycle Application Generation Peter Bell Chief Technology Officer SystemsForge Peter Bell Chief Technology Officer SystemsForge.
OOPSLA workshop on Domain-Specific Modeling (DSM’03) 1 Jeff Gray - Jonathan Sprinkle - David Oglesby - Stuart Kent - Kerry Raymond - Jean Bezivin - Paulo.
Workshop 16: An upward shift in abstraction leads to a corresponding increase in productivity. In the past this has occurred when programming languages.
METACASE. WHAT THIS PRESENTATION IS ABOUT  What’s META MODELING?  What’s METACASE?  METAEDIT+ 5.1 EVALUTION PROGRAM  Diagram and its kinds.
Reviewing Recent ICSE Proceedings For:.  Defining and Continuous Checking of Structural Program Dependencies  Automatic Inference of Structural Changes.
AUTOMATION OF WEB-FORM CREATION - KINNERA ANGADI – MS FINAL DEFENSE GUIDANCE BY – DR. DANIEL ANDRESEN.
Domain-Specific Development Stuart Kent, Senior Program Manager, DSL Tools, Visual Studio Team System, Microsoft.
11 CORE Architecture Mauro Bruno, Monica Scannapieco, Carlo Vaccari, Giulia Vaste Antonino Virgillito, Diego Zardetto (Istat)
6 th OOPSLA Workshop on Domain-Specific Modeling /10/221 The Practice of Deploying DSM Report from a Japanese Appliance Maker Trenches
1 © 1999 Microsoft Corp.. Microsoft Repository Phil Bernstein Microsoft Corp.
INRIA - LaBRICharles Consel Jan-06 1 Domain-Specific Software Engineering Charles Consel Phoenix Research Group LaBRI /INRIA-Futurs January 2006.
DSL Classification October 21-22, 2007 Benoît Langlois / Thales-EPM Consuela-Elena Jitia / Eric Jouenne, Thales Research & Technology The 7th OOPSLA Workshop.
Roles in Software Development using Domain Specific Modelling Languages Holger Krahn, Bernhard Rumpe, Steven Völkel Software Systems Engineering Technische.
1 24 October 2004 Vancouver, Canada The 4th OOPSLA Workshop on Domain-Specific Modeling Group reports.
CaDSR Software Users Meeting 3.1 Requirements Review 9/19/2005 caDSR Software Team Host: Denise Warzel NCICB, Assistant Director, caDSR.
1 Partial Domain Specific Models Jos WarmerOrdina Anneke KleppeUniversity of Twente OOPSLA Workshop on Domain Specific Modeling,
ModelPedia Model Driven Engineering Graphical User Interfaces for Web 2.0 Sites Centro de Informática – CIn/UFPe ORCAS Group Eclipse GMF Fábio M. Pereira.
Software Product Lines Peter Bell CEO/CTO, SystemsForge cf.Objective() 2008 Peter Bell CEO/CTO, SystemsForge cf.Objective() 2008.
Rahul Garg National Technology Specialist Microsoft Australia SOA303.
EMEA Beat Schwegler Architect Microsoft EMEA HQ Ingo Rammer Principal Consultant thinktecture
® A Proposed UML Profile For EXPRESS David Price Seattle ISO STEP Meeting October 2004.
OOPSLA workshop on Domain-Specific Visual Languages 1 Juha-Pekka Tolvanen, Steven Kelly, Jeff Gray, Kalle Lyytinen.
February 8, 2006copyright Thomas Pole , all rights reserved 1 Lecture 3: Reusable Software Packaging: Source Code and Text Chapter 2: Dealing.
Adxstudio Portals Training
DS(M)Ls for End-Users and Domain Experts? Panel on Creating DSLs Models in Software Engineering Workshop Zurich, Switzerland June 3, 2012 Jeff Gray University.
RAD OO Web Maniacs 2008 Peter Bell SystemsForge Peter Bell SystemsForge.
Business Data Integration with MOSS 2007 Naveedullah Khan PMP, MCAD.NET Senior Consultant.
George Edwards Computer Science Department Center for Systems and Software Engineering University of Southern California
1 Model Driven Health Tools Design and Implementation of CDA Templates Dave Carlson Contractor to CHIO
XML 2002 Annotation Management in an XML CMS A Case Study.
Application generation Peter Bell SystemsForge Peter Bell SystemsForge Beyond Scaffolding.
Building Enterprise Applications Using Visual Studio®
What’s New in SQL Server 2016 Master Data Services
Content Management Systems
Populating a Data Warehouse
The Re3gistry software and the INSPIRE Registry
Populating a Data Warehouse
Populating a Data Warehouse
Evaluating Compuware OptimalJ as an MDA tool
Data Model.
OOPSLA Workshop on Domain-Specific Modeling Tools Workgroup
Execute your Processes
Automated Analysis and Code Generation for Domain-Specific Models
MS Confidential : SharePoint 2010 Developer Workshop (Beta1)
Juha-Pekka Tolvanen MetaCase
Presentation transcript:

Automated Transformation of Statements Within Evolving Domain Specific Languages Peter Bell CEO/CTO, SystemsForge 7th OOPSLA Workshop on Domain-Specific Modeling (DSM’07) - October 2007 Peter Bell CEO/CTO, SystemsForge 7th OOPSLA Workshop on Domain-Specific Modeling (DSM’07) - October 2007

Agile DSM Background Problem Research Proposed solution (work in progress) Conclusions

Background Generate custom web applications Feature modeler Decision support Horizontal DSLs Extensible framework

The Problem Lots of metadata (100,000’s statements) Evolving understanding How upgrade statements as grammars evolves? Single meta-modeler Web UI for modelers (bootstrapped) Single, evolving version of DSLs Automatically evolve statements - not grammars

Ideal Workflow “We need to change X... ” Describe grammatical transformation Update framework/generator templates

Research Existing Approaches MetaEdit+ Avanade Genvoca Comparable Approaches Migrations (Rails) Database refactoring API evolution Schema Evolution

Solution: Meta Grammar

Solution: Primitives ADD - An Item (Element, Attribute or Relationship) can be added to a DSL to make it more expressive. EDIT - An Item can have its name, Properties and/or Relationships changed, perhaps making an Attribute optional or changing the multiplicity of a Relationship. COPY - Information can be copied between Items. For example, as part of the "change Attribute to Element" transformation, the values for an Attribute could be copied to the new Element to avoid data loss within the transformation. DEPRECATE - Deprecation is an important concept that allows for the expression of the intent to Delete an Item in some future version. Some systems such as pure:variants [15] allow for multiple-levels of deprecation. We have not yet determined how strictly we will implement deprecation, but initially we plan on "warning" if deprecated Items are found in a statement and removing them from editing tools so they cannot be added to new statements. DELETE - Occasionally it is necessary to remove an Element or attribute from a grammar.

Solution: Catalog Add Element Add Optional Attribute Add Essential Attribute Add Optional Relationship Add Essential Relationship Change Attribute to Element Change Element to Attribute Transform Data Type of Attribute Make Attribute Optional Make Attribute Required Limit Relationship to has-one Allow Relationship to have-many Move a Relationship from supporting has-one to has-many. Deprecate Element Deprecate Attribute Deprecate Relationship Delete Element Delete Attribute Delete Relationship Remove a Relationship from a DSL to remove unnecessary Relationship.

Conclusions Catalog of transformations simplifies evolution Benefits: No analysis paralysis Easy to optimize DSLs Future Work: Select UI for describing grammars and transforms Implement system (database and XML) Add constraints to catalog Consider DSL relationships/interfaces

Can You Help?! More efficient reuse of DSL statements within a SPL Package evolution in feature models Evolution of inter-related DSL collections

Find Out More Practitioners Report: A Practical, High Volume Software Product Line Thursday 13:30 517c Demo: Code Generation 2008 June , Cambridge, England Blog: Yahoo: freshstartsw - AIM:

Find Out More Practitioners Report: A Practical, High Volume Software Product Line Thursday 13:30 517c Demo: Code Generation 2008 June , Cambridge, England Blog: Yahoo: freshstartsw - AIM: