The company is calling the release a community technology preview.
Model-driven software development seeks to impose rule-based structure and workflow on applications in order to make software development more efficient and the software itself more stable and better suited to the needs of users. Oslo itself includes three pieces: a new programming language to help architects and developers describe models, a visual modeling tool, and a repository for storing different models in a database.
Those potential benefits of modeling are in high demand, and existing modeling competitors like IBM Rational are already successful for that reason. "Demand is very high if you ask people: How important is it for you to make your IT staff and developers more productive?" Robert Wahbe, VP of Microsoft's connected systems division, said in an interview.
Modeling will be used primarily by software development firms that want to control and manage software requirements, but corporations will see benefits as well, especially as service-oriented architectures and the use of Web services become more and more popular, complicating software by adding multiple interacting components.
Take, for example, a financial company that builds its own software for analyzing stock and bond trends. An architect could design such an application around event-processing software it already uses. Developers could use a modeling language to specify the kinds of patterns and queries they want to see carried out by the software, and then the software itself would apply the high-level queries to the model the architect designed, simplifying and shortening the whole development process.
To this point, most modeling technologies have primarily made use of text editors rather than visual editors and typically haven't been executable, but that's not the case with Oslo. "We're moving away from a world where models just describe the application to a world where models are a part of the application," Wahbe said.
Oslo will (at least in test versions) be available as an add-on to Microsoft's popular Visual Studio development suite, but with its visual modeling tool, code-named Quadrant, Microsoft says even nondevelopers will be able to manipulate elements of models, such as potentially tweaking a rule in an employee expense application. For example, the number of approvals required for lunches that cost more than $100 could be changed. That's because elements of application models can be described in relatively plain English. Microsoft says Quadrant will be especially helpful for comprehending complicated models with lots of moving pieces and can also look at a set of models together.
Though Quadrant will help make models more easily comprehensible, the underlying backbone of Oslo is a new declarative modeling language known as M. M will be supported by all of Visual Studio's programming language services, like the Intellisense auto-complete feature, and models written in M automatically will generate a visual version for Quadrant.
The final major element of Oslo is a repository. The repository is a SQL database of models and related metadata that allows developers or architects to look at models holistically with database tools like Microsoft Access, Excel, or SQL Server Reporting Services. Likely, customers will have multiple repositories, such as for each project that would include models for business process, for security, and for other important elements of the software's working structure.
Microsoft isn't disclosing the final packaging of Oslo. For now it will be available as an add-on to Visual Studio and will include a number of sample models, including specific ones that aim to, for example, make it easier for developers to create a database or a Web service. The company also isn't announcing its release schedule, but it will make details available sometime next year.