Welcome to MSDN Blogs Sign in | Join | Help

Model Based Software Development Tools from Microsoft

Hello,

 

My name is Keith Short, and I’m an Architect in the Visual Studio Enterprise Tools Group. I’m responsible for driving Microsoft’s model based development tools initiative. Some of you may have seen the first evidence of what we’re doing in this area at the PDC or in papers we have published since then here and here. The work we spoke about at the PDC was named the “Whitehorse  project. The first three designers that are built on our model based development tool framework will ship in the Visual Studio Whidbey release. Here’s a brief description of Whitehorse written by my colleague and old friend Bill Gibson who is a PM on the team.

 

Whitehorse is a suite of graphical design tools to be delivered in ‘Whidbey’ that supports the design and validation of service-oriented applications based on web services, and is targeted at architects, designers, developers and operations analysts. Whitehorse is an early deliverable from the Distributed Systems Initiative, aimed at improving the design, deployment and management of enterprise-class distributed applications. Whitehorse includes tools for designing and configuring composable application systems, as well as tools for describing a logical view of a datacenter.  Further tools enable the design time validation of an application system against the topology and configuration of a target datacenter.  These allow a user to identify and correct costly errors that would prevent the successful deployment of the application.  Whitehorse supports both forward and reverse engineering of application designs to code – once generated, design and code are continuously synchronized.  Datacenter definitions can be input via the design tools or reverse engineered from existing server configurations.  While Whitehorse will ship with a core set of application and host/server types defined by the Whitehorse team and other groups within Microsoft, it is built on an extensible platform, that will allow customers or third parties to add additional application and host types.

 

Bill and I go back a long way – we were part of the original design team for Texas Instruments Software’s IEF product (born in the mid-1980’s) for anyone out there who remembers the heady days of the origins of the CASE tool industry. Incidentally, another old buddy and designer of IEF is Dennis Minium who is also at Microsoft working on Enterprise Tools for Whidbey. IEF was quite a success story in it’s time (around $500M per year when I was last involved in 1997 – it now languishes in CA under the name Advantage/Gen, I think), but became tarred with the same brush that most (unsuccessful CASE tools) were compromised with in the demise of CASE tools a decade or so ago. I’d be happy to explore why that all happened and why IEF was different if there’s anyone out here who still cares J

 

But back to the PDC announcement of Whitehorse and its underlying technology. Microsoft is building model based development tools!! ”Shock, Horror” said some. “Well, welcome to the party, at last Microsoft gets it” said others. Well I think we do get it (I have the privilege and pleasure of leading a team of architects whose combined experience of model based development is probably second to none - Jack Greenfield, Steve Cook, Stuart Kent and Alan Wills).

 

So what are model based software development tools? Well our short answer is any techniques that allow a developer (or an architect, lead, tester, analyst etc) to work with abstractions that simplify the tasks they are trying to perform in the course of building computer systems. We believe that this is possible without interfering with modern agile development approaches, without having to learn obscure and complex general-purpose “modeling languages”, and without generating loads of unfathomable hard-to-debug code. But we have a lot to do to make sure that the forthcoming generation of model based dev tools does not fall foul of the problems of the last generation CASE tools. We have to make sure that tools that offer higher-level abstractions actually do so in a way that adds value to what developers do, and doesn’t just waste their time with complex procedures to keep “diagrams” in line with code. And it’s about more than just diagrams-to-code. It’s also about how source control systems can be improved with higher-level abstractions, or debuggers, or test tools, or project management tools. For us, that’s what Whitehorse is really about in the long run.

 

I’m new to blogging, but very keen to make contact with folks in our community who share my interests.

 

Looking forward to hearing from you.

Published Thursday, February 12, 2004 11:25 AM by Keith Short

Comments

# re: Model Based Software Development Tools from Microsoft

I really like the looks of "Whitehorse", but it seems to missing one really important facet of distributed enterprise systems: it doesn't really support designing the messages that the systems send and receive. Sure, it allows you to specify RPC-like web methods, but it doesn't encourage message-based systems. I would love to see "Whitehorse" extended with a tool for modeling messages and message exchanges. This could tie-in nicely with the support that Indigo has message-based programming (and raise the profile of those Indigo concepts to their appropriate architectural level, instead of the "low-level", "only appropriate to hard-core bitheads" reputation that they now have).
Thursday, February 12, 2004 12:07 PM by John Cavnar-Johnson

# re: Model Based Software Development Tools from Microsoft

This is an excellent point John. Two comments:

First, for Whitehorse shipping at Whidbey, we could not rely on Indigo being available and therefore are restricted to Web Service technology available today and in the Whidbey timeframe. But your point about higher levels of abstraction is well taken. Indeed it is a principle of Whitehorse to promote higher levels of abstraction as you'll see if you follow the links in my posting. When we support Indigo with Whitehorse, I think it's pretty sure that the tools will be extended to support contracts (message schemas and interaction patterns) in some way.

Second, we are working on some additional features for the Service Designer at Whidbey that allows a focus on the "contract first" development approach that will present a better experience that includes designing message schemas as part of defining the wsdl for a service endpoint.
Friday, February 13, 2004 1:20 PM by Keith Short

# Modelling

Wednesday, February 18, 2004 1:20 PM by Michael Platt's WebLog

# re: Model Based Software Development Tools from Microsoft

Keith, I worked with IEF at American Express in 1980's with Richard Veryard. I have also had a short sojourn since with Select Business Solutions as VP CBD tools. I will be interested to see how Whitehorse copes with the model versioning issues we discussed re IEF. Service versioning and backward compatibility could be a big headache for WS-based systems. Also worth mentioning the CBDiForum website (http://www.cbdiforum.com)- lots of good stuff there.
Thursday, February 19, 2004 7:00 AM by Richard Gilyead

# re: Model Based Software Development Tools from Microsoft

Richard, I agree with your comments re CBDiForum - I've always found David Sprott's and Lawrence Wilkes' comments knowledgeable and incisive. Of course I know them well, but I'm trying to be objective :-)

On versioning, our current thoughts are to avoid the fine granularity of models we had in the IEF. Our approach is more "artifact oriented" - a model is an artifact - in which model structure can vary internally between versions as long as a public "contract" - the externally accessible meta data from the artifact is versioned or remains the same (much lie a .Net Assembly). Versioning of Services once deployed is probably best done in a similar way, much like an interface is today. However, I've seen customers do this in diffrerent ways for deployed services. Either keeping the endpoiint the same and varying logic behind the contract, or introducing a new endpoint to contain new versions of the behavior offered.

Monday, February 23, 2004 12:13 PM by Keith short

# re: Model Based Software Development Tools from Microsoft

Sounds interesting - I need to understand how Contracts and Services will be modelled. UML2 seems weak in that area. Have you got thoughts on how to represent these concepts? Also how they can be integrated with business processes via BPMN?
Tuesday, February 24, 2004 5:37 AM by Richard Gilyead

# re: Model Based Software Development Tools from Microsoft

I'm very happy when I see the comments posted by John Cavnar-Johnson or Richard Gilyead.
I put these same questions to myself about contract designer but about orchestration designer, too. And unfortunately, I did not find answers. What relief to find this blog.

My feelings (My fears) were that Whitehorse forgot the functional (logical ?) view to focus on deployement and a static view as the last version of Biztalk.

And as UML seems be inapt to design a SOA, it must find the rigth tool. Currently we use often sequence diagram (some times activity diagram).

Keith, Can you give more details about the additional features for the Service Designer ? And their availability (Whidbey Beta 1)?
Tuesday, February 24, 2004 9:54 AM by Pascal Recchia

# re: Model Based Software Development Tools from Microsoft

Pascal, like I said above, the best place for some more details on the Service Designer is the paper on MSDN: http://www.msdn.microsoft.com/vstudio/productinfo/enterprise/enterpriseroadmap/default.aspx?pull=/library/en-us/dnvsent/html/vsent_soadover.asp

Our current plan is to make some functionality avaible at Whidbey Beta 1.
Tuesday, March 02, 2004 12:32 PM by Keith Short

# re: Model Based Software Development Tools from Microsoft

I have already read this paper. Currently, I try to understand where Whitehorse is positionned compared to the 4+1 approach : logical view (Functional requirement), Process view, Implementation view, Deploiement view. Whitehorse aims only implementation view and deploiement view. For the others views, it must wait for tiers products based on Whitehorse SDK ?

I'm agree with you about UML, I encourage you in your project and I would be happy if I find the modeling tool for which I wait for a long time.

Thanks.
Saturday, March 06, 2004 6:05 PM by Pascal Recchia

# Whitehorse

Whitehorse
Tuesday, May 04, 2004 4:52 AM by Akira's Blogs

# Whitehorse

Whitehorse
Tuesday, May 04, 2004 9:22 AM by Akira's Blogs
Anonymous comments are disabled
 
Page view tracker