govind kanshi aniruddha deswandikar microsoft...
TRANSCRIPT
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 – YATL
Home – Get groceries - 9:30.Home – Call painter – 9:45.Bank – Call for checkbook – 14:00.Home – Call the plumber – 16:15.
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/
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
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
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
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.