Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
Coordinating rule-based software processes with ESP
Ciancarini P. ACM Transactions on Software Engineering and Methodology2 (3):203-227,1993.Type:Article
Date Reviewed: Jul 1 1994

ESP is a Prolog language extension (derivation) specifically for modeling software processes. My previous encounter with software process descriptions (beyond the inevitable use of UNIX’s make) has been APPL/A, an Ada extension for the same purpose (referenced in this paper, and used in the US STARS program). I believe Prolog to have some features that make it significantly more suitable than Ada extensions to the task of describing processes (after all, make is also a rule specification language, and it is clearly the grandfather of process enaction mechanisms). ESP extends a specialized form of Prolog with the ability to have multiple execution threads that coordinate by passing tuples (vaguely like collections of old Prolog assertions) and tuple spaces (assertion sets) between producing and consuming threads (called agents).

It is not clear to me that ESP is strictly a modeling language, though that is how it is introduced; it seems that the models can also be enaction mechanisms with additional mechanisms (and in fact they seem in the text to be used as enaction mechanisms, much like a make replacement).

The paper introduces a process modeling language based on rules, which is different from the other process modeling language, APPL/A, based on Ada, and certainly different from approaches using directed graphs. The paper fulfills its purpose, though I would like to see more. I would like to hear about the implementation of a language processor for ESP (if one exists), efforts to actually use ESP process descriptions, and more of what comes next, given the existence of this language (for example, users’ experiences with it).

The length is about right. The paper would become too long if it covered all the facets of ESP use that I would have liked to see covered. The paper raises awareness of process modeling languages and the use of Prolog derivatives for rule-based instead of procedural techniques.

Process models should be able to express policy involving both humans and machines. They resemble a make script that includes human decision processes, reviewer interactions, management decisions, peer advice steps, and the like. This paper’s examples concentrate exclusively on the machine part (automating the edit-compile-if_test_okay-checkin process), but not the policy, advice, human interaction, and group coordination. I believe the technology presented is capable of expressing both parts, and I encourage the authors or future users to consider the advice, guidance, policy, and direction elements of a process that are performed by humans as well as machine scripts.

Process modeling languages, if they are also used to enact processes (and I believe ESP is headed in that direction), need to be integrated with other tools. Graphical modeling notations (in the author’s list of future activities), the addition of persistence (such as by the use of PCTE or a similar public tool repository), the addition of object modeling integration (such as by CORBA and OMG OMA feature integration, or Microsoft OLE 2), and even the use of simple intertool notification schemes (CASE Communiqué and X3H6) would be worth discussing.

Process modeling has become a somewhat specialized field. Technical conferences have developed around this topic, tools have come on the market (including the EAST environment, Synervision, and Process Weaver), and a minimal background is assumed. I am not aware of a way to jump into this field other than by diving in. My greatest concern is that some readers may slog through the entire paper and feel they recognize commonplace English words, and not recognize the existence of a separate software engineering process community.

I like the rule-based, Prolog-based approach for process and policy modeling, compared to other descriptions of the use of procedural languages. An equal number of people will prefer procedural instead of rule-based descriptions, however.

The paper includes a good list of technical references. I would like to see product references added.

Reviewer:  Herman Fischer Review #: CR117559
Bookmark and Share
 
Management (D.2.9 )
 
 
Concurrent, Distributed, And Parallel Languages (D.3.2 ... )
 
 
Logic Programming (I.2.3 ... )
 
 
Methodologies (D.2.10 ... )
 
 
Software Development (K.6.3 ... )
 
 
Applications (I.6.3 )
 
  more  
Would you recommend this review?
yes
no
Other reviews under "Management": Date
Software technology transitions
Walter J. J., Prentice-Hall, Inc., Upper Saddle River, NJ, 1992. Type: Book (9780138249397)
Aug 1 1992
The professional user’s guide to acquiring software
Connell J., Shafer L., Van Nostrand Reinhold Co., New York, NY, 1987. Type: Book (9789780442210434)
Sep 1 1987
Software engineering environments: concepts and technology
Charette R., Intertext Pubs./McGraw-Hill Book Co., New York, NY, 1986. Type: Book (9780070106451)
Sep 1 1987
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy