+ All Categories
Home > Documents > Visual Studio for Software Architects and Future Directions in Modeling Tools Jochen Seemann TLN311...

Visual Studio for Software Architects and Future Directions in Modeling Tools Jochen Seemann TLN311...

Date post: 17-Jan-2018
Category:
Upload: ralf-pope
View: 217 times
Download: 0 times
Share this document with a friend
Description:
3 Topics Visual DSLs for the application life cycle Modeling platform architecture Building designers with the DSL Tools Demo: DSLs for the application life cycle Partner demo: ‘Accelerate’ from DSLs into.NET code What’s next?
27
Visual Studio for Software Visual Studio for Software Architects and Architects and Future Directions in Future Directions in Modeling Tools Modeling Tools Jochen Seemann Jochen Seemann TLN311 TLN311 Program Manager Program Manager Microsoft Corporation Microsoft Corporation
Transcript
Page 1: Visual Studio for Software Architects and Future Directions in Modeling Tools Jochen Seemann TLN311 Program Manager Microsoft Corporation.

Visual Studio for Software Architects and Visual Studio for Software Architects and Future Directions in Modeling Future Directions in Modeling ToolsTools

Jochen SeemannJochen SeemannTLN311TLN311Program ManagerProgram ManagerMicrosoft CorporationMicrosoft Corporation

Page 2: Visual Studio for Software Architects and Future Directions in Modeling Tools Jochen Seemann TLN311 Program Manager Microsoft Corporation.

2

Visual Languages Visual Languages CommunicateCommunicate information for a specific information for a specific domaindomain

propertyCorona

Corona

Corona

label

Shape

GroupBase

members

waiting

runningpause begin

stop

playing

+v

0v0.7CR

R

C

0.1R

C

R0.1R

Page 3: Visual Studio for Software Architects and Future Directions in Modeling Tools Jochen Seemann TLN311 Program Manager Microsoft Corporation.

3

TopicsTopicsVisual DSLs for the application life Visual DSLs for the application life cyclecycleModeling platform architectureModeling platform architectureBuilding designers with the DSL ToolsBuilding designers with the DSL ToolsDemo: DSLs for the application life Demo: DSLs for the application life cyclecyclePartner demo: ‘Accelerate’ from DSLs Partner demo: ‘Accelerate’ from DSLs into .NET codeinto .NET codeWhat’s next?What’s next?

Page 4: Visual Studio for Software Architects and Future Directions in Modeling Tools Jochen Seemann TLN311 Program Manager Microsoft Corporation.

4

Domain Specific Languages Domain Specific Languages In The Software Life CycleIn The Software Life Cycle

Visual Languages… Visual Languages… To understand or define requirements To understand or define requirements To understand or define designTo understand or define designTo generate parts of the solutionTo generate parts of the solutionTo implement design patterns for To implement design patterns for specific frameworks and architecturesspecific frameworks and architecturesTo customize applications and To customize applications and application componentsapplication componentsTo visualize existing systemsTo visualize existing systems……

Page 5: Visual Studio for Software Architects and Future Directions in Modeling Tools Jochen Seemann TLN311 Program Manager Microsoft Corporation.

5

Building A Designer For Visual Building A Designer For Visual StudioStudio

ToolboxToolbox

PropertiesPropertiesWindowWindow

ModelModelExplorerExplorer

ValidationValidation

Drawing surface Drawing surface with domain- with domain-

specific notationspecific notation

Page 6: Visual Studio for Software Architects and Future Directions in Modeling Tools Jochen Seemann TLN311 Program Manager Microsoft Corporation.

6

Microsoft Modeling PlatformMicrosoft Modeling PlatformIn Visual StudioIn Visual Studio

Modeling Platform Modeling Platform ArchitectureArchitecture

Domain ModelDomain ModelFrameworkFramework

Design SurfaceDesign SurfaceFrameworkFramework

TemplateTemplateEngineEngine

ShellShellFrame-Frame-workwork

ValidationValidationFrame-Frame-workwork

In-memory graph In-memory graph database with rich database with rich

services (e.g., services (e.g., transactions, transactions,

serialization…) and serialization…) and queries queries

Extensible Extensible drawing surface drawing surface with support for with support for

routing and routing and auto-layout auto-layout

Artifact Artifact generatigenerati

on on

Checks constraints Checks constraints and guides user to and guides user to

resolve issuesresolve issues

Visual Studio Visual Studio UI integration UI integration

for for components components like Toolbox like Toolbox and menusand menus

Page 7: Visual Studio for Software Architects and Future Directions in Modeling Tools Jochen Seemann TLN311 Program Manager Microsoft Corporation.

7

The Modeling PlatformThe Modeling Platform

MicrosoftMicrosoftDesignerDesigner

MicrosoftMicrosoftDesignerDesigner

PartnerPartnerDesignerDesigner

Your OwnYour OwnDomain-Domain-SpecificSpecificDesignerDesigner

??

Microsoft Modeling PlatformMicrosoft Modeling Platformin Visual Studioin Visual Studio

ArchitectArchitect DeveloperDeveloperBusinessBusinessAnalystAnalystDeveloperDeveloper

Page 8: Visual Studio for Software Architects and Future Directions in Modeling Tools Jochen Seemann TLN311 Program Manager Microsoft Corporation.

8

A Simple Activity A Simple Activity LanguageLanguage

AttendDSL Session

Try outDSL Tools in Hands-On Lab

PDCParty

Tonight

Fascinated Fascinated by DSL Toolsby DSL Tools

Already Already thirstythirsty

Too lateToo late Thirsty Thirsty

nownow

Page 9: Visual Studio for Software Architects and Future Directions in Modeling Tools Jochen Seemann TLN311 Program Manager Microsoft Corporation.

9

Building A DSL – Step 1Building A DSL – Step 1Define the domain modelDefine the domain model

AttendDSL Session

Try outDSL Tools in Hands-On Lab

PDCParty

Tonight

Page 10: Visual Studio for Software Architects and Future Directions in Modeling Tools Jochen Seemann TLN311 Program Manager Microsoft Corporation.

10

Building A DSL – Step 2Building A DSL – Step 2Define the notationDefine the notation

AttendDSL Session

Rounded RectangleRounded Rectangle Outline color: BlackOutline color: Black Fill color: GrayFill color: Gray

Text DecoratorText Decorator Position: CenterPosition: Center

Fascinated Fascinated by DSL Toolsby DSL Tools

Text DecoratorText Decorator Position: Source, bottomPosition: Source, bottom

ConnectorConnector solidsolid blackblack filled arrowheadfilled arrowhead

Page 11: Visual Studio for Software Architects and Future Directions in Modeling Tools Jochen Seemann TLN311 Program Manager Microsoft Corporation.

11

Building A DSL – Step 3Building A DSL – Step 3Define visualization of domain model Define visualization of domain model via notation elementsvia notation elements

AttendDSL Session

ShapeShape Domain ModelDomain Model

Page 12: Visual Studio for Software Architects and Future Directions in Modeling Tools Jochen Seemann TLN311 Program Manager Microsoft Corporation.

12

Building A Designer With DSL Building A Designer With DSL ToolsTools

NotationNotationDefinitionDefinition

MappingMappingDefinitionDefinition

DomainDomainModelModel

DefinitionDefinition

Code generated Code generated by DSL Toolsby DSL Tools

CustomCustomBehaviorBehavior

Validation/Validation/ConstraintsConstraints

Custom Custom XMLXML

SerializationSerialization

Code/Code/ArtifactArtifact

GenerationGeneration

Custom CodeCustom Code(SDK)(SDK)

Page 13: Visual Studio for Software Architects and Future Directions in Modeling Tools Jochen Seemann TLN311 Program Manager Microsoft Corporation.

13

Building an Activity Building an Activity Designer with DSL ToolsDesigner with DSL Tools

Jochen SeemannJochen SeemannProgram ManagerProgram ManagerMicrosoft CorporationMicrosoft Corporation

Page 14: Visual Studio for Software Architects and Future Directions in Modeling Tools Jochen Seemann TLN311 Program Manager Microsoft Corporation.

14

Artifact Generation – See Artifact Generation – See HOLHOL

Page 15: Visual Studio for Software Architects and Future Directions in Modeling Tools Jochen Seemann TLN311 Program Manager Microsoft Corporation.

15

Rental Car ApplicationRental Car ApplicationImagine …Imagine …

Typical rental car companyTypical rental car companyCustomers returning carsCustomers returning carsEmployees with mobile devices Employees with mobile devices check-in the car and collect data for check-in the car and collect data for billingbilling

For our example let’s pickFor our example let’s pickThe car return process, Use Cases, The car return process, Use Cases, etc.etc.

Page 16: Visual Studio for Software Architects and Future Directions in Modeling Tools Jochen Seemann TLN311 Program Manager Microsoft Corporation.

16

Viewpoints Of The Viewpoints Of The ApplicationApplication

BusinessBusinessRequiremenRequiremen

tsts

BusinessBusinessProcessProcess

System System DesignDesign

ApplicationApplicationDesignDesign

ContractContractDesignDesign

DatabaseDatabaseDesignDesign

DeploymentDeploymentDesignDesign

OrchestratioOrchestrationn

DesignDesign

““Software Factory” VisionSoftware Factory” Vision

ModelsModelsPatternsPatternsProcessProcessToolsToolsFrameworksFrameworks

Page 17: Visual Studio for Software Architects and Future Directions in Modeling Tools Jochen Seemann TLN311 Program Manager Microsoft Corporation.

17

Systems Design Systems Design

Business Business Requirements Requirements

Two Designers And Two Designers And MappingMapping

Use CaseUse CaseDesignerDesigner

ActivityActivityDesignerDesigner

Page 18: Visual Studio for Software Architects and Future Directions in Modeling Tools Jochen Seemann TLN311 Program Manager Microsoft Corporation.

18

Use Case Designer and Use Case Designer and Activity DesignerActivity Designer

Jochen SeemannJochen SeemannProgram ManagerProgram ManagerMicrosoft CorporationMicrosoft Corporation

Page 19: Visual Studio for Software Architects and Future Directions in Modeling Tools Jochen Seemann TLN311 Program Manager Microsoft Corporation.

19

ApplicationApplicationDesign Design

Design DSL & Class Design DSL & Class DesignerDesigner

DSL for Rental DSL for Rental Car StatesCar States

ClassClassDesignDesign

CodeCodeCodeCodeCodeCode

Page 20: Visual Studio for Software Architects and Future Directions in Modeling Tools Jochen Seemann TLN311 Program Manager Microsoft Corporation.

20

State-based Design DSL, State-based Design DSL, linked to Class Designer and Codelinked to Class Designer and Code

Jochen SeemannJochen SeemannProgram ManagerProgram ManagerMicrosoft CorporationMicrosoft Corporation

Page 21: Visual Studio for Software Architects and Future Directions in Modeling Tools Jochen Seemann TLN311 Program Manager Microsoft Corporation.

21

PartnerPartnerDesignerDesigner

EDS: EDS: Model-DrivenModel-Driven Development Development for .NETfor .NET

DSL-based designer for business DSL-based designer for business entitiesentitiesBasis for 3-tier .NET Enterprise Basis for 3-tier .NET Enterprise ApplicationsApplications

Microsoft Modeling PlatformMicrosoft Modeling Platformin Visual Studioin Visual Studio

MicrosoftMicrosoftDesignerDesigner

MicrosoftMicrosoftDesignerDesigner

PartnerPartnerDesignerDesigner

Your OwnYour OwnDomainDomainSpecific-Specific-DesignerDesigner

??

Page 22: Visual Studio for Software Architects and Future Directions in Modeling Tools Jochen Seemann TLN311 Program Manager Microsoft Corporation.

22

Model-Driven Development Model-Driven Development of .NET Enterprise of .NET Enterprise ApplicationsApplicationsSusan EntwisleSusan EntwisleLead TechnologistLead TechnologistEDSEDS

Page 23: Visual Studio for Software Architects and Future Directions in Modeling Tools Jochen Seemann TLN311 Program Manager Microsoft Corporation.

23

Generate From Entity Generate From Entity Model Model

BusinessBusinessEntityEntityDesignDesign

DatabaseDatabaseDesignDesign

ApplicationApplicationDesignDesign

C# C# CodeCodefor allfor all3 tiers3 tiers

C# C# CodeCode

for Unitfor UnitTestsTests

DDLDDLScriptScriptfor DBfor DB

StoredStoredProceduresProcedures

for DBfor DB

Page 24: Visual Studio for Software Architects and Future Directions in Modeling Tools Jochen Seemann TLN311 Program Manager Microsoft Corporation.

24

Microsoft Modeling Microsoft Modeling Platform Platform And DSL ToolsAnd DSL ToolsMicrosoft Modeling Platform allows Microsoft Modeling Platform allows

users, partners and Microsoft teams users, partners and Microsoft teams to build graphical designersto build graphical designersThe Modeling Platform enables The Modeling Platform enables sharing of underlying metadata and sharing of underlying metadata and integration of the various designersintegration of the various designersMicrosoft DSL Tools generate Microsoft DSL Tools generate executable designer based on executable designer based on description of the “Domain-Specific description of the “Domain-Specific Language” (DSL) used in the designerLanguage” (DSL) used in the designer

Page 25: Visual Studio for Software Architects and Future Directions in Modeling Tools Jochen Seemann TLN311 Program Manager Microsoft Corporation.

25

What’s Next?What’s Next?DSL Tools are in an early stageDSL Tools are in an early stageCTP releases for Visual Studio 2005 CTP releases for Visual Studio 2005 available on the Webavailable on the WebRTW for Version 1 planned for first RTW for Version 1 planned for first quarter of 2006quarter of 2006

Templates for Enterprise ModelingTemplates for Enterprise ModelingVersion 2 planned for next release of Version 2 planned for next release of Visual StudioVisual Studio

Designer Integration FrameworkDesigner Integration Framework

Page 26: Visual Studio for Software Architects and Future Directions in Modeling Tools Jochen Seemann TLN311 Program Manager Microsoft Corporation.

26

Community And Community And Resources 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://lab.msdn.microsoft.com/teamsystem/workshop/sf/

Page 27: Visual Studio for Software Architects and Future Directions in Modeling Tools Jochen Seemann TLN311 Program Manager Microsoft Corporation.

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


Recommended