The Artima Developer Community
Sponsored Link

Java Buzz Forum
Interaction is Fundamental - BPEL, Doodling, and Domain-Specific Languages

0 replies on 1 page.

Welcome Guest
  Sign In

Go back to the topic listing  Back to Topic List Click to reply to this topic  Reply to this Topic Click to search messages in this forum  Search Forum Click for a threaded view of the topic  Threaded View   
Previous Topic   Next Topic
Flat View: This topic has 0 replies on 1 page
Paul Brown

Posts: 284
Nickname: paulrbrown
Registered: Dec, 2003

Paul Brown is an entrepreneur
Interaction is Fundamental - BPEL, Doodling, and Domain-Specific Languages Posted: Apr 12, 2004 1:49 PM
Reply to this message Reply

This post originated from an RSS feed registered with Java Buzz by Paul Brown.
Original Post: Interaction is Fundamental - BPEL, Doodling, and Domain-Specific Languages
Feed Title: mult.ifario.us
Feed URL: http://feeds.feedburner.com/MultifariousCategoryJava
Feed Description: Software. Business. Java. XML. Web Services.
Latest Java Buzz Posts
Latest Java Buzz Posts by Paul Brown
Latest Posts From mult.ifario.us

Advertisement
There has been a lot of recent discussion about MDA, SOA, UML, graphical notations, etc.: Radovan, JJ, and Edwin are talking about some presentations from Microsoft. There is a separate discussion about graphical modeling, UML, and MDA between Eric (also this and this) and Stefan. Gregor Hohpe has thought about this space, too. My perspective is that there are a lot of "right" answers. Domain-Specific Languages The presentation from Keith Short entitled "Solution Architecture for the Service-Oriented Enterprise" (look part way down the list) got my attention. Keith's presentation covers a lot of familiar ground: BPEL, web services, model-driven architecture, aspect-oriented programming, ..., but he's the first person I've heard talking about domain-specific languages ("DSLs"). (The presentation is roughly equivalent to this article from October 2003.)Here is Keith's definition of domain-specific (modeling) language (slide 14): Domain Specific Modeling Language Domain-Specific Abstractions Narrow Scope Graphical Highly Expressive Coarse-Grained Abstractions May Be Translated into: General-purpose programming languages Specific framework completion Other modeling languages For comparison, Martin Fowler has a narrative definition with examples.The idea of a domain-specific language is that there is a trade-off between choosing the right tool for description and choosing the right tool for execution. Complexity comes from ill-matched description and execution, and for common problem domains, it makes sense to build and use special-purpose tools - like using a set of sockets instead of readjusting a crescent wrench. I have a broad perspective on DSLs. A DSL need not be graphical. DSLs can be technical in nature, like the XML-based software build descriptors of Ant or Maven, or a DSL can be higher level, like RosettaNet PIPs or CellML. (DSLs have been created for financial services and device drivers, among other domains.) One way or another, a DSL should be specific to a problem domain and should provide a set of useful, coarse abstractions for working in that problem domain.In the future, there will be many DSLs suited to many different purposes along the software value chain that starts at the business level, and there will be a relatively small number of execution environments (JVM, CLR, etc.) that sit at the end of that chain. DSLs and BPEL: BPEL is Not Intrinsically Special This may sound strange coming from the CEO of a company selling a BPEL engine, but there is nothing intrinsically special about BPEL. On the one hand, BPEL is interesting as a DSL for dealing with web services composition by abstracting the mechanics of communication and the flow of control. On the other hand, BPEL is interesting as an export format from modeling environments that will "compile" higher-level (probably graphical) DSLs into BPEL.There is talk of what's left out of BPEL in terms of human interaction, data handling, transformations, etc., and some of that (data handling in particular) needs to be fixed, but the rest of it belongs in some higher-level DSL that maps onto BPEL at the service level.BPEL is special as the industry-affirmed choice of DSL for dealing with web services composition, and it should be developed and assessed with that in mind. Interaction is Fundamental Independent of standards and specifications, the interesting question is what abstractions sit at the next-to-last step in the chain above the JVM or CLR, and those abstractions, as opposed to any specific specification, hold the value because any DSL should be a relatively thin addition. In my mind, the next set of fundamental abstractions focus on interaction, specifically defining new interactive capabilities in terms of existing interactive capabilities. (See 2004-04-03.) Appendix: Viewing the Microsoft Presentations Viewing the Microsoft presentations can, apparently, be troublesome. For those of you on non-Windows, like me, the transcripts from Keith's talk are available, and thismkdir keithshort cd !$ curl -O http://www.microsoft.com/seminar/en/20040213solarch04/img\[001-051\].jpgwill fetch the slides for you. (I watched the presentation in VirtualPC without issue.)

Read: Interaction is Fundamental - BPEL, Doodling, and Domain-Specific Languages

Topic: Human Happiness Never Continues Long in One Stay Previous Topic   Next Topic Topic: A Bit on being Naked in America Today and in Ancient Greece

Sponsored Links



Google
  Web Artima.com   

Copyright © 1996-2019 Artima, Inc. All Rights Reserved. - Privacy Policy - Terms of Use