header image

"M" is "Oslo" Modeling Language Language > Tools – Query Analyzer or SQL Server Management Sudio for SQL and “Intellipad” for "M"

Posted by: | January 17, 2009 | No Comment |

The evolution of programming languages have been categorized as 1GL, 2GL, 3GL, 4GL….E.g. Machine Language -> Assembly Language -> C / Fortran -> SQL / Focus 4GL. The evolution of these languages are towards Low level language to High Level language.

In 1995, I stated learning computer languages. First I learned C, just after going through Fundamentals of Computer. In my first Academic project using C, I spent lots of time only for writing thousands lines of code. During this period I have gone through System Analysis and Design – where I learned about how to translate / transform the business application into computer systems [application]. Then I learned C++ and OOP, it was too nice experience, where I could compare the whole thing to real life cases. But it was amazing when I came to know SQL – real 4GL… Writing SQL Statement is  about “WHAT” not “HOW” [With few exceptions – Query Hints etc.]. Using SQL generally few lines code computes the values from a set of collections as the resultset/output. Then I started my career with one of the biggest giant – Petroleum Company in India using Sybase and Power Builder. Here I got opportunity to work with all my favourite technologies.

About the future or coming technologies, termed as NEXT GEN Application, I expressed very early in one of my post published on September 15,  2005 Real Challenge to the architect for architecting and designing for FUTURE application development’s method.

That time I was thinking that DSL, ORM, Modeling language were dream and will be goals for the language developer.

Now Microsoft comes up to this with a fantastic way!!!

In last version – .NET Framework 3.5, we got LINQ, LINQ to SQL, LINQ to XML, LING to Object…. Here we focused more on the Entities, Visual Studio writes the code for data manipulation using SQL/XPath all underlying technologies… we stopped thinking about implementation to map the data source to object classes for .NET to some extents. Here we got LINQ to SQL, LINQ to XML and so on so…

This is not the “Full Stop” (“.”). Along with more advancement, Microsoft came up with “M”. It is “Oslo” Modeling Language which is a declarative language for working with data in more readable way for Structuring the the data as well as for querying too. It’s not about how data is stored or accessed, even not by implementation of specific technology.

M builds on three basic concepts: values, types, and extents.

  • A value is the data which follows the rule
  • A type describes a set of values.
  • An extent provides dynamic storage for values.

M has been designed to map the relational model too. Using “Intellipad” tool of “Oslo”, model the data and the corresponding T-SQL statements generated by the compiler. Here “M”->SQL translates “M” “modules” to SQL “schemas.”

More on..

http://msdn.microsoft.com/en-us/library/dd285271.aspx

http://msdn.microsoft.com/en-us/library/dd159725.aspx

under: 9536, 9539, 9541