arc411 domain specific language tools for model-driven development in microsoft visual studio 2005...
TRANSCRIPT
![Page 1: ARC411 Domain Specific Language Tools For Model-Driven Development In Microsoft Visual Studio 2005 Jochen Seemann Program Manager Enterprise Tools Microsoft](https://reader035.vdocument.in/reader035/viewer/2022062519/5697c0281a28abf838cd6d25/html5/thumbnails/1.jpg)
ARC411ARC411Domain Specific Language Domain Specific Language Tools For Model-Driven Tools For Model-Driven Development In Microsoft Development In Microsoft Visual Studio 2005 Visual Studio 2005 Jochen SeemannJochen SeemannProgram ManagerProgram ManagerEnterprise ToolsEnterprise ToolsMicrosoft CorporationMicrosoft Corporation
![Page 2: ARC411 Domain Specific Language Tools For Model-Driven Development In Microsoft Visual Studio 2005 Jochen Seemann Program Manager Enterprise Tools Microsoft](https://reader035.vdocument.in/reader035/viewer/2022062519/5697c0281a28abf838cd6d25/html5/thumbnails/2.jpg)
![Page 3: ARC411 Domain Specific Language Tools For Model-Driven Development In Microsoft Visual Studio 2005 Jochen Seemann Program Manager Enterprise Tools Microsoft](https://reader035.vdocument.in/reader035/viewer/2022062519/5697c0281a28abf838cd6d25/html5/thumbnails/3.jpg)
Visual LanguagesVisual Languages
ImportantImportant
ShapesShapes
Links, ends, styleLinks, ends, style
LabelsLabels
NestingNesting
Layout, routingLayout, routing
property
Corona
Corona
Corona
label
Shape
GroupBase
members
waiting
runningpause begin
stop
playing
+v
0v0.7CR
R
C
0.1R
C
R0.1R
![Page 4: ARC411 Domain Specific Language Tools For Model-Driven Development In Microsoft Visual Studio 2005 Jochen Seemann Program Manager Enterprise Tools Microsoft](https://reader035.vdocument.in/reader035/viewer/2022062519/5697c0281a28abf838cd6d25/html5/thumbnails/4.jpg)
Domain Specific Languages In Domain Specific Languages In The Context Of The DSL ToolsThe Context Of The DSL Tools
Visual Languages… Visual Languages… To understand or define requirements To understand or define requirements
To understand or define designTo understand or define design
To generate parts of the solutionTo generate parts of the solution
To implement design patterns for To implement design patterns for specific frameworks and architecturesspecific frameworks and architectures
To customize applications and To customize applications and application componentsapplication components
To visualize existing systemsTo visualize existing systems
![Page 5: ARC411 Domain Specific Language Tools For Model-Driven Development In Microsoft Visual Studio 2005 Jochen Seemann Program Manager Enterprise Tools Microsoft](https://reader035.vdocument.in/reader035/viewer/2022062519/5697c0281a28abf838cd6d25/html5/thumbnails/5.jpg)
Building A Designer For Building A Designer For Visual StudioVisual Studio
ToolboxToolbox
PropertyPropertyBrowserBrowser
ExplorerExplorer
ValidationValidation
Drawing surface Drawing surface with domain with domain
specific notationspecific notation
![Page 6: ARC411 Domain Specific Language Tools For Model-Driven Development In Microsoft Visual Studio 2005 Jochen Seemann Program Manager Enterprise Tools Microsoft](https://reader035.vdocument.in/reader035/viewer/2022062519/5697c0281a28abf838cd6d25/html5/thumbnails/6.jpg)
Visual Studio Team SystemVisual Studio Team System
Change Management
Work Item Tracking
Reporting
Project Portal
Visual StudioTeam Foundation Server Integration Services
Project Management
Pro
ces
s a
nd
Arc
hit
ect
ure
P
roc
ess
an
d A
rch
ite
ctu
re
Gu
idan
ce
Gu
idan
ce
Dynamic Code Analyzer
Visual Studio Team Edition
Software Architects
Static Code Analyzer
Code Profiler
Unit Testing
Code Coverage
Team Explorer (includes Team Foundation Server CAL)
Visual Studio Professional Edition
Load Testing
Manual Testing
Test Case Management
Visual Studio Team Edition
Software DevelopersVisual Studio Team Edition
Software Testers
Vis
ua
l Stu
dio
Ind
us
try
V
isu
al S
tud
io In
du
str
y
Pa
rtn
ers
Pa
rtn
ers
Team Build
Visio for Enterprise Architects (in MSDN Premium Subscription)
Modeling PlatformModeling PlatformDSL ToolsDSL Tools
Application Designer
System Designer
Logical Datacenter Designer
Deployment Designer
Class Designer (in Visual Studio Standard Edition and higher)
![Page 7: ARC411 Domain Specific Language Tools For Model-Driven Development In Microsoft Visual Studio 2005 Jochen Seemann Program Manager Enterprise Tools Microsoft](https://reader035.vdocument.in/reader035/viewer/2022062519/5697c0281a28abf838cd6d25/html5/thumbnails/7.jpg)
A SDK To Build Visual A SDK To Build Visual Modeling ToolsModeling Tools
VisualStudio2005
Microsoft Modeling PlatformMicrosoft Modeling PlatformIn Visual StudioIn Visual Studio
DistributedDistributedSystemsSystems
DesignersDesigners
ClassClassDesignerDesigner
DSL Tools for Visual StudioDSL Tools for Visual Studio
Your newYour newDesignerDesigner
![Page 8: ARC411 Domain Specific Language Tools For Model-Driven Development In Microsoft Visual Studio 2005 Jochen Seemann Program Manager Enterprise Tools Microsoft](https://reader035.vdocument.in/reader035/viewer/2022062519/5697c0281a28abf838cd6d25/html5/thumbnails/8.jpg)
Microsoft Modeling PlatformMicrosoft Modeling PlatformIn Visual StudioIn Visual Studio
Modeling PlatformModeling Platform
Domain ModelDomain ModelFrameworkFramework
Design SurfaceDesign SurfaceFrameworkFramework
TemplateTemplateEngineEngine
ShellShellFrame-Frame-workwork
ValidationValidationFrame-Frame-workwork
In-Memory graph database In-Memory graph database with rich services (e.g., with rich services (e.g.,
transactions, serialization…) transactions, serialization…) and queries and queries
Extensible drawing Extensible drawing surface with surface with
support for routing support for routing and auto-layoutand auto-layout
Artifact Artifact generation generation
Constraint checking Constraint checking and guides user to and guides user to
resolve issuesresolve issues
Visual Studio UI Visual Studio UI Integration for Integration for
components like components like Toolbox, MenusToolbox, Menus
![Page 9: ARC411 Domain Specific Language Tools For Model-Driven Development In Microsoft Visual Studio 2005 Jochen Seemann Program Manager Enterprise Tools Microsoft](https://reader035.vdocument.in/reader035/viewer/2022062519/5697c0281a28abf838cd6d25/html5/thumbnails/9.jpg)
A Simple Workflow LanguageA Simple Workflow Language
AttendDSL Session
Try outDSL Tools in Hands-On Lab
TechEdParty
Tonight
Fascinated Fascinated by DSL Toolsby DSL Tools
Already Already ThirstyThirsty
Too lateToo late
Thirsty Thirsty nownow
![Page 10: ARC411 Domain Specific Language Tools For Model-Driven Development In Microsoft Visual Studio 2005 Jochen Seemann Program Manager Enterprise Tools Microsoft](https://reader035.vdocument.in/reader035/viewer/2022062519/5697c0281a28abf838cd6d25/html5/thumbnails/10.jpg)
Define Domain Model Define Domain Model Task ClassTask Class
AttendDSL Session
Try outDSL Tools in Hands-On Lab
TechEdParty
Tonight
![Page 11: ARC411 Domain Specific Language Tools For Model-Driven Development In Microsoft Visual Studio 2005 Jochen Seemann Program Manager Enterprise Tools Microsoft](https://reader035.vdocument.in/reader035/viewer/2022062519/5697c0281a28abf838cd6d25/html5/thumbnails/11.jpg)
Define Domain Model Define Domain Model InheritanceInheritance
AttendDSL Session
Try outDSL Tools in Hands-On Lab
TechEdParty
Tonight
![Page 12: ARC411 Domain Specific Language Tools For Model-Driven Development In Microsoft Visual Studio 2005 Jochen Seemann Program Manager Enterprise Tools Microsoft](https://reader035.vdocument.in/reader035/viewer/2022062519/5697c0281a28abf838cd6d25/html5/thumbnails/12.jpg)
Define Domain Model Define Domain Model RelationshipsRelationships
AttendDSL Session
Try outDSL Tools in Hands-On Lab
TechEdParty
Tonight
![Page 13: ARC411 Domain Specific Language Tools For Model-Driven Development In Microsoft Visual Studio 2005 Jochen Seemann Program Manager Enterprise Tools Microsoft](https://reader035.vdocument.in/reader035/viewer/2022062519/5697c0281a28abf838cd6d25/html5/thumbnails/13.jpg)
Define ShapeDefine Shape
AttendDSL Session
Rounded RectangleRounded Rectangle Outline color: blackOutline color: black Fill color: gray Fill color: gray
Text DecoratorText Decorator Position: centerPosition: center
![Page 14: ARC411 Domain Specific Language Tools For Model-Driven Development In Microsoft Visual Studio 2005 Jochen Seemann Program Manager Enterprise Tools Microsoft](https://reader035.vdocument.in/reader035/viewer/2022062519/5697c0281a28abf838cd6d25/html5/thumbnails/14.jpg)
Define Connector Define Connector AppearanceAppearance
AttendDSL Session
Try outDSL Tools in Hands-On Lab
Text DecoratorText Decorator Position: Source, TopPosition: Source, Top
ConnectorConnector solidsolid blackblack filled arrowheadfilled arrowhead
Fascinated Fascinated by DSL Toolsby DSL Tools
![Page 15: ARC411 Domain Specific Language Tools For Model-Driven Development In Microsoft Visual Studio 2005 Jochen Seemann Program Manager Enterprise Tools Microsoft](https://reader035.vdocument.in/reader035/viewer/2022062519/5697c0281a28abf838cd6d25/html5/thumbnails/15.jpg)
Define ConnectorDefine ConnectorVisual SyntaxVisual Syntax
AttendDSL Session
Try outDSL Tools in Hands-On Lab
TechEdParty
Tonight
![Page 16: ARC411 Domain Specific Language Tools For Model-Driven Development In Microsoft Visual Studio 2005 Jochen Seemann Program Manager Enterprise Tools Microsoft](https://reader035.vdocument.in/reader035/viewer/2022062519/5697c0281a28abf838cd6d25/html5/thumbnails/16.jpg)
Define MappingDefine Mapping
AttendDSL Session
ShapeShape Domain ModelDomain Model
![Page 17: ARC411 Domain Specific Language Tools For Model-Driven Development In Microsoft Visual Studio 2005 Jochen Seemann Program Manager Enterprise Tools Microsoft](https://reader035.vdocument.in/reader035/viewer/2022062519/5697c0281a28abf838cd6d25/html5/thumbnails/17.jpg)
CustomCustomBehaviorBehavior
Building A DesignerBuilding A Designer
NotationNotationDefinitionDefinition
MappingMappingDefinitionDefinition
DomainDomainModelModel
DefinitionDefinition
Code generated Code generated by DSL Toolsby DSL Tools
Validation/Validation/ConstraintsConstraints
Custom Custom XMLXML
SerializationSerialization
Code/Code/ArtifactArtifact
GenerationGeneration
Custom CodeCustom Code(SDK)(SDK)
![Page 18: ARC411 Domain Specific Language Tools For Model-Driven Development In Microsoft Visual Studio 2005 Jochen Seemann Program Manager Enterprise Tools Microsoft](https://reader035.vdocument.in/reader035/viewer/2022062519/5697c0281a28abf838cd6d25/html5/thumbnails/18.jpg)
First Example First Example Building a simple Building a simple workflow designerworkflow designer
Define a domain modelDefine a domain model Define shapesDefine shapes Define mappingDefine mapping Generate codeGenerate code Build designerBuild designer Run designerRun designer
![Page 19: ARC411 Domain Specific Language Tools For Model-Driven Development In Microsoft Visual Studio 2005 Jochen Seemann Program Manager Enterprise Tools Microsoft](https://reader035.vdocument.in/reader035/viewer/2022062519/5697c0281a28abf838cd6d25/html5/thumbnails/19.jpg)
Generators Based On TemplatesGenerators Based On Templates
standardStuff;standardStuff;standardStuff;standardStuff;<# foreach Task t in this.Workflow.Tasks<# foreach Task t in this.Workflow.Tasks {{#>#>
class <#= t.Name #> : TaskBaseclass <#= t.Name #> : TaskBase{ … }{ … }
<# }<# }#>#>moreStandardStuff; …moreStandardStuff; …
prospectinitiated
prospective sale
empty
overflow
Sat
weekly
accumulator4
£20
1 week delay
£30
prospectcancels
salesperson’saccount31
monthly
bank a/c
pay
7
£
standardStuff;standardStuff;standardStuff;standardStuff;class DoFirst : TaskBase {…}class DoFirst : TaskBase {…}class DoNext : TaskBase {…} class DoNext : TaskBase {…} ……
TemplateTemplate
Generated Generated CodeCode
ModelModel
QueriesQueries
![Page 20: ARC411 Domain Specific Language Tools For Model-Driven Development In Microsoft Visual Studio 2005 Jochen Seemann Program Manager Enterprise Tools Microsoft](https://reader035.vdocument.in/reader035/viewer/2022062519/5697c0281a28abf838cd6d25/html5/thumbnails/20.jpg)
Software Factories Software Factories Multiple DesignersMultiple Designers
prospectinitiated
prospective sale
empty
overflow
Sat
weekly
accumulator4
£20
1 week delay
£30
prospectcancels
salesperson’saccount31
monthly
bank a/c
pay
7
£
Model 1 – FlowModel 1 – Flow
Model 2 – EntitiesModel 2 – Entities
7
£
<xxx yyy> <zzz /></xxx>
Model 3 – ControlModel 3 – Control
Flow aspect Flow aspect codecode
Control aspect Control aspect codecode
Entities aspect Entities aspect codecode
![Page 21: ARC411 Domain Specific Language Tools For Model-Driven Development In Microsoft Visual Studio 2005 Jochen Seemann Program Manager Enterprise Tools Microsoft](https://reader035.vdocument.in/reader035/viewer/2022062519/5697c0281a28abf838cd6d25/html5/thumbnails/21.jpg)
Generating Artifacts Generating Artifacts From ModelsFrom Models
Define a simple html reportDefine a simple html report Create a reportCreate a report
![Page 22: ARC411 Domain Specific Language Tools For Model-Driven Development In Microsoft Visual Studio 2005 Jochen Seemann Program Manager Enterprise Tools Microsoft](https://reader035.vdocument.in/reader035/viewer/2022062519/5697c0281a28abf838cd6d25/html5/thumbnails/22.jpg)
Example: Entity DesignerExample: Entity Designer
![Page 23: ARC411 Domain Specific Language Tools For Model-Driven Development In Microsoft Visual Studio 2005 Jochen Seemann Program Manager Enterprise Tools Microsoft](https://reader035.vdocument.in/reader035/viewer/2022062519/5697c0281a28abf838cd6d25/html5/thumbnails/23.jpg)
Example: Utility For VSTSExample: Utility For VSTS
![Page 24: ARC411 Domain Specific Language Tools For Model-Driven Development In Microsoft Visual Studio 2005 Jochen Seemann Program Manager Enterprise Tools Microsoft](https://reader035.vdocument.in/reader035/viewer/2022062519/5697c0281a28abf838cd6d25/html5/thumbnails/24.jpg)
Second Example Second Example Building a business entity Building a business entity designer with code generationdesigner with code generation Review domain modelReview domain model Review shape definitionReview shape definition Build and run designerBuild and run designer Build sample modelBuild sample model Review code generationReview code generation Generate WinForm code for business entityGenerate WinForm code for business entity Open WinForm for business entityOpen WinForm for business entity
![Page 25: ARC411 Domain Specific Language Tools For Model-Driven Development In Microsoft Visual Studio 2005 Jochen Seemann Program Manager Enterprise Tools Microsoft](https://reader035.vdocument.in/reader035/viewer/2022062519/5697c0281a28abf838cd6d25/html5/thumbnails/25.jpg)
What’s Next?What’s Next?
DSL Tools are in an early stageDSL Tools are in an early stageCTP releases for Visual Studio 2005 availableCTP releases for Visual Studio 2005 availableContinue to release every 2-3 months with Continue to release every 2-3 months with growing feature setgrowing feature set
Designer SDKDesigner SDKModel Data Access Model Data Access Model Validation Model Validation UI and Designer BehaviorUI and Designer BehaviorCustom XML SerializationCustom XML Serialization
Richer design experience for Domain Models, Richer design experience for Domain Models, Notation and MappingNotation and MappingMultiple Views and Multiple ModelsMultiple Views and Multiple ModelsDesigner Deployment SupportDesigner Deployment Support
![Page 26: ARC411 Domain Specific Language Tools For Model-Driven Development In Microsoft Visual Studio 2005 Jochen Seemann Program Manager Enterprise Tools Microsoft](https://reader035.vdocument.in/reader035/viewer/2022062519/5697c0281a28abf838cd6d25/html5/thumbnails/26.jpg)
Microsoft Domain Specific Language Microsoft Domain Specific Language (DSL) Tools For Visual Studio 2005(DSL) Tools For Visual Studio 2005
Generates executable designer based Generates executable designer based on description of the “Domain Specific on description of the “Domain Specific Language” (DSL) used in the designerLanguage” (DSL) used in the designer
Generated DesignerGenerated DesignerIs a complete usable tool (fully functional, Is a complete usable tool (fully functional, undo, persistence/XML file support… )undo, persistence/XML file support… )
Is starting point of designer development Is starting point of designer development (SDK, artifact generation… )(SDK, artifact generation… )
![Page 27: ARC411 Domain Specific Language Tools For Model-Driven Development In Microsoft Visual Studio 2005 Jochen Seemann Program Manager Enterprise Tools Microsoft](https://reader035.vdocument.in/reader035/viewer/2022062519/5697c0281a28abf838cd6d25/html5/thumbnails/27.jpg)
Community And Resources Community And Resources
DSL Tools HomepageDSL Tools Homepage http://lab.msdn.microsoft.com/teamsystem/workshop/dsltools/
DSL Tools Community ForumDSL Tools Community Forum http://forums.microsoft.com/msdn/ShowForum.aspx?ForumID=61
Software Factorieshttp://msdn.microsoft.com/architecture/overview/softwarefactories/
![Page 28: ARC411 Domain Specific Language Tools For Model-Driven Development In Microsoft Visual Studio 2005 Jochen Seemann Program Manager Enterprise Tools Microsoft](https://reader035.vdocument.in/reader035/viewer/2022062519/5697c0281a28abf838cd6d25/html5/thumbnails/28.jpg)
![Page 29: ARC411 Domain Specific Language Tools For Model-Driven Development In Microsoft Visual Studio 2005 Jochen Seemann Program Manager Enterprise Tools Microsoft](https://reader035.vdocument.in/reader035/viewer/2022062519/5697c0281a28abf838cd6d25/html5/thumbnails/29.jpg)
Your FeedbackYour Feedbackis Important!is Important!
Please Fill Out a Survey forPlease Fill Out a Survey forThis Session on CommNetThis Session on CommNet
![Page 30: ARC411 Domain Specific Language Tools For Model-Driven Development In Microsoft Visual Studio 2005 Jochen Seemann Program Manager Enterprise Tools Microsoft](https://reader035.vdocument.in/reader035/viewer/2022062519/5697c0281a28abf838cd6d25/html5/thumbnails/30.jpg)
© 2005 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.