1 / 17

"Oslo" – The Language Building Domain Models in “ M ”

TL27. "Oslo" – The Language Building Domain Models in “ M ”.  David Langworthy Architect Microsoft Corporation.  Don Box Distinguished Engineer Microsoft Corporation. What Is "Oslo"? The platform for model-driven applications. “ M ” Modeling language . “Quadrant” Modeling tool.

hume
Download Presentation

"Oslo" – The Language Building Domain Models in “ M ”

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. TL27 "Oslo" – The LanguageBuilding Domain Models in “M”  David Langworthy Architect Microsoft Corporation  Don Box Distinguished Engineer Microsoft Corporation

  2. What Is "Oslo"?The platform for model-driven applications “M” Modeling language “Quadrant” Modeling tool Repository Model store

  3. Why “M”? • We want creating and interacting with Oslo content to be simple and natural • Having a box-and-line design experience is an important enabler • Having a complementary textual experience is equally important • “M” is how we achieve the latter

  4. What Is “M”? • “M” is a language for defining domain models and textual domain-specific languages (DSLs) • M domain models define schema and query over structured data • Values, Constraints, and Views • Natural projection to SQL • M DSLs define projections from Unicode text to structured data • Rule-based transformation • Grammar-driven text editor integration

  5. The “M” Language DSL DSLX DSLY Point.m Domain Model DomainX.m Domain Model DomainY.m Domain Model GPSLanguage.mg Domain Grammar DomainX.mg Domain Grammar DomainY.mg Domain Grammar "M" Domain-specific data models • type Point { • X : Integer where X < 100; • Y : Integer?; • DistanceFromOrigin() { SQRT(X*X + Y*Y) } • } MSchema Domain-specific grammars • language GPSLanguage { • syntax Main = h:Integer ("," v:Integer)? • => Point { X { h }, Y { v }};} MGrammar Abstract data model • Point { X { 100 }, Y { 200 } } MGraph

  6. What “M” Is Not • An object-oriented language • No polymorphism, virtual dispatch • “Is-a” determined based on structural subtyping, not stipulation • A data access technology • M domain models compile down to T-SQL • Tool chain supports course-grained loading/unloading of schemas and values – not an OLTP solution • A replacement for T-SQL • Far less expansive feature set • Tool chain supports linking/invoking T-SQL

  7. Sample Fill Sample Fill Sample Fill Domain Model Toolchain M.exe Domain Model Compiler MX.exe Domain Model Loader ModelA.m ModelB.m ModelC.m ModelABC.mx SQL Server M Framework M Framework

  8. demo "M" in Action

  9. Domain Modeling Constructs • Extents declare storage for values • Types constrain values in a given context • Explicit identity enables references • Functions name parameterized expressions

  10. M is itself implemented as M DSL Parser exposed using M DSL machinery Type flow exposed as framework component SDK ships with an evaluator (MrEPL) that builds on both The M Framework

  11. demo MrEPL

  12. Where Are We? • “M” is the language for defining domain models and textual DSLs in Oslo • “M” domain models based on values, views and constraints • “M” domain models have a natural projection to SQL

  13. Call To Action • SEE THE OTHER TALKS • “Oslo”: The Language • “Oslo”: Customizing and Extending the Visual Design Experience • “Oslo”: Repository & Models • “Oslo”: Building Textual DSLs USE THE BITS VPC in the “Goods” Hard Drive http://msdn.microsoft.com/oslo GIVE US FEEDBACK douglasp@microsoft.com vijayeg@microsoft.com

  14. Evals & Recordings Please fill out your evaluation for this session at: This session will be available as a recording at: www.microsoftpdc.com

  15. Q&A Please use the microphones provided

  16. © 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

More Related