Download presentation
Presentation is loading. Please wait.
Published byStanley Sullivan Modified over 9 years ago
1
ARC411 Domain Specific Language Tools For Model-Driven Development In Microsoft Visual Studio 2005 Jochen Seemann Program Manager Enterprise Tools Microsoft Corporation
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/
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.
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.