Control (session summary)

D. Perry
{"title":"Control (session summary)","authors":"D. Perry","doi":"10.5555/317498.317691","DOIUrl":null,"url":null,"abstract":"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.\nThe 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.\nThe 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”.)\nThe force fit into one of two camps was strongly objected to. 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.\nFinkelstein 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.\nFurther 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.\nRoberts agreed with Dowson and went on to point out that planning is relevant because that is 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.\nDynamism 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 module integration processes are instantiated dynamically according to the structure of the product at that particular time.\nThe 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.\nTully 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 we start 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.\nAccording 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.\nKellner 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?\nPlanning 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.\nBalzer 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 new guard, you still have the same computational model.\nThe 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.\nThis 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.\nTully 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.\nConfiguration 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 t","PeriodicalId":414925,"journal":{"name":"International Software Process Workshop","volume":"11 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"1990-10-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"International Software Process Workshop","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.5555/317498.317691","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0

Abstract

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. 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. 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”.) The force fit into one of two camps was strongly objected to. 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. 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. 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. Roberts agreed with Dowson and went on to point out that planning is relevant because that is 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. 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 module integration processes are instantiated dynamically according to the structure of the product at that particular time. 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. 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 we start 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. 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. 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? 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. 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 new guard, you still have the same computational model. 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. 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. 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. 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 t
控制(会话摘要)
Bob Balzer提出了一个有争议的主张,即计划语言是过程模型的适当基础。然后,他根据参与者的立场文件将他们分为两大阵营:支持和反对规划论文的人,以及狂热者、信徒和支持者的小群体。狂热者采用的两种方法例证了该论文的论点:1)[Huff的观点]过程定义作为计划实例化-计划构建是子目标,设想是通过明确的前置和后设条件完成的,异常是通过重新规划处理的;2)[托马斯的观点]过程是一个目标导向的活动——其中计划将执行动力学与模型动力学分离并系统化,范式是计划、实例化和重新计划。Balzer将Curtis、Dieters、Heimbigner、Kaiser、Roberts和Balzer列为这一立场的支持者,而Boehm、Carr、Cheatham、Feiler、Finkelstein、Kishida、Lehman、Matsumoto、Nakajima、Redwine、Rombach、Scacchi和Zave则是这一立场的支持者。反对的观点是例证过程编程阵营认为过程语言的地方将强烈类似于编程语言和适当的构思和开发环境可以同时支持过程和产品开发。这种方法隐含的意思是,现有的语言就足够了,而且有经验可以支持这种说法。Balzer指出,立场文件中的例子并没有为这一说法提供充分的依据。不幸的是,李·奥斯特威尔未能出席并支持他的立场(尽管事实上他的立场得到了其他人的有力支持)。Garlan, Kellner, Nakagawa, Sugiyama和Wileden被Balzer列为信徒,Katayama被列为支持者。(汉弗莱、明斯基、佩内多和赖斯被列为“其他”。)这支部队属于两个阵营之一,遭到强烈反对。道森指出,我们需要关注更困难的问题,并为它们提供支持,提供抽象的论点和推理。在多范式环境中,可能有规划语言的元素和标准语言的元素。也指出,有尽可能少的证据在规划范式方面声称在编程过程。特别是,我们还没有看到任何有价值的计划。芬克尔斯坦指出,“亲”阵营是任何有点爱尔兰风味的人,他的工作强调过程的局部管理,其中主要特征来自对工作细节的操纵,而不是总体目标。此外,我们需要保持全面的方法论视角——也就是说,我们关心的不仅仅是工具的调用。进一步的讨论集中在建模和所需描述的层次上——例如,描述的范围从非常一般的目标到如何完成事情的明确、详细的描述。Wileden指出,规划语言对于如何实现目标非常模糊,但非常善于识别已经完成的工作。Kellner指出,在一个模型中可能有各种各样的目标,这些目标可能因环境而异。为了充分比较目标,我们需要确定上下文。例如,在学习的背景下,一般目标可能不是特别有用。我们可能需要更多关于如何实现目标的指导,需要更多的结构,需要更详细的“路线图”。从这个意义上说,计划往往是“隐性”比“明确”,尽管它常常声称的相反。总的来说,我们需要各种各样的计划,从总体目标到详细描述。Feiler和Zave一致认为我们需要多种范式:在构建系统的情况下,我们可能只需要总体目标;就培训而言,我们需要细节。罗伯茨同意道森的观点,并继续指出,计划是相关的,因为这是我们在实际过程中所做的:我们计划、分析、设计、实例化、评估和重新计划。Huff指出,我们需要在流程中涵盖一系列计划。一些环境需要高度结构化的流程,而另一些则不需要。我们需要牢记过程和产品(两者密不可分)。Thomas正确地指出,底层的计算模型在考虑表达过程的所有一般性和细节的语言时极其重要。动力是另一个重要的讨论话题。Balzer指出,在制定过程中,流程创建的问题由于创造性的人力投入和计划外的反应性因素而变得更加复杂。一些讨论围绕着“创造”的含义展开。Balzer指出,他在这里关心的是填充一个通用流程,或者实例化一个流程,而不是定义一个新流程。 Perry指出,这就是他和Kaiser的Infuse原型中发生的事情:模块更改和模块集成过程是根据特定时间的产品结构动态实例化的。计划的相对优势在于它对过程有更明确的表示(从而提供更强的理解),并且它更模块化(因此更可进化)。此外,由于新的能力、新的限制或新的目标,过程演化的问题(即过程性质的变化)也随之产生。在命令式方法中,需要添加新定义并以可操作的方式集成它,而在计划方法中,添加新定义并自动集成。Tully回应说,将非计划与势在必行的区分过于简单化。巴尔泽对此表示赞同,但他辩称,他是在试图描述一整类语言。这引发了对“善意谎言”规范问题的讨论。Finkelstein区分了“善意的谎言”的两种含义:含义一是我们从一个不正确的规范开始,并系统地纠正它;意思二是我们坚持认为暂时的谎言是一个令人满意的解释,但我们遇到了我们试图掩盖的小问题。意义1对规划语言有影响;意义2对命令式语言有影响。巴尔泽回答说,他相信两种情况:在试图让某人了解情况的情况下,一个人提供善意的谎言;试图理解的东西,人们经常认为善意的谎言,还不知道是不完全正确的。根据Scacchi的说法,流程片段提供了所需的模块化。AI/计划有一些不适合流程建模的缺点。我们可以从计划中获得灵活性,但是我们需要与多范式方法相结合的封装。凯尔纳指出,在人类思维中,我们有一种极其复杂的平衡行为。计划能处理好吗?我们能确定人类的目标是什么,他们隐藏的议程是什么吗?你怎么出来的人,利用过程模型?在非计划方法中,我们关注程序问题——我们关注人们做什么,以便更好地理解如何去做。但是我们怎么得到计划呢?威尔登指出,规划要简洁得多。为了在其他语言中得到等价的东西,我们必须明确地写出实现目标的方法。因此,计划语言更隐式,而不是更显式。如果我们已经有了满足目标的方法,那么将目标集成到模型中就很容易了。但是,如果我们有了一个新的目标,那么我们需要一些东西来告诉我们何时使用它以及如何实现它。Balzer提出了两个观点:1)在实施计划系统时,可以使用命令式语言;2)规划语言的优势也是守卫命令语言的优势——人们必须将模型与显式表示区分开来。Thomas指出,计划语言比守卫命令语言更具动态性。如果你添加一个新的守卫,你仍然有相同的计算模型。柯蒂斯的规划语言支持者被要求描述最大的使用规划构建语言。赫夫在斯坦福研究院为移动机器人SITE命名。系统的大小定义为可选方案的数量。这些备选方案之间的相互作用会导致时间的增加。然而,在半分钟的执行时间内实现了几百个子目标。这个例子是针对单个代理的。问题是我们在软件开发过程中有多个代理交互。道森指出,我们在建筑系统中做项目计划。有些人成功了,有些人没有。例如,考虑执行和维护计划的以下条件:在100页左右的页面中描述了40年的实现工作,使用各种工具并提供相当完整的详细描述,等等。我们希望能够1)支持它们的执行(也就是说,使它们的各个方面可以机器解释,使文书部分自动化,等等)和2)提供从实际计划中抽象出来的方法来表示它们并对它们进行推理。有很强的理论问题,我们需要适当的计算模型。Tully指出,我们需要对方法做同样的事情。如果我们能在计划和方法上都做到这一点,那么我们就做了一件有价值的事情。配置管理(CM)是贯穿各个会议的一条主线。在这里Feiler指出CM是对软件开发过程的控制功能。我们有定义的方法和工具来支持,我们可以从中学习。 CM可以被认为是1)对管理软件演进的支持,2)对管理/控制和开发人员的支持(特别是,对演进产品的管理,对变更过程的管理,以及通过合作和协作的演进)。此外,CM与构建过程交互
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信