Presentation is loading. Please wait.

Presentation is loading. Please wait.

Tools for Architects and Future Directions in Modeling Beat Schwegler Architect, Enterprise Team Microsoft EMEA D&PE blogs.msdn.com/beatsch Arvindra Sehmi.

Similar presentations


Presentation on theme: "Tools for Architects and Future Directions in Modeling Beat Schwegler Architect, Enterprise Team Microsoft EMEA D&PE blogs.msdn.com/beatsch Arvindra Sehmi."— Presentation transcript:

1 Tools for Architects and Future Directions in Modeling Beat Schwegler Architect, Enterprise Team Microsoft EMEA D&PE blogs.msdn.com/beatsch Arvindra Sehmi Architect & Head of Enterprise Team Microsoft EMEA D&PE www.thearchitectexchange.com/asehmi

2 2 Agenda Modeling and Methods Software Factories Tools for Architects Domain Specific Languages Summary

3 3 You all know what modeling is…

4 4 Spend a lot of time drawing loads of these…

5 5..throw them away and get on with the code But isn’t the code also a model? So what exactly do we mean by “model”? Using Microsoft.Fabriq. EnterpriseInstrumentation.Schema; namespace Microsoft.Fabriq.Util { /// /// /// This class provides unified /// This class provides unified /// management, eventing, … /// management, eventing, … /// /// public class Logger public class Logger { public static void LogErrorMessage( string message, int severity, string errorCode) public static void LogErrorMessage( string message, int severity, string errorCode) { ErrorMessageEvent.Raise( FabriqEvents.FabriqEventSource, message, severity, errorCode ); ErrorMessageEvent.Raise( FabriqEvents.FabriqEventSource, message, severity, errorCode ); } }}

6 6 Are our models “mathematical models”?

7 7 Are they “scale models”?

8 8 Are they “theoretical models”?

9 9 Definitely not this kind of model… Copyright: www.gucci.com

10 10 A software “model” is Partly about visualisation Abstraction for clarity Because picture worth a thousand words Sometimes about algorithms Expression in a convenient form Because compact and efficient Often a set of instructions A recipe Because can be automated

11 11 We need models because… We need to capture the “method” in the madness of software development? Bad Stuff Happens!

12 12

13 13

14 14 Agenda Modeling and Methods Software Factories Tools for Architects Domain Specific Languages Summary

15 15 Software Development as Craftsmanship Labor Intensive Generic Tools Generic Processes One off applications Hand stitched from scratch Minimal reuse Overruns, defects, security holes, project failures

16 16 Exploiting Commonality We already exploit economies of scale to automate production Stamping out many identical copies of a prototype Used to produce CDs/DVDs Does nothing to help development

17 17 Exploiting Commonality We can also exploit economies of scope Reuse designs & components Build many similar but distinct prototypes Key is supporting variability Define only the unique pieces of each system

18 18 Software Factories Domain-specific process Domain-specific tools & languages Domain-specific content Automate rote and menial tasks General-purpose IDEs become domain-specific software factories

19 19 Software Factories Pillars Process, Tools & Languages, Content, Automation Software Factories Visual Studio 2005 DSL Tools GAT Project Management Guidance Automation Modeling Platform MSF Processes (Agile / Formal) Trustworthy Metadata-Rich Platform

20 20 Agenda Modeling and Methods Software Factories Tools for Architects Domain Specific Languages Summary

21 21 Software Factories Vision BusinessRequirements BusinessProcess System Design ApplicationDesign ContractDesign DatabaseDesign DeploymentDesign OrchestrationDesign Viewpoints of an application ModelsPatternsProcessToolsFrameworks

22 22 Systems Design BusinessRequirements Two Designers And Mapping Use Case Designer ActivityDesigner

23 23 Application & Logical Datacenter Designers in Visual Studio 2005

24 24 Agenda Modeling and Methods Software Factories Tools for Architects Domain Specific Languages Summary

25 25 Domain Specific Languages In The Software Life Cycle The aim is to create 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 …

26 26 Building A Designer For Visual Studio Toolbox PropertiesWindow ModelExplorer Validation Drawing surface with domain- specific notation

27 27 Microsoft Modeling Platform In Visual Studio Modeling Platform Architecture 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 Checks constraints and guides user to resolve issues Visual Studio UI integration for components like Toolbox and menus

28 28 The Modeling Platform MicrosoftDesignerMicrosoftDesignerPartnerDesigner Your Own Domain-SpecificDesigner ? Microsoft Modeling Platform in Visual Studio ArchitectDeveloper Business Analyst Developer

29 29 A Simple Activity Language Attend DSL Session Download & Try out DSL Tools Drink Beer Fascinated by DSL Tools Alreadythirsty Amazed Thirsty now Thirsty now

30 30 Building A DSL Define the domain model Attend DSL Session Download & Try out DSL Tools Drink Beer

31 31 Building Use Case Designer with DSL Tools

32 32 Artifact Generation

33 33 Interaction Design using Statecharts www.statesoft.com

34 34 Agenda Modeling and Methods Software Factories Tools for Architects Domain Specific Languages Summary

35 35 Summary - Key Points Software Factories Consolidate implicit knowledge Increase productivity and predictability Reduce cost and risk DSLs Exploit commonality & support variability Generate executable domain specific designers based language description Goal Modeling support everywhere

36 36 What’s Next? DSL Tools are in an early stage CTP releases for Visual Studio 2005 available on the Web RTW for Version 1 planned for first quarter of 2006 Templates for Enterprise Modeling Version 2 planned for next release of Visual Studio Designer Integration Framework

37 37 Resources Book Software Factories: Assembling Applications with Patterns, Models, Frameworks, and Tools, Jack Greenfield, Keith Short, et al, ISBN 0-471- 20284-3, Wiley Publishing Inc., 2004. Websites Software Factories http://msdn.microsoft.com/architecture/softwarefactories DSL Tools Homepage http://lab.msdn.microsoft.com/teamsystem/workshop/dsltools/ DSL Tools Community Forum http://forums.microsoft.com/msdn/ShowForum.aspx?ForumID=61 Visual Studio 2005 Team System http://msdn.microsoft.com/vstudio/teamsystem Visual Studio Team System Workshop Domain-Specific Language (DSL) Tools http://lab.msdn.microsoft.com/vs2005/teamsystem/workshop/ NewsgroupsMicrosoft.private.whidbey.teamsystem.architectMicrosoft.private.whidbey.teamsystem.architect.modeling

38 © 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 "Tools for Architects and Future Directions in Modeling Beat Schwegler Architect, Enterprise Team Microsoft EMEA D&PE blogs.msdn.com/beatsch Arvindra Sehmi."

Similar presentations


Ads by Google