Presentation is loading. Please wait.

Presentation is loading. Please wait.

ARC411 Domain Specific Language Tools For Model-Driven Development In Microsoft Visual Studio 2005 Jochen Seemann Program Manager Enterprise Tools Microsoft.

Similar presentations


Presentation on theme: "ARC411 Domain Specific Language Tools For Model-Driven Development In Microsoft Visual Studio 2005 Jochen Seemann Program Manager Enterprise Tools Microsoft."— Presentation transcript:

1 ARC411 Domain Specific Language Tools For Model-Driven Development In Microsoft Visual Studio 2005 Jochen Seemann Program Manager Enterprise Tools Microsoft Corporation

2

3 Visual Languages ImportantShapes Links, ends, style LabelsNesting Layout, routing property Corona label Shape GroupBase members waiting running pausebegin stop playing +v 0v 0.7CR R C 0.1R C R

4 Domain Specific Languages In The Context Of The DSL Tools Visual Languages… To understand or define requirements To understand or define design To generate parts of the solution To implement design patterns for specific frameworks and architectures To customize applications and application components To visualize existing systems

5 Building A Designer For Visual Studio Toolbox PropertyBrowser Explorer Validation Drawing surface with domain specific notation

6 Visual Studio Team System Change ManagementWork Item TrackingReportingProject Portal Visual Studio Team Foundation Server Integration ServicesProject Management Process and Architecture Guidance Dynamic Code Analyzer Visual Studio Team Edition Software Architects Static Code AnalyzerCode ProfilerUnit TestingCode CoverageTeam Explorer (includes Team Foundation Server CAL)Visual Studio Professional EditionLoad TestingManual TestingTest Case Management Visual Studio Team Edition Software Developers Visual Studio Team Edition Software Testers Visual Studio Industry Partners Team BuildVisio for Enterprise Architects (in MSDN Premium Subscription) Modeling Platform DSL Tools Application Designer System DesignerLogical Datacenter DesignerDeployment DesignerClass Designer (in Visual Studio Standard Edition and higher)

7 A SDK To Build Visual Modeling Tools Visual Studio 2005 Microsoft Modeling Platform In Visual Studio DistributedSystemsDesignersClassDesigner DSL Tools for Visual Studio Your new Designer

8 Microsoft Modeling Platform In Visual Studio Modeling Platform Domain Model Framework Design Surface FrameworkTemplateEngineShellFrame-workValidationFrame-work In-Memory graph database with rich services (e.g., transactions, serialization…) and queries Extensible drawing surface with support for routing and auto-layout Artifact generation Constraint checking and guides user to resolve issues Visual Studio UI Integration for components like Toolbox, Menus

9 A Simple Workflow Language Attend DSL Session Try out DSL Tools in Hands-On Lab TechEd Party Tonight Fascinated by DSL Tools AlreadyThirsty Too late Thirsty now Thirsty now

10 Define Domain Model Task Class Attend DSL Session Try out DSL Tools in Hands-On Lab TechEd Party Tonight

11 Define Domain Model Inheritance Attend DSL Session Try out DSL Tools in Hands-On Lab TechEd Party Tonight

12 Define Domain Model Relationships Attend DSL Session Try out DSL Tools in Hands-On Lab TechEd Party Tonight

13 Define Shape Attend DSL Session Rounded Rectangle Outline color: black Outline color: black Fill color: gray Fill color: gray Text Decorator Position: center Position: center

14 Define Connector Appearance Attend DSL Session Try out DSL Tools in Hands-On Lab Text Decorator Position: Source, Top Position: Source, Top Connector solid solid black black filled arrowhead filled arrowhead Fascinated by DSL Tools

15 Define Connector Visual Syntax Attend DSL Session Try out DSL Tools in Hands-On Lab TechEd Party Tonight

16 Define Mapping Attend DSL Session Shape Domain Model

17 CustomBehavior Building A Designer NotationDefinition MappingDefinition DomainModelDefinition Code generated by DSL Tools Validation/Constraints CustomXMLSerialization Code/ArtifactGeneration Custom Code (SDK)

18 First Example Building a simple workflow designer Define a domain model Define shapes Define mapping Generate code Build designer Run designer

19 Generators Based On Templates standardStuff;standardStuff; <# foreach Task t in this.Workflow.Tasks {#> class : TaskBase { … } <# } #> moreStandardStuff; … prospect initiated prospective sale empty overflow Sat weekly accumulator 4 £20 1 week delay £30 prospect cancels salesperson’s account 31 monthly bank a/c pay 7 £ standardStuff;standardStuff; class DoFirst : TaskBase {…} class DoNext : TaskBase {…} … Template Generated Code Model Queries

20 Software Factories Multiple Designers prospect initiated prospective sale empty overflow Sat weekly accumulator 4 £20 1 week delay £30 prospect cancels salesperson’s account 31 monthly bank a/c pay 7 £ Model 1 – Flow Model 2 – Entities 7 £ Model 3 – Control Flow aspect code Control aspect code Entities aspect code

21 Generating Artifacts From Models Define a simple html report Create a report

22 Example: Entity Designer

23 Example: Utility For VSTS

24 Second Example Building a business entity designer with code generation Review domain model Review shape definition Build and run designer Build sample model Review code generation Generate WinForm code for business entity Open WinForm for business entity

25 What’s Next? DSL Tools are in an early stage CTP releases for Visual Studio 2005 available Continue to release every 2-3 months with growing feature set Designer SDK Model Data Access Model Validation UI and Designer Behavior Custom XML Serialization Richer design experience for Domain Models, Notation and Mapping Multiple Views and Multiple Models Designer Deployment Support

26 Microsoft Domain Specific Language (DSL) Tools For Visual Studio 2005 Generates executable designer based on description of the “Domain Specific Language” (DSL) used in the designer Generated Designer Is a complete usable tool (fully functional, undo, persistence/XML file support… ) Is starting point of designer development (SDK, artifact generation… )

27 Community And Resources DSL Tools Homepage DSL Tools Homepage http://lab.msdn.microsoft.com/teamsystem/workshop/dsltools/ http://lab.msdn.microsoft.com/teamsystem/workshop/dsltools/ DSL Tools Community Forum http://forums.microsoft.com/msdn/ShowForum.aspx?ForumID=61 http://forums.microsoft.com/msdn/ShowForum.aspx?ForumID=61 Software Factories http://msdn.microsoft.com/architecture/overview/ softwarefactories/

28

29 Your Feedback is Important! Please Fill Out a Survey for This Session on CommNet

30 © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.


Download ppt "ARC411 Domain Specific Language Tools For Model-Driven Development In Microsoft Visual Studio 2005 Jochen Seemann Program Manager Enterprise Tools Microsoft."

Similar presentations


Ads by Google