Infosys Microsoft Alliance and Solutions blog

Main

July 01, 2009

Issues with “Oslo” SDK May 2009 CTP

“Oslo” is a very nascent yet promising technology. Hence working with the “Oslo” SDK in its current state does pose a lot of challenges. As I had mentioned in my previous post, the “Oslo” May CTP released a month back. We were working with the Jan CTP till last month and hence we were excited about the new CTP. The list of improvements that had been made seemed very impressive. The setup was really quick and easy. It was great to get a good first look at the Quadrant tool. But when we tried opening up the MGrammar file that we had developed using the Jan CTP in May CTP Intellipad, we faced a couple of issues.

Continue reading "Issues with “Oslo” SDK May 2009 CTP" »

May 28, 2009

“Oslo” May 2009 CTP Released!

Yesterday Microsoft released the May 2009 CTP for “Oslo”. This was a surprise release for me as I was not expecting another release till August this yearSmile. But as promised they are coming out with frequent releases to keep the community interested and engaged, which I think is good. To know more about what’s new in this release and what has changed, I would suggest you go through the blog post by Kraig, Kent, and Chris (editors on the "Oslo" Developer Center) and the release notes. You can download the CTP from here.

Continue reading "“Oslo” May 2009 CTP Released!" »

May 19, 2009

Custom Classification Types and Formats for your Textual DSL

Classification types and their formats are defined to perform text formatting in Intellipad for your textual DSL. For example, you would want to define text formatting for your language tokens like keywords, comments, values etc. so as to make it more readable while viewing/editing inside the Intellipad. The out of the box classification types as well as their formats are defined in ClassificationTypes.xcml and ClassificationFormats.xcml respectively under the folder: C:\Program Files\Microsoft Oslo SDK 1.0\Bin\Intellipad\Settings folder.

Continue reading "Custom Classification Types and Formats for your Textual DSL" »

April 09, 2009

Where is Oslo going?

It’s always great to go through debates on new technologies. It is sure to give you some interesting insights into the technology at the same time forcing you to think n number of times whether you would want to invest your time on it. I came across such a debate on Microsoft “Oslo” today. There is a post - Where is Oslo going? at ebPML.org. If you are a developer who is getting started on Oslo, you might get disheartened when you read this one and you might start asking yourself whether you would want to really invest your time on this piece of technology. This post criticizes the thinking behind Oslo and its usefulness in moving towards Model Driven Development. The author of the article concludes by saying, “This project is focused on solving problems that people have already solved and completely missing the mark on MOP.” For those of you who don’t know what MOP is; it stands for Metamodel Oriented Programming.

Continue reading "Where is Oslo going?" »

April 08, 2009

"Oslo" Repository's Design Support for Schema and Data Versioning

An application has a lifecycle of its own and is prone to changes and enhancements. Hence when we talk about model driven applications, it becomes really important to think about how you can version your Schema and Data that you have in your "Oslo" repository. This whitepaper on MSDN provides an overview of the "Oslo" repository's design for supporting schema and data versioning.

April 02, 2009

Teach the Code to Hack Itself...

And the more it hacks itself, the more secure it becomes. Compilers are hard task masters. They cut out a distinct path for the application execution and force it to run that way, come hell or high water. Letting an application change its behavior by teaching it to understand itself has been a fairly less explored subject.

Continue reading "Teach the Code to Hack Itself..." »

March 25, 2009

Home Automation using Oslo!

I came across an interesting blog post written by Kris Horrocks where he has talked about building a textual DSL using MGrammar for home automation. The reason why he decided to build a DSL like this was to understand the gap between the Oslo team vision and the current state of the bits that customers are using. It’s worth reading this interesting post titled - "Oslo is running my house", to understand the power/potential of the Oslo platform. This I feel is a great example of how we can utilize the Oslo platform to do tasks other than just creation of enterprise applications or framework components. I am sure that this is just the beginning and going forward we would see more such interesting DSLs being written to solve interesting "real life" problems using the Oslo M Language. In fact we can already find some interesting stuff in the "M" Language Gallery. The "M" Language Gallery is the place to find grammar and schema definitions implemented by both Microsoft and the community.

March 23, 2009

"Oslo" SDK January 2009 CTP (Refresh)!

MS decided to "refresh" the January CTP to fix two issues with “three-pane mode” sample in Intellipad. This was mainly done because MS recieved quite a few reports of instability and performance issues with large grammars. You can download the "refreshed" Oslo SDK January CTP from here. Hope going forward we don't see the Intellipad crashing often!

Oslo MGrammar : @{CaseSensitive[false]} or @{CaseInsensitive}?

I wrote a small MGrammar for creating my own DSL and all I wanted to do was to make my DSL a Case Insensitive one. I thought this would be an easy task with the CaseSensitive attribute that I found in the MGrammar Language Specification Document that gets installed when you install the Oslo SDK. But when I used the attribute in my grammar, it just didn't work! Being a nascent technology, I couldn’t find much help on the web, but when I went through the Release Notes of the Oslo SDK Jan 2009 CTP, I could find a section for breaking changes, where I could find the fix for this problem. In fact MS has renamed the attribute to CaseInsensitive. It was just that the MGrammar Language Specification document had not been updated (don't know how could they miss this!) to reflect the same. CaseSensitive attribute was part of the earlier MGrammar specification.

Continue reading "Oslo MGrammar : @{CaseSensitive[false]} or @{CaseInsensitive}?" »

March 19, 2009

Developing Truly Autonomous Software

Isaac Asimov imagines a world called Gaia. It’s a perfect world where the inhabitants communicate by consciousness. Through their collective consciousness they can heal themselves or even predict and avert a natural disaster. Science Fiction of a few decades ago tends to become technology in not far a future. So how far is the present day software from realizing Asimov’s Gaian hypothesis.

Continue reading "Developing Truly Autonomous Software" »

March 13, 2009

Intelligent Software and the Logic of Infinite Monkeys

So what is this whole thing about creating “intelligent” software? To understand where we need to go, we need to understand where we came from. So let’s take a step back and think of the most important thing (apart from learning your syntax) that you need to write your code.

Continue reading "Intelligent Software and the Logic of Infinite Monkeys" »

March 11, 2009

Next Generation Software Factories

We are at the forefront of a revolution in Software Development paradigms. Over the years, we’ve moved way ahead from struggling to manage the computer memory for our programs to writing globally distributed software services. But software development continues to be a dumb old process of writing reams of design documents, understanding and writing tons of lines of code.

Continue reading "Next Generation Software Factories" »

March 03, 2009

Oslo Repository creation not successful?

A couple of weeks back I was trying to set up the Olso SDK (January 2009 CTP) on my system when I met with this problem. What was the problem? The problem was that whenever the setup tried to install the Repository database, it failed. The error message that I saw on the console didn’t help me much, neither did the entry in the RepositorySetup.log in the temp folder. Something which was very evident while going through the setup was that Repository setup GUI only supported creating a repository database on the default instance on the current machine. Another restriction is that the Oslo repository database can only be created on the 2008 version of SQL Server. Now the resolution to this problem was to do the setup by running the CreateRepository.exe by specifying the correct instance name of the SQL Server 2008 on our machine using /s switch.

Continue reading "Oslo Repository creation not successful?" »

February 17, 2009

DSL as a Means of Improving Developer Productivity

The reduction of the transformation activities between man thoughts and executable software has been the quest of the software development world for a very long time, and though Domain-Specific Modeling is a major step in that direction, maintaining different levels of abstraction and making them work together is never an easy task.

Continue reading "DSL as a Means of Improving Developer Productivity" »

February 13, 2009

Yours Curmudgeonly, Developer.

A conversion between two developers: (I wasn’t overhearing, they just happened to talk loud enough)

Developer 1: If Darwin’s Theory of Evolution was true and men really came from apes, why aren’t any apes becoming men these days?

Developer 2: Oh yes, they are. They are called developers.

Continue reading "Yours Curmudgeonly, Developer." »

January 29, 2009

Calling Blueprint Command from .mht file

In the last blog we saw how to create WF process workflow for your blueprint to provide workflow based guidance. We also saw Workflow window where Activities are listed on left hand side showing whether those are ready to execute or blocked whereas right hand side was used to explain details of each activity as shown below.

Continue reading "Calling Blueprint Command from .mht file" »

Creating WF Process Workflow for your Blueprint

One of advantages of moving on to Blueprint over GAT/GAX is ability to have workflow based guidance. This ensures developer knows exact steps to follow and sequence of those steps to achieve certain solution which blueprint is addressing. Now we will cover how to create your own WF process workflow for your blueprint.

Continue reading "Creating WF Process Workflow for your Blueprint" »

January 02, 2009

Creating Parent – Child Blueprints

Today we will see how to relate one blueprint with another as parent-child. This is very useful feature which Blueprints provides as it makes sure user has unfolded parent blueprint first before using child blueprint. It also helps to relate blueprints according to their functionalities. We can even control unfolding of child blueprint either along with parent blueprint or separate.

Continue reading "Creating Parent – Child Blueprints" »

December 31, 2008

Unfolding Multiple Projects using Blueprints

In this blog we will see how to unfold multiple projects using Microsoft Blueprints. Unfolding default project or single project is quite easy. We will start with default and single project first and then see what extra needs to be done for multiple projects.

 

 

 

 

 

Continue reading "Unfolding Multiple Projects using Blueprints" »

November 10, 2008

Microsoft Blueprint Walkthrough – Creating My First Blueprint

One of my colleague, Archana Sachin Ghag who is a key member of our software factory team has just finished writing a Blueprints Walkthrough. I am sharing this walkthrough with rest of the development community hoping it may act as a jumpstart for your Blueprints adoption.

Before you start creating your own Blueprint using Microsoft’s Blueprint Manger go through this article which introduces Blueprint Concept and Blueprint Manager. To start building your own Blueprint, Blueprint Manager comes with “Microsoft Blueprint Factory” which is nothing but a Blueprint itself.

Continue reading "Microsoft Blueprint Walkthrough – Creating My First Blueprint" »

November 07, 2008

Microsoft Blueprints - Building Process Oriented Contextual Guidance

Introduction

Before we start discussing Microsoft Blueprints technology, let us try to answer this simple question: Do you have structured and systematic reuse practices in place? Please don’t rush to the answer because when one says “reuse”, the first thing that comes to mind is “code” reuse and our answer is mostly based on this perception. To bring objectivity while explaining the concept of reuse we should think in terms of reuse of intangible assets like reuse of knowledge, intelligence, domain/technical expertise etc. You might have gone through the situation when an experienced person quits the team and you find yourself struggling to meet the deadlines. Why? Because, we always tend to reuse the person itself rather than his/her knowledge or intellect. And a time comes when you become heavily dependent on that person to implement defined procedures and processes. So, the question is why do we need to re-invent the wheel when ideally we can embed all of our intellect and expertise inside a workflow based process-oriented tool and reuse that tool itself to implement a particular aspect or process during software development lifecycle or develop a particular feature of a specific type of application for example, implementing MVC pattern for your web application or implementing Single Sign-On or implementing a Data Access Layer using Entity Framework. There are a multitude of scenarios where you can use this kind of a tool tightly integrated with your development environment to provide step by step guidance to build a finished product.

Continue reading "Microsoft Blueprints - Building Process Oriented Contextual Guidance" »

April 01, 2008

Satire: Harri Developer and the Knowledge of Domain

This is a sad story. So please do not laugh.

Harri was born a developer. People say, the baby was born with a Silverlight spoon. When he was three weeks old, he wrote his first ‘Hello World’ application.

Continue reading "Satire: Harri Developer and the Knowledge of Domain" »

March 31, 2008

MS Software Factories...

There are some rumbling on the software factories from MS.

It has been nearly 4 years since Jack Greenfield articulated Microsoft Software factories vision. He talked about state of software engineering in his famous book. We have got bunch of PnP guidance packages(http://msdn2.microsoft.com/hi-in/practices/bb969097(en-us).aspx - scroll to then end of the page) that adresses solution domain rather than the problem domain. To some people, these guidance packages have given a different understanding of software factories rather than what was articulated in the vision. Software factories have become synonymous with code generation. These PnP software factories give good guidance and productivity gains but they are not full vision of software factories.

Every one knows that as of now MS has not released tools to realize all the four pillars ( Software Product Lines, Domain Specific Models, Context Guidance and Architecture Frameworks) of software factory vision. Currently, DSL tools like GME from Vanderbilt university have better features than DSL tools from MS.

Complete vision of software factory as articulated few years back is not realized yet but on the other side MS is coming up with Software factory tools support in next version of Visual Studio "Rosario". Check the DSL tools roadmap . Check the updates that are present in Rosario CTP's. These new tools in Rosario represent a definitely a way forward (assuming that they will make it to final release!) but the question is would they give the kind of benefits envisaged in the software factories vision? Only time will tell. 

For latest happenings, refer to software factory community at http://sf.devrevolution.com/

March 07, 2008

A Refactorability Approach to Software Reusability

“If creating a cyborg by plugging human limbs and machine components could become a reality, why is it difficult to create software just by plugging other software components?”, a pal once asked me. “The answer is in the question”, I replied, “Creating reusable components is as much of a trick as a cyborg”.

Continue reading "A Refactorability Approach to Software Reusability" »

July 09, 2007

Software Factory: Behavior based Meta-Models

There was one quote I remember from somewhere: “Code as if the guy who is going to maintain your code is a manic serial killer who knows where you live”. Scary thought, but I swear by it.

Continue reading "Software Factory: Behavior based Meta-Models" »

June 29, 2007

Software Factory: Business Semantics based Meta-Models

Software, these days, are so much like the people who build them – disparate, hard to change, easy to break, and an inexplicable dire need to interact with one another. No man is an island, and so are software systems.

Continue reading "Software Factory: Business Semantics based Meta-Models" »

June 22, 2007

Software Factory: Meta-Model - The "Eats, Shoots & Leaves" of DSM

Life is all about using the right punctuations in your language. Between "Spare him, not kill him" and "Spare him not, kill him" there's as much difference as between life and death, albeit the same bunch of words.

Continue reading "Software Factory: Meta-Model - The "Eats, Shoots & Leaves" of DSM" »

June 15, 2007

Software Factory: The ABC of DSM

Domain-Specific Modeling (DSM) does to present day programming languages, what the present day programming languages did to Assemblers – hide the nonsense.

Continue reading "Software Factory: The ABC of DSM" »

June 08, 2007

Software Factory: Adopting DSM for High Evolvement Systems

How you wish you could write a software and say – "Write it, Shut it, Forget it"? If only businesses were so simple and straightforward, and everybody in the world understood everybody else every time of the year. Sigh! There is no dearth of dreams.

Continue reading "Software Factory: Adopting DSM for High Evolvement Systems" »

June 01, 2007

Software Factory: Adopting DSM for High Complexity Systems

If a picture is worth a thousand words, a model is worth a thousand lines of code. No, seriously. Despite the insistence on loosely couple architectures et. al., the complexity of the system and hence its underlying code has, historically, been the least receptive to changes.

Continue reading "Software Factory: Adopting DSM for High Complexity Systems" »

May 25, 2007

Software Factory: Domain-Specific Modeling

Have you noticed that dirty stare your developer gives you, when you walk up to him with a change in requirement? Let’s see – there needs to be an impact analysis, change of design, change of code, more dirty stares, updating dependencies, regression tests, more change of code, more dirty stares. And then there is another change in requirement. You figure.

Continue reading "Software Factory: Domain-Specific Modeling" »

May 18, 2007

Software Factory: Towards the Holy Grail of Software Development

Remember the days when you used to punch some quirky looking characters on a flickering green screen they used to call a "computer"? I guess most of us were not even born then.

Continue reading "Software Factory: Towards the Holy Grail of Software Development" »

Subscribe to this blog's feed

Infosys on Twitter