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

Control (session summary)


Bob Balzer initiated the discussion with the contentious claim that planning languages are the proper basis for process models. He then divided the participants into two general camps according to their position papers: those for and those against the planning thesis with subgroups of zealots, believers and supporters.

rn

The argument for the thesis is exemplified by two approaches taken by the zealots: 1) [Huff's view] process definition as a plan instantiation --- plan construction is subgoaling, envisionment is done via explicit pre and post conditions, and exceptions are handled via replanning; and 2) [Thomas' view] process as a goal-directed activity --- where planning separates and systematizes execution dynamics from model dynamics and the paradigm is plan, instantiate, and replan. Balzer listed (by first author on the basis of the position papers) Curtis, Dieters, Heimbigner, Kaiser, Roberts and Balzer as believers in this position, and Boehm, Carr, Cheatham, Feiler,Finkelstein, Kishida, Lehman, Matsumoto, Nakajima, Redwine, Rombach, Scacchi, and Zave as supporters of this position.

rn

The argument against the thesis is exemplified by the process programming camp where it is held that process languages will strongly resemble programming languages and that properly conceived and developed environments can support both process and product development. Implicit in this approach is the claim that current languages are sufficient and that there is experience to support this claim. Balzer remarked that the examples in the position papers did not supply a sufficient basis for this claim. Unfortunately, Lee Osterweil had been unable to attend and support his position (though it was in fact supported rather eloquently by others). Garlan, Kellner, Nakagawa, Sugiyama and Wileden were listed by Balzer as believers, and Katayama was listed as a supporter. (Humphrey, Minksy, Penedo, and Reiss were listed as 'other'.)

rn

The force fit into one of two camps was strongly objectedto. Dowson noted that we need to look at the harder issues and support for them, provide abstract arguments and reasoning about them. There may be elements of planning languages and elements of standard languages in a multiparadigm environment. It was also noted that there was as little evidence on the planning paradigm side as was claimed for process programming. In particular, we have not seen any non-trivial plans.

rn

Finkelstein noted that the 'pro' camp was anyone with a slightly AIish flavor and that his work stressed the local management of the process where the dominant features result from the manipulation of the minutia of work rather than of overall goals. Further we need to keep the methodic angle in full view --- that is, we are concerned with more than just the invocation of tools.

rn

Further discussion centered on modeling and the levels of description required --- for example, descriptions that range from very general goals to explicit, detailed descriptions of how things are to be done. Wileden pointed out that planning languages are very vague about how a goal is to be achieved, but very good at recognizing what has been done. It was pointed out by Kellner that there are various objectives that may be desired in a model and these may differ from one context to another. In order to adequately compare objectives, we need to identify the context. For example, a general goal may not be particularly useful in the context of learning. We may need more guidance in how to achieve the goal, need more structure, need a more detailed 'roadmap'. In this sense, planning is often more 'implicit' than 'explicit', though it is often claimed as the reverse. In general, we need a wide variety of plans from general goals to detailed descriptions. Feiler and Zave agreed that we needed multiple paradigms: in the case of building a system, we may need only general goals; in the case of training, we need details.

rn

Roberts agreed with Dowson and went on to point out that planning is relevant because thatis what we do in the actual process: we plan, analyse, design, instantiate, evaluate and replan. Huff noted that we need to cover a range of planning in the processes. Some environments need highly structured process while others do not. We need to keep in mind both the process and the product (the one is bound up in the other). Thomas rightly noted that the underlying computation model was exceedingly important in considering the language of expressing processes in all their generality and detail.

rn

Dynamism was another important topic of discussion. Balzer noted that the problems of process creation during enactment were compounded by the results of creative human input and by unplanned reactive elements. Some discussion centered around what was meant by 'creation'. Balzer indicated that he was concerned here with filling in a generic process, or instantiating a process, not with defining a new process. Perry noted that this is what happens in his and Kaiser's Infuse prototype: module change and moduleintegration processes are instantiated dynamically according to the structure of the product at that particular time.

rn

The relative strength of planning lies in that fact that it has a more explicit representation of the process (thereby providing increased comprehension) and that it is more modular (and hence more evolvable). Further, problems of process evolution (that is, changes in the nature of the process) are brought about because of new capabilities, new restrictions, or new objectives. In the imperative approach, one needs to add a new definition and integrate it operationally while in the planning approach, one adds the new definition and integration is automatic.

rn

Tully responded that the identification of non-planning with imperative was too simplistic. Balzer agreed but argued that he was trying to characterize a whole class of languages. This led to a discussion of the specification problem of 'white lies'. Finkelstein distinguished two meanings to 'white lies': meaning 1 is that westart with an incorrect specification and systematically correct it; meaning 2 is that we maintain that the while lie is a satisfactory explanation, but we run into hiccups that we try to gloss over. Meaning 1 has implications for planning languages; meaning 2 has implications for imperative languages. Balzer responded that he believed in both scenarios: in the case of trying to bring someone up to speed, one provides white lies; in the case trying to understand something, one often believes white lies that one does not yet know are not quite true.

rn

According to Scacchi, process fragments provide the needed modularity. There are drawbacks to AI/planning that are not appropriate to process modeling. One can get flexibility from planning, but we need encapsulation coupled with a multi-paradigm approach.

rn

Kellner noted that in human thinking, we get an exceedingly complex balancing act. Can planning handle that? Can we identify what the human goals are, what their hidden agenda's are? How do you get that out of people and make use of it in process models? In a non-planning approach, we look at procedural issues --- we look at what people do in order to better understand how to do it. But how do we get the plans?

rn

Planning is much more concise, noted Wileden. In order to get the equivalent thing in other languages we have to write the explicit ways to achieve the goal. Hence, planning languages are much more implicit, not more explicit. If we already have a way of satisfying the goal, then integration of the goal into the model is easy. But if we have a new goal, then we need something to tell us when to use it and how to satisfy it.

rn

Balzer offered two observations: 1) in implementing a planning system, one might use an imperative language; and 2) planning language advantages are also advantages of guarded command languages --- one must distinguish the model from the explicit representation. Thomas noted that planning languages were more dynamic that guarded command languages. If you add a newguard, you still have the same computational model.

rn

The planning language proponents were asked by Curtis to describe the largest thing built using a planning language. Huff named SITE, the mobile robot, at SRI. The size of the system is defined as the number of alternatives. Interactions among these alternatives cause an increase in time. However, several hundred subgoals were achieved in 1/2 minute of execution time.

rn

This example was for a single agent. The problem is that we have multiple agent interactions in software development processes. Dowson noted that we do project plans in building systems. Some succeed, some do not. For example, consider the following conditions under which a plan might be executed and maintained: 40 man years of implementation effort described in 100 pages or so, using various tools and providing fairly complete detailed descriptions, etc. We would like to be able 1) to support their execution (that is, make aspects of them machine interpretable, automate the clerical parts, etc.) and 2) to provide ways of abstracting from the actual plans to represent them and reason about them. There are strong theoretical problems and we need appropriate computational models.

rn

Tully stated that we need to do the same thing for methods. If we can do this support for both plans and methods, then we will have done something worthwhile.

rn

Configuration management (CM) was a thread that was woven throughout the various sessions. Here Feiler pointed out that CM is a control function on the software development process. We have methods defined and tools to support that we can learn from. CM can be considered 1) as support for managing software evolution and 2) as management/control and developer support (in particular, as management of evolving products, as management of the change process, and as evolution through cooperation and collaboration). Further, CM interacts with the build process, the testing process, and the integration process.

rn

There are a number of modeling issues in CM: the presence of multiple development paths; migration and propagation of changes, both in individual components and families of (shared or variant) components; collaboration and cooperation among individuals and teams; and the composition of components into system models. Feiler offered the following observations about cm and processes: in both the product and process there is a repository and transaction focus; there is a record of change; we have both composition and evolution of components where concerns are compounded both by problems of partitioning and aggregation of components and problems of consistency; there are various scopes of visibility (for example, we may limit the structure to be changed, limit the agents who may perform the change, limit the type of change, and limit who can see the changes); and finally, we in addition to activities and plans, problems of coordination and cooperation (that is, serializability and immutability).

rn

In summary of the discussion session, Balzeroffered the following rationale for the placement of people in the 'pro' and 'con' camps. The following were the reasons for placement in the 'pro' camp.

rn

Huff the title of her paper

rn

Balzer inconsistency management

rn

Boehm/Belz process generation

rn

Carr policies as decision drivers

rn

Cheatham notifications and sketches

rn

Curtis opportunistic processing

rn

Schaefer forward and backward chaining

rn

Feiler plan based

rn

Finkelstein rules between agents

rn

Heimbigner rules

rn

Kaiser forward and backward chaining

rn

Kishida monitoring

rn

Matsumoto pert network of activities with goals management

rn

Nakagawa pro: product as goal that motivates activities; con: right language is algebraic

rn

Nakajima problem tree

rn

Redwine dependability

rn

Roberts planning cycle: process definition and evolution

rn

Rombach process management and adherence

rn

Scacchi unanticipated elements

rn

Thomas goals

rn

Zave domain understanding, constraints

rn

The following was the reasons for placement in the 'con' camp:rn

Garlan Z is the formalism used

rn

Katayama functional language

rn

Kellner procedural process specifications

rn

Osterweil process languages are like conventional ones

rn

Sugiyama graphical flow language

rn

Wileden type support in modern imperative languages

rn

rn

As contentious at the end as he was at the beginning, Balzer claimed that process programming is a misnomer: process is not programmed and reprogrammed (that is, evolved), rather it is planned (that is, instantiated), monitored, and replanned.

......

【作者名称】: Dewayne E. Perry
【作者单位】: s Software Process: Improvement & Practice, a former associate editor of the IEEE Transactions on Software Engineering, a member of ACM SIGSOFT and the IEEE Computer Society, and has served as organizing chair, program chair, and program committee member on various software engineering conferences.
【关 键 词】: Control (session summary)
【会议名称】: Proceedings of the 5th international software process workshop on Experience with software process models
【期刊论文数据库】: [DBS_Articles_01]
【期刊论文编号】: 101,418,793
【摘要长度】: 13,339
【会议地点】: Kennebunkport, ME(US)
【会议组织】: s Software Process: Improvement & Practice, a former associate editor of the IEEE Transactions on Software Engineering, a member of ACM SIGSOFT and the IEEE Computer Society, and has served as organizing chair, program chair, and program committee member on various software engineering conferences.;
【会议时间】: 1989
【上篇论文】: 外文会议 - Policies (session summary)
【下篇论文】: 外文会议 - Review of the state-of-the-art (session summary)

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