Friday, December 10, 2004

UML vs DSL

There is some debate of UML vs DSL. Grady Booch basically doesn't like DSL. He wants people to stick with UML (naturally so because he was one of the founders of UML). Want to know my position? Both are right :).

Our view is there will be two tiers of developers:
  • Tier 1: the traditional software professional type who write services which may require good programming expertise and experience.
  • Tier 2: the casual users who just compose or orchestrate existing services created by Tier 1 people to put them together in a way suitable for the situation at hand, which should not require much programming expertise in the traditional sense. Many visual aids and metaphors can be utilized here. The user may be just dealing with, e.g., sources that provide data, sinks that consume data and service compositions/orchestrations in the middle to tie them together. For example, user's particular calendar is the union of two other calendars from the same family, in which case the 2 sources are the two other calendars and the sink is his own calendar and the service in the middle is union.
UML targets Tier 1 without a doubt. DSL currently targets Tier 1. However we think probably only DSL can suite Tier 2. DSL then is really the Cornerstone Shell concept we have talked about.