”Oslo” is the codename for Microsoft’s forthcoming modeling platform. Modeling is used across a wide range of domains and allows more people to participate in application design and allows developers to write applications at a much higher level of abstraction
3. What is a Model ? A DESCRIPTION OF A GIVEN DOMAIN MODEL-ASSISTED Models used to understand or manipulate code Examples: Static Structure, Sequence, … DRAWINGS Models used to communicate with others Examples: Dataflow, Use Case, … MODEL-DRIVEN Models executed by runtimes directly Examples: HTML, CSS, XAML, BPEL, …
4.
5. "Oslo" Architecture XML, Custom Formats, … [Your Models] .Net Models Repository Models REPOSITORY SQL SERVER OTHER TOOLS (VSTS, EXCEL, …) [Your Models] Base Models “ M” Runtime REPOSITO SQL SERVER [Your Models] Base Models “ M” Runtime REPOSITO SQL SERVER RUNTIMES [Your Runtime] “ Dublin” ASP.NET WF WCF SQL/EDM Windows Other ISV Runtimes ADO .NET “ QUADRANT” Composition Generic Viewers Dataflow EDITOR FRAMEWORK [Your Visual DSL] [Your Textual DSL] MSchema MGrammar MGraph LANGUAGE FRAMEWORK XML, Custom Formats, …
6.
7. The “M” Language A family of languages for manipulating data DSL " M " Domain-specific grammars Abstract data model Domain-specific data models language GPSLanguage { syntax Main = h:Integer ("," v:Integer)? => Point { X { h }, Y { v }}; } type Point { X : Integer where X < 100; Y : Integer?; DistanceFromOrigin() { SQRT(X*X + Y*Y) } } Point { X { 100 }, Y { 200 } } Point.m Domain Model DSL Y DomainY.mg Domain Grammar DSL X DomainX.m Domain Model DomainY.m Domain Model DomainX.mg Domain Grammar GPSLanguage.mg Domain Grammar Mschema (Schematizing Data) Mgrammar (Text To Data) Mgraph (Representing Data)
11. Quadrant Architecture SHELL AND SURFACE SERVICES COMPOSITION ENGINE Nesting Sizing Layout Snapping Core Services Undo/Redo Commands Drag/Drop Selection Activation Error Handling General Services Search Validation Annotations Relationship Highlighting DATAFLOW ENGINE Caching, Virtualization, Change tracking, and Notification REPOSITORY Target Data View State Configuration
12.
13.
14.
15.
16. Development Domains TEXTUAL DSLs VISUAL DSLs RUNTIMES “ Quadrant” Web Editor “ MWeb” ASP.NET WEB “ Quadrant” Service Editor “ MService” WCF/WF (“Dublin”) SERVICES “ MEntity” EF ENTITIES “ Quadrant ” Schema Editor “ MSchema ” SQL DATABASE “ MService” WCF/WF (“Dublin”) “ MEntity” EF “ Quadrant” Entity Editor
17. The Big Picture How Oslo is part of future Application Development Lifecycle ? Cloud Services A set of Microsoft hosted services including a service bus and a process server Service Bus Model Repository Modeling Tools (Quadrant) Process Server (Dublin) Modeling Language (M) Bus Analyst Arch Dev IT Pro Cloud Services