As if you haven't got enough languages already, Microsoft is about to give you one more: M, part of its Oslo development and service-oriented strategy.
The company is today due to announce M, for building textual domain-specific languages (DSLs) and software models with XAML. Microsoft will also announce Quadrant, for building and viewing models visually, and a repository for storing and combining models using a SQL Server database.
The trio will be released in early access as an Oslo Community Technology Preview (CTP) at Microsoft's Professional Developers' Conference (PDC) this month for testing.
There's no date yet on final availability, although the smart money's on inclusion with Visual Studio 2010 - for which there's no release date.
Oslo is Microsoft's big new push to give developers tools and techniques in modeling and code re-use to improve the design, build, and testing of software. The SOA tie-in comes through the ability to combine models with things such as Microsoft's Windows Workflow Foundation (WF) for process and workflow.
It's a fresh take on an existing model and code re-use concept. Some years back, Microsoft was pushing the idea of Software Factories that featured in the then-new Visual Studio Team System (VSTS).
Software Factories used DSLs and XML for you to build re-usable models that punched out code for specific uses - or domains such as, say, HR in banking.
The factories idea came as it attempted to "democratize" application lifecycle management (ALM) with VSTS by making tools for modeling and testing easier to use. Also, Microsoft was adopting the idea of working with highly tuned DSLs rather than the more generic industry standard Unified Modeling Language (UML), which was seen by some as bloated with version 2.0.
While an admirable strategy, Software Factories have not taken off as Microsoft had probably hoped, and modeling remains a pursuit not of coders but mostly of architects and designers.
Robert Wahbe, corporate vice president of Microsoft's connected systems division, told The Reg that Oslo would give Software Factories a "huge boost" as it would make models easier to build both textually and visually. Wahbe said M will provide unique services not available in other languages - in declarative keywords and syntax and how the DSL is translated and stored in the repository.
Microsoft said it's working with ISVs in order to customize and extend Oslo, particularly in the creation of line-of-business applications and DSLs.
Cross-platform is also in the mix: Wahbe said M could be compiled on Linux and Mac. All ISVs need do is to build a "back end" to the M compiler. You'd have to build in Visual Studio, though, and your models be stored in Microsoft's SQL Server that runs only on Windows.
"The platform executes the model...that model is type written in XML. The reason is, it's a model and that XML file specifies what's intended - not how to do it," Wahbe said.
For those who don't want to get syntactical, Microsoft plans a modeling tool codenamed Quadrant. Wahbe said this will be a generic editor that lets you view a model as a list of nodes, a tree, graph, or boxes of lines laid our for a workflow and combine views to visualize the model.
Underpinning this will be the repository, where you will be able to combine models. Wahbe said models could be combined because they'd be translated into their basic elements - tables. The repository will support models from third parties and those built using UML in addition to those constructed in M and Quadrant.
Microsoft plans to announce plans for packaging and delivery of Oslo pending that CTP feedback, sometime in 2009. Over to you CTP peeps...®