govind kanshi aniruddha deswandikar microsoft...

32

Upload: dinhtuong

Post on 19-Apr-2018

216 views

Category:

Documents


2 download

TRANSCRIPT

Govind KanshiAniruddha Deswandikar

Microsoft Technology Center

Agenda

Goal – Overview of capabilities of Oslo toolkit at high level (200)

Audience – practicing developers, architects

How –3 specific problems and their specific solutions with possible demos at high level

Focus on how Oslo helps model and develop one of those solutions

Problem Domain – Custom Rules

Rule abstraction for business users

M driven Rules engine

Model Runtime

What happens

Rules Order Store

Problem domain – YATL

Home – Get groceries - 9:30.Home – Call painter – 9:45.Bank – Call for checkbook – 14:00.Home – Call the plumber – 16:15.

Model Runtime

What happens

Task Store

Problem domain –Behavior Driven Design

Expression of requirements in form of story

Why – again reduce the ceremony of writing separate tests and remove communication problem with stakeholder

example

Feature: Search

In order to learn more

As an information seeker

I want to find more information

Scenario: Find what I'm looking for

Given I am on the "http://google.com" page

When I search for "drupal magento flex" in form with name "f"

Then I should see a link to “http://www.rediff.com”

- Ref : Arthur Murauskas - http://blog.adyax.com/2009/03/ruby-cucumber/

Behavior driven design

Model Runtime

What happens

Requirements

Model

Tests

Summary

Intent MODELED in domain specific

notation

Runtime – extract “Intent” +Do something

Domain?

Domain Model

Runtime

Chess anyone?

1. d4 Nf62. c4 e63. Nc3 Bb4

Nimzo-Indian Defence

Remember Chemistry

C6H14

DSL – Domain specific language

We know them alreadyT-sql, xml config files, attributes based com+ coding

Music notation, Chess position

Chemical processes

Internal (use base language or in modified form)Ruby/Python

C# - mservice, boo

ExternalPretty much anything under the tree

Real dealLet us model the task list.

StepsGrammar

Use Intellipad tool

Use m to compile the resulting grammar

ModelUse Intellipad tool

Use m to compile the resulting model

Use mx to install into repository

Use mx to extract m out of input

Runtime

Sample grammer and parser

Now what

We had the grammar

We defined a parser which parsed it and returned us something

What do we do next with it

We use “output” to do something “interesting”.

Runtime

LoadFromAssembly– we are done

ParserFactory.Create()

Talk to database

Talk to another “abstraction”

Spitout “intent” – xaml/asp.net mvc /wf/ orchestration

Runtime DemoNameTitleCompany

What did we see

Problem domain

Our solution

A tool which helps Define grammar based on input

Which parses and applies production rules to provide output

We create a runtime to do interesting things with it

Let us get terminology right

Intellipad

M Structure (Mschema)

Instance (Mgraph)

Repository – place to store the model

what we did not see today- Quadrant

Big picture

Intent – Domain Specific Notation

Grammar

Inference

Model

Transformation

UI – ASP.NET/WPF Persistence Workflow

Transformation

Where do you go from here

MODELS !

MODELS !

MODELS !

Related Content

Breakout Sessions (session codes and titles)

Interactive Theater Sessions (session codes and titles)

Hands-on Labs (session codes and titles)

Hands-on Labs (session codes and titles)

Track Resources

http://msdn.microsoft.com/en-us/oslo/default.aspx

Resource 2

Resource 3

Resource 4

© 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS,

IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.