核心期刊网首页> 外文会议> 计算机 & 自动化

Mechanisms (session summary)


Takuya Katayama lead the discussion on Mechanisms for Software Process Description. He classified software process views as reflected in the position papers into functional, behavioral and enactional, described some generally desirable properties of software process mechanisms, and listed those projects that seemed to have obtained non-toy experience.

rn

He made a plea for each of these projects to answer a questionnaire that, among other things, requested information regarding how the formalism handled ill-behaved processes. One generic example of an ill-behaved process was given: repeat function1, …, functionn until predicate1, …, predicatem are satisfied. It is not really clear to me that this process is ill-defined, since it seems to be computable using normal means; my opinion is that an ill-defined process is one that is made up and/or arbitrarily changed while it is in progress, in the sense of self-modifying code (e.g., Lee Osterweil's universal process program --- an unfair characterization since Lee didn't show up to defend himself). In any case, Katayama's questionnaire will hopefully be addressed in the position papers for 6ISPW.

rn

The discussion focused on several interesting issues. The most controversial was instigated by Mark Dowson, when he asked what is the definition of 'activity'. There were a number of different responses, but most fell into one of three camps.

rn

The first, which I'll call notation-oriented, defined an activity as the primitive (according to Watts Humphrey, the instruction set) of the process modeling notation. In general, the notation might lack facilities to express decomposition of an activity, or at least --- as Colin Tully states --- we choose to regard such units as decomposable. The second, people-oriented, defined an activity as a primitive in the real-world process being modeled. Bill Curtis said this might be a job that one person takes responsibility for, without interaction with other people; the process would be defined in terms of such interactions. The third, which I'll call process-oriented, was exemplified by Dewayne Perry's definition of an activity in terms of causes (preconditions?) and goals (postconditions?) with respect to the process. There was some argument over whether or not such an activity necessarily resulted in an observable change of state. Bob Balzer pointed out it is an open question as to whether syntax (notation) can realistically be separated from semantics (people and process).

rn

There was some argument in all three camps as to whether activities were really primitive, as assumed in the definitions above, or could be decomposable at a lower level of abstraction. One issue is whether or not a particular activity can be decomposed with respect to the question at hand (David Carr), for example, the encapsulation might be due to ignorance (Sam Redwine); alternatively, there may be no need for decomposition (Frank Belz).

rn

One response by Mark Dowson seems to cut across all three camps: tasks are defined as managed units (i.e., the units are scheduled and allocated resources), while activities are not managed separately from their enclosing tasks. But this leads to the distinction pointed out by Peter Feiler of machine-level scheduling and resource allocation versus process-level, since everything executed on a computer is scheduled and allocated resources at a fine granularity by the operating system. Taly Minsky expressed a concern that this entire discussion was at too high a level of abstraction, and we should return to more operational definitions; however, I think that discussion of scheduling and resource allocation is quite concrete, since we can define (computer or bureaucratic) algorithms to carry out these operations.

rn

At this juncture, Anthony Finkelstein pointed out the need for folk classification: what do the people involved in a process think are the meaningful units? This lead into a new controversyover the notion of 'commitments', which seemed to have at least as many definitions as 'activities'. Here the division seemed to be over whether the most important concern was why things are being done versus what is being done; there was also an issue over what it meant for commitments to be retracted. (The conversation was rather random, so I can relay only a small subset of the interesting comments made by particular individuals.)

rn

Bill Curtis pointed out that computerized formalization and monitoring of commitments may appear to project personnel as Naziware; further, if there is a shared information base for rationale capture, who monitors and cleans it up? Sam Redwine gave the example of burying a project to track the fulfillment or lack thereof of presidential campaign promises. Walt Scacchi made a distinction between strong commitments, with real consequences if broken, and weak commitments, which are no big deal; Bill Curtis mentioned false commitments, based on what is acceptable to management or customers rather than how things are really done.

rn

According to Anthony Finkelstein, there are four kinds of commitment: commitment to a statement, no commitment to a statement, commitment to the negation of a statement, no commitment at all. Taly Minsky mentioned the commitment (or obligation) to restore inconsistent states to consistency; Ian Thomas pointed out such a commitment might be from an individual to himself, and not necessarily public.

rn

There was a digression and some brief confusion over the use of the term commitment as it relates to transactions, but that was determined to be irrelevant to the discussion at hand. Watts Humphrey defined a commitment as between people, freely entered into, based on intelligent knowledge, public, with a clear intention of performing, and prior notification and renegotiation if the commitment will not be met. In this sense, project personnel themselves act as two agents with respect to commitments, one that makes commitments while the other monitorswhether the commitments are being fulfilled (Mark Dowson).

rn

After the break, two specific projects were briefly discussed.

rn

Karen Huff described her work on rule-based process modeling and planning. She made three main points: (1) components should be defined to permit dynamic construction of processes, in order to accommodate failure and iteration, particularly for ill-defined processes; (2) there is an important distinction between doing versus deciding what to do, i.e., it should be possible to reason about a course of action without committing to start its execution (Bob Balzer describes this as envisionment versus enaction); and (3) the process should be viewed in terms of its state of completion with respect to its goals rather than as an instruction pointer and a snapshot. She noted that the ability to decide was built-in, as opposed to a separate process.

rn

This led quite predictably to a discussion about planning (Bob Balzer) versus doing (Pamela Zave) versus planning in response to feedback from doing and measurement of progress (Sam Redwine). There were a number of questions, mostly from Dennis Heimbigner and Bob Balzer, regarding the power of Huff's notation (apparently Turing-complete in theory, but not fully implemented), its application to representing real processes (primarily Unix-based coding and testing), and the difficulties encountered (there is a problem with suspending and then resuming a plan after the world has changed). I mentioned the concern about side-effects from what might otherwise be considered an atomic activity, and how such side-effects could be detected (the best we can do is operating system support --- which of course doesn't work for off-line activities) and modeled. Wilhelm Schaefer delineated the problem of combining process models for individuals, who can change their processes at will.

rn

Going on to the next brief project description, Walt Scacchi described his work on a hypertext environment, where an empirical evaluation was made with respect to student groups. The process was defined at the intergroup but not intragroup level, and there was no control over the work division among participants. Not surprisingly the unexpected circumstances arose at the intragroup level, which turned out to be decomposable after all and led to the greatest variation in productivity and quality. Individuals may introduce new tools spontaneously, and there's no general way to describe this. There is thus a need to produce new processes and apply them on the fly, as well a model interactions among multiple agents whose purpose may be to decide what to do next; since people meander, processes need to be able to meander. People operate in an open world situation, but the process is defined by a closed world formulation.

rn

Watts Humphrey pointed out that processes don't transplant well; outside processes are not accepted and a sense of ownership (achieved through improving the process) is needed. Marc Kellner brought up the issue of where do processes come from, e.g., DoD guidelines. This led to a discussion of description versus prescriptive processes (Marc Kellner) and abstraction versus instantiation of processes (Bob Balzer). Anthony Finkelstein questioned the idea of an emergent process. Walt Scacchi responded that modeling technology is too heavy to support modeling on the fly, and the effort of changing the model but be less than just doing the work correctly.

rn

At the end of the session, Colin Tully suggested holding a process description contest, with a benchmark process that all participants would define in their own process modeling notations. Anthony Finkelstein pointed out that this is problematical, however, since different notations address widely differing aspects of the process. It might be most reasonable to have at least two benchmarks, one involving upstream and the other downstream activities, with no expectation that every process modeling notation addresses both areas. Hopefully this will be addressed in the call for 6ISPW.

......

【作者名称】: Gail E. Kaiser
【关 键 词】: Mechanisms (session summary)
【会议名称】: Proceedings of the 5th international software process workshop on Experience with software process models
【期刊论文数据库】: [DBS_Articles_01]
【期刊论文编号】: 101,418,795
【摘要长度】: 10,216
【会议地点】: Kennebunkport, ME(US)
【会议组织】: ;
【会议时间】: 1989
【上篇论文】: 外文会议 - Experience with Marvel
【下篇论文】: 外文会议 - Policies (session summary)

【论文下载】: 免费获取 该期刊&论文全文内容