15
© 2007 Avanade Inc. All rights reserved. The Avanade name and logo are registered trademarks in the US and other countries. Building a Framework to support Domain-Specific Language Evolution Using Microsoft DSL-Tools Name: Gerardo de Geest, Antoine Savelkoul, Aali Alikoski Company: Avanade 10.21.07

© 2007 Avanade Inc. All rights reserved. The Avanade name and logo are registered trademarks in the US and other countries. Building a Framework to support

Embed Size (px)

Citation preview

Page 1: © 2007 Avanade Inc. All rights reserved. The Avanade name and logo are registered trademarks in the US and other countries. Building a Framework to support

© 2007 Avanade Inc. All rights reserved. The Avanade name and logo are registered trademarks in the US and other countries.

Building a Framework to support Domain-Specific Language Evolution

Using Microsoft DSL-Tools

Name: Gerardo de Geest, Antoine Savelkoul, Aali Alikoski

Company: Avanade

10.21.07

Page 2: © 2007 Avanade Inc. All rights reserved. The Avanade name and logo are registered trademarks in the US and other countries. Building a Framework to support

© 2007 Avanade Inc. All rights reserved. The Avanade name and logo are registered trademarks in the US and other countries.

Agenda

Introduction to Microsoft DSL-ToolsEvolution ScenariosFramework for Domain EvolutionCase StudyFurther ResearchQuestions

Page 3: © 2007 Avanade Inc. All rights reserved. The Avanade name and logo are registered trademarks in the US and other countries. Building a Framework to support

© 2007 Avanade Inc. All rights reserved. The Avanade name and logo are registered trademarks in the US and other countries.

Microsoft DSL-Tools (1)

DSL-Definition– Classes– Properties– Relations

Page 4: © 2007 Avanade Inc. All rights reserved. The Avanade name and logo are registered trademarks in the US and other countries. Building a Framework to support

© 2007 Avanade Inc. All rights reserved. The Avanade name and logo are registered trademarks in the US and other countries.

Microsoft DSL-Tools (2)

Visual Representation– Toolbox– Model

Page 5: © 2007 Avanade Inc. All rights reserved. The Avanade name and logo are registered trademarks in the US and other countries. Building a Framework to support

© 2007 Avanade Inc. All rights reserved. The Avanade name and logo are registered trademarks in the US and other countries.

Evolution Scenario’s (1) Meta-Model

Page 6: © 2007 Avanade Inc. All rights reserved. The Avanade name and logo are registered trademarks in the US and other countries. Building a Framework to support

© 2007 Avanade Inc. All rights reserved. The Avanade name and logo are registered trademarks in the US and other countries.

Evolution Scenario’s (1) Model

Solution

Group1

Group2

Service1

Service2

Contract1

Contract2

Solution

Service1

Service2

Contract1

Contract2

Page 7: © 2007 Avanade Inc. All rights reserved. The Avanade name and logo are registered trademarks in the US and other countries. Building a Framework to support

© 2007 Avanade Inc. All rights reserved. The Avanade name and logo are registered trademarks in the US and other countries.

Evolution Scenario’s (2)

Page 8: © 2007 Avanade Inc. All rights reserved. The Avanade name and logo are registered trademarks in the US and other countries. Building a Framework to support

© 2007 Avanade Inc. All rights reserved. The Avanade name and logo are registered trademarks in the US and other countries.

Evolution Scenario’s (3)

Page 9: © 2007 Avanade Inc. All rights reserved. The Avanade name and logo are registered trademarks in the US and other countries. Building a Framework to support

© 2007 Avanade Inc. All rights reserved. The Avanade name and logo are registered trademarks in the US and other countries.

Framework for Domain Evolution (1)

F(A): Difference between DSL A and DSL BF(F,a): The converter between a model “a” based on DSL A, where A in F(A)

Page 10: © 2007 Avanade Inc. All rights reserved. The Avanade name and logo are registered trademarks in the US and other countries. Building a Framework to support

© 2007 Avanade Inc. All rights reserved. The Avanade name and logo are registered trademarks in the US and other countries.

Framework for Domain Evolution (2)

Page 11: © 2007 Avanade Inc. All rights reserved. The Avanade name and logo are registered trademarks in the US and other countries. Building a Framework to support

© 2007 Avanade Inc. All rights reserved. The Avanade name and logo are registered trademarks in the US and other countries.

Case Study (1)

ACA Factory Beta 2 -> ACA Factory Release 1.0

F(A):

Page 12: © 2007 Avanade Inc. All rights reserved. The Avanade name and logo are registered trademarks in the US and other countries. Building a Framework to support

© 2007 Avanade Inc. All rights reserved. The Avanade name and logo are registered trademarks in the US and other countries.

Case Study (2)

Page 13: © 2007 Avanade Inc. All rights reserved. The Avanade name and logo are registered trademarks in the US and other countries. Building a Framework to support

© 2007 Avanade Inc. All rights reserved. The Avanade name and logo are registered trademarks in the US and other countries.

Further Research

Versioning of modelsVersioning and reuse of versioning transformationsVisual mapping DSL

Page 14: © 2007 Avanade Inc. All rights reserved. The Avanade name and logo are registered trademarks in the US and other countries. Building a Framework to support

© 2007 Avanade Inc. All rights reserved. The Avanade name and logo are registered trademarks in the US and other countries.

Summary

Three domain evolution scenario’sFramework with two possibilities for Human HelpAutomatic Detection helps the developerCase Study showed unexpected good performance.

Page 15: © 2007 Avanade Inc. All rights reserved. The Avanade name and logo are registered trademarks in the US and other countries. Building a Framework to support

© 2007 Avanade Inc. All rights reserved. The Avanade name and logo are registered trademarks in the US and other countries.

Questions?