Preface

Codename “Oslo” is the name of the first release of Microsoft’s modeling platform. Oslo was created to simplify the process of developing, deploying, and managing software. The fundamental premise of Oslo is to reduce the gap between the intention of the developer and the artifacts that are deployed and executed. The approach used by Oslo is to allow software to be expressed as transparent and dynamic data rather than as opaque and static code. We refer to the data that defines a piece of software as a model. In Oslo, models are captured as structured data that is present throughout the software lifecycle. What makes Oslo unique is the fact that applications and services are actually defined and executed based on their models. That is, platform components read modeling information at runtime to control the behavior of an application or service. The idea is that there is no “code-spit” phase in which source code and modeling information get out of sync—rather, the model is the truth as far as the runtime is concerned.

The ability to define and execute programs in terms of data is one distinguishing characteristic of Oslo. Another distinguishing characteristic is the approach to making modeling information accessible to people. Oslo includes a graphical tool for creating, viewing, and updating modeling information that provides a uniform diagrammatic design surface. For many situations, diagrams are the best way for people to interact with data. However, there are also many situations (and many people) for which text is the best way to think about and work with information. That is the motivation for the “Oslo” modeling language (known as Codename “M” or just M).

M is a language for defining domain models and languages. (The latter are often referred to as textual DSLs.) An M domain model defines schemas and projections over structured data. An M domain language defines transformations between linear text and structured data. Both M models and languages share a common underlying data model for structured data that is compatible with relational stores such as SQL.

Part I of this book describes the domain model and language components from a pre-release version of M (specifically, the October 2008 version of the language). Part II of this document describes the textual modeling language Mg (again, the October 2008 version of the language).

For updates and errata to this specification, please refer to http://msdn.microsoft.com/oslo.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.116.90.246