Gerben van Loon

Random thoughts on Microsoft Software Development and other related stuff

Questionnaire DSL with Microsoft "Oslo" overview

 Intro

After PDC 2008 there was quite some confusion around what you can do with Microsoft “Oslo”. I was already busy with Domain-Specific Languages for a while so I got a general idea. There weren’t a lot of good and complete demos either for “Oslo”, so that didn’t help in getting “Oslo” clear for lots of people.

Last year back at Avanade I decided to start building a good showcase together with two enthusiastic graduation students (Michael Wolbert and Bryan Sumter) and Felienne Hermans from Delft University of Technology.  Some of you may have already seen this at Code Generation 2009 where I did a session about “Oslo” together with Felienne or at the Achmea Technight where I did a similar session with Alex Thissen. More of you will start to see this demo since it will probably run at the “Oslo” booth at PDC09!

Bryan and Michael pulled this very well together so let me briefly describe what this is about.

The case

Our domain is questionnaires for insurance products. Before you get accepted for insurance product companies tend to ask quite some question so they can calculate risk. These questions generally change quite a lot or extra questions are added due to new insights by insurance experts. Now if you’re a big insurance company and sell quite some products you can build these questionnaires one-off every time, but that isn’t very handy.

The “Oslo” solution

Here is how you could solve this problem with Microsoft “Oslo”. I will only show you how this works for the end users and insurance experts, only briefly how this is build with “Oslo”.

1. Textual DSL

We wrote a textual DSL with M. Insurance experts can use this together with a developer to quickly specify all the possible questions and their types in Intellipad:

 

2. Visual DSL

After pushing into the repository from “Intellipad” the insurance expert can model the order and relationships of the questions in “Quadrant”.

3. Runtime

 If the insurance expert and the developer are done in “Intellipad” and “Quadrant” we can launch the runtime. The runtime picks up all the data from “Intellipad” and “Quadrant” from the repository and shows the right questions. Optionally the developer can spend some time with stylesheets (css) to adjust the looks of the website. Finally the runtime can be used by customers to request insurance products. Questions can be changed (via “Quadrant”) or added ( via “Intellipad” and “Quadrant”) and the runtime will render accordingly.

  

Conclusion

So there you have it, a full case of how “Oslo” could be used for this problem. Again credits to Michael Wolbert and Bryan Sumter for pulling this together. Hope they start blogging about the inner things of how they got this working. Go check this out at the booth of the “Oslo” team at PDC09 if you’re lucky enough to be there.

Comments

Antoine Savelkoul said:

In my previous blog posts and papers I referred to my master's project. During this project I designed

# November 10, 2009 8:42 PM

Jeff H. said:

Is this demo available as a sample? I have a similar need in Human Resources and this example is very intriguing and I would really like to explore it.

Thanks

# November 12, 2009 9:04 PM

Gerben van Loon said:

Sorry Jeff unfortunately it isn't. It's built on a private released ctp and isn't working yet on the latest public release. The latest "Quadrant" changed quite a bit so I doubt if we can get that working.

# November 28, 2009 2:00 PM
Leave a Comment

(required) 

(required) 

(optional)

(required) 


Please add 5 and 5 and type the answer here: