Xiping Song, Arnold Rudorfer, B. Hwong, Gilberto Matos, Christopher Nelson
{"title":"S-RaP: A Concurrent, Evolutionary Software Prototyping Process","authors":"Xiping Song, Arnold Rudorfer, B. Hwong, Gilberto Matos, Christopher Nelson","doi":"10.1007/11608035_16","DOIUrl":"https://doi.org/10.1007/11608035_16","url":null,"abstract":"","PeriodicalId":414925,"journal":{"name":"International Software Process Workshop","volume":"34 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2005-05-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121951997","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Process Definition Language Support for Rapid Simulation Prototyping","authors":"M. Raunak, L. Osterweil","doi":"10.1007/11608035_34","DOIUrl":"https://doi.org/10.1007/11608035_34","url":null,"abstract":"","PeriodicalId":414925,"journal":{"name":"International Software Process Workshop","volume":"94 3 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2005-05-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123563627","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 1993-11-04DOI: 10.1007/3-540-57342-9_92
S. Bandinelli, L. Baresi, A. Fuggetta, L. Lavazza
{"title":"Requirements and Early Experiences in the Implementation of the SPADE Repository","authors":"S. Bandinelli, L. Baresi, A. Fuggetta, L. Lavazza","doi":"10.1007/3-540-57342-9_92","DOIUrl":"https://doi.org/10.1007/3-540-57342-9_92","url":null,"abstract":"","PeriodicalId":414925,"journal":{"name":"International Software Process Workshop","volume":"31 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1993-11-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126619493","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
We present a schema and process evolution tool, called the Evolver, for the M ARVEL process-centered environment. The Evolver analyzes the differences between the new and installed process models of an existing environment, detecting each case where the notion of consistency defined by the process model has been strengthened or weakened. The Evolver then automatically updates the environment's objectbase to guarantee that the objects are consistent according to the new specifications. The Evolver can be applied while the installed process is in progress, temporarily halting normal operation while it updates the objectbase, after which development continues using the new process. We have had several months of experience using the Evolver to make repeated changes in the process that supports our own further development of MARVEL, and include in this paper one small but practical example of a recent change made to a real MARVEL process.
{"title":"Process Evolution in the Marvel Environment","authors":"G. Kaiser, I. Ben-Shaul","doi":"10.21236/ada267813","DOIUrl":"https://doi.org/10.21236/ada267813","url":null,"abstract":"We present a schema and process evolution tool, called the Evolver, for the M ARVEL process-centered environment. The Evolver analyzes the differences between the new and installed process models of an existing environment, detecting each case where the notion of consistency defined by the process model has been strengthened or weakened. The Evolver then automatically updates the environment's objectbase to guarantee that the objects are consistent according to the new specifications. The Evolver can be applied while the installed process is in progress, temporarily halting normal operation while it updates the objectbase, after which development continues using the new process. We have had several months of experience using the Evolver to make repeated changes in the process that supports our own further development of MARVEL, and include in this paper one small but practical example of a recent change made to a real MARVEL process.","PeriodicalId":414925,"journal":{"name":"International Software Process Workshop","volume":"7 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1992-11-08","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124831708","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
The session on policies was led by Mark Dowson as keynoter. A more detailed description of this session was phrased as “Discussion of experience with domains in actual models — the semantic concerns of process models. What are lessons to be learned about model specific semantics? Model independent semantics?”. In his presentation Mark Dowson focused on the term policies. Policies were described as constraints that facilitate coordinated performance of process steps by multiple agents. Different kinds of policies exist, and there are different forms of policies. Issues regarding the relationship between policies and processes were raised, and ways of applying policies were discussed. Formal and informal as well as automated and manual policies and processes involving humans both at the organizational level and at the level of individuals were considered. The discussion generated by the presentation was lively. Examples of processes and policies in a variety of domains including non-software engineering domains were presented. A spectrum of terms were used for the notion of policy ranging from laws and standards to procedures and methods. In the following the reader will find a capsule summary of the findings. This summary does not reflect the flow of the discussions, nor does it include all the examples mentioned. Instead, the summary attempts to present the essence of the messages communicated by the participants by abstracting out some of the characteristics of policies. Policies can be described as constraints with respect to certain processes. They are statements either in terms of the notation describing the process, or in terms of a notation whose interpretation establishes a mapping to the process. There are different degrees of compliance to these constraints and there are a number of ways this compliance can be achieved. In different domains people have identified constraints with certain characteristics and given them special labels. This was evident in the discussion by the usage of terms such as advice, culture, guideline, goal, law, method, objective, order, policy, practice, preference, procedure, rule, standard, strategy, etc. Some of these terms imply particular degrees of compliance and forms of enforcement, while others imply that the constraints apply to certain types of processes and that the constraints may be in terms of the process, in terms of an abstraction of the process, or in terms the process of managing the execution of a process — the latter two requiring interpretation to establish a mapping between the constraint and the process. In the remainder of this discussion we will use the term policy to mean a constraint. Processes and policies can be characterized according to whether they have an explicit or implicit representation, whether their representation is formal or informal, whether the process and the policies are described in the same of different representations, and whether they are interpreted manually or a
{"title":"Policies (session summary)","authors":"P. Feiler","doi":"10.5555/317498.317689","DOIUrl":"https://doi.org/10.5555/317498.317689","url":null,"abstract":"The session on policies was led by Mark Dowson as keynoter. A more detailed description of this session was phrased as “Discussion of experience with domains in actual models — the semantic concerns of process models. What are lessons to be learned about model specific semantics? Model independent semantics?”.\u0000In his presentation Mark Dowson focused on the term policies. Policies were described as constraints that facilitate coordinated performance of process steps by multiple agents. Different kinds of policies exist, and there are different forms of policies. Issues regarding the relationship between policies and processes were raised, and ways of applying policies were discussed. Formal and informal as well as automated and manual policies and processes involving humans both at the organizational level and at the level of individuals were considered.\u0000The discussion generated by the presentation was lively. Examples of processes and policies in a variety of domains including non-software engineering domains were presented. A spectrum of terms were used for the notion of policy ranging from laws and standards to procedures and methods. In the following the reader will find a capsule summary of the findings. This summary does not reflect the flow of the discussions, nor does it include all the examples mentioned. Instead, the summary attempts to present the essence of the messages communicated by the participants by abstracting out some of the characteristics of policies.\u0000Policies can be described as constraints with respect to certain processes. They are statements either in terms of the notation describing the process, or in terms of a notation whose interpretation establishes a mapping to the process. There are different degrees of compliance to these constraints and there are a number of ways this compliance can be achieved. In different domains people have identified constraints with certain characteristics and given them special labels. This was evident in the discussion by the usage of terms such as advice, culture, guideline, goal, law, method, objective, order, policy, practice, preference, procedure, rule, standard, strategy, etc. Some of these terms imply particular degrees of compliance and forms of enforcement, while others imply that the constraints apply to certain types of processes and that the constraints may be in terms of the process, in terms of an abstraction of the process, or in terms the process of managing the execution of a process — the latter two requiring interpretation to establish a mapping between the constraint and the process. In the remainder of this discussion we will use the term policy to mean a constraint.\u0000Processes and policies can be characterized according to whether they have an explicit or implicit representation, whether their representation is formal or informal, whether the process and the policies are described in the same of different representations, and whether they are interpreted manually or a","PeriodicalId":414925,"journal":{"name":"International Software Process Workshop","volume":"136 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1990-10-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115592083","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
It would be a mistake to infer from the title of this session that discussions of emerging issues were postponed until this final session of the workshop. On the contrary, all of the preceding sessions devoted a large proportion of the discussion to identifying issues that are poorly understood and much in need of further research. In leading this session, Sam Redwine did a remarkable job of condensing this multi-leveled, wide ranging spectrum of issues into a coherent outline. His presentation consisted of two major parts: first he delivered (without interruptions) a summary of the issues discussed in previous sessions; next he highlighted topics for future work and outlined specific actions that should be taken. This was followed by a discussion covering a range of topics relating to Redwine’s presentation, the agenda for the next meeting, and other topics.
{"title":"Emerging issues (session summary)","authors":"D. Garlan","doi":"10.5555/317498.317692","DOIUrl":"https://doi.org/10.5555/317498.317692","url":null,"abstract":"It would be a mistake to infer from the title of this session that discussions of emerging issues were postponed until this final session of the workshop. On the contrary, all of the preceding sessions devoted a large proportion of the discussion to identifying issues that are poorly understood and much in need of further research. In leading this session, Sam Redwine did a remarkable job of condensing this multi-leveled, wide ranging spectrum of issues into a coherent outline. His presentation consisted of two major parts: first he delivered (without interruptions) a summary of the issues discussed in previous sessions; next he highlighted topics for future work and outlined specific actions that should be taken. This was followed by a discussion covering a range of topics relating to Redwine’s presentation, the agenda for the next meeting, and other topics.","PeriodicalId":414925,"journal":{"name":"International Software Process Workshop","volume":"44 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1990-10-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130328085","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
This session addressed the object base and typing issues needed in support of the modeling and implementation of the life-cycle process. In this summary the terms process and life-cycle process are used interchangeably. However, I do not believe that was the case during the workshop; sometimes it seemed that the term process was used in an abstract way1, which led, at times, to some conceptual misunderstandings. Jack Wileden was the keynote speaker for the session. He started by trying to differentiate between two (2) roles in process modeling:The actual modeling of the process, i.e., how do we describe the process independent of its implementation. Process enaction and the environment needs in support of the process model descriptions. He felt most position papers dealt with the second role, even though a few talked about the first. There was not too much discussion with respect to the differences of those roles but performance was mentioned as a key issue for the second role. Wileden proceeded to distinguish an overall “world view” on data issues from specific dimensions of the data support problem (see section 2 for his list of specific dimensions). He listed several possible world views with respect to data in support of life-cycle processes, including: i) typed objects as in programming languages, ii) files (e.g., documents, code, etc), iii) traditional database view. He described his own view as based on the notion of an “object space” (i.e., collections of objects). This more modern view appears to be shared by many of the workshop participants, as reflected in many of the position papers. The group decided not to debate on the definition of the word object, but to consider it related to the concept of abstract data types. (Note: I like to think of objects as the units of data which are identifiable and accessible within a Software Engineering Environment (SEE) and of an Object Management System (OMS) as the SEE component whose objective is to manage those objects; a precise definition of an object is largely dependent on the type model provided by an OMS.) This session did not try to generate lists of issues or requirements. The objective seemed to be to discuss items which were felt important by the group. There were few agreements. Nonetheless, an emerging consensus seemed to be that the current state of the art and state of the practice in database management systems (or object management systems) do not support all the needs of process programming. This summary will concentrate on some of the key items and/or issues discussed, followed by some observations made during the session.
{"title":"Data (session summary)","authors":"M. Penedo","doi":"10.5555/317498.317690","DOIUrl":"https://doi.org/10.5555/317498.317690","url":null,"abstract":"This session addressed the object base and typing issues needed in support of the modeling and implementation of the life-cycle process. In this summary the terms process and life-cycle process are used interchangeably. However, I do not believe that was the case during the workshop; sometimes it seemed that the term process was used in an abstract way1, which led, at times, to some conceptual misunderstandings.\u0000Jack Wileden was the keynote speaker for the session. He started by trying to differentiate between two (2) roles in process modeling:The actual modeling of the process, i.e., how do we describe the process independent of its implementation.\u0000Process enaction and the environment needs in support of the process model descriptions.\u0000\u0000He felt most position papers dealt with the second role, even though a few talked about the first. There was not too much discussion with respect to the differences of those roles but performance was mentioned as a key issue for the second role.\u0000Wileden proceeded to distinguish an overall “world view” on data issues from specific dimensions of the data support problem (see section 2 for his list of specific dimensions). He listed several possible world views with respect to data in support of life-cycle processes, including: i) typed objects as in programming languages, ii) files (e.g., documents, code, etc), iii) traditional database view. He described his own view as based on the notion of an “object space” (i.e., collections of objects). This more modern view appears to be shared by many of the workshop participants, as reflected in many of the position papers. The group decided not to debate on the definition of the word object, but to consider it related to the concept of abstract data types. (Note: I like to think of objects as the units of data which are identifiable and accessible within a Software Engineering Environment (SEE) and of an Object Management System (OMS) as the SEE component whose objective is to manage those objects; a precise definition of an object is largely dependent on the type model provided by an OMS.)\u0000This session did not try to generate lists of issues or requirements. The objective seemed to be to discuss items which were felt important by the group. There were few agreements. Nonetheless, an emerging consensus seemed to be that the current state of the art and state of the practice in database management systems (or object management systems) do not support all the needs of process programming.\u0000This summary will concentrate on some of the key items and/or issues discussed, followed by some observations made during the session.","PeriodicalId":414925,"journal":{"name":"International Software Process Workshop","volume":"124 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1990-10-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133271588","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
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 don
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)对
{"title":"Control (session summary)","authors":"D. Perry","doi":"10.5555/317498.317691","DOIUrl":"https://doi.org/10.5555/317498.317691","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.\u0000The 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.\u0000The 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”.)\u0000The 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.\u0000Finkelstein 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.\u0000Further 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 don","PeriodicalId":414925,"journal":{"name":"International Software Process Workshop","volume":"11 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1990-10-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129518219","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
In OPM, each software process provides a working environment in which programmers can actually work in order to accomplish a designated task, rather than prescribing the algorithm of the task [1], or giving a behavioral description of the task [4]. A process will (i) collect necessary resources, (ii) collect necessary activities, and (iii) specify certain constraint on the execution of activities. A process will also (iv) navigate activities to be performed by a human, (v) execute activities asked by a human, and (vi) execute some activities automatically when certain conditions are met. Each working environment may consist of a different set of resources and activities depending on the task to be performed within it. Thus the software development environment as a whole will be a collection of smaller and heterogeneous working environments. In OPM, process templates are described in a process programming language called Galois [3] which is an extension of C++ [2]. As an example consider the working on bug process illustrated in Figure 1. In the working on bug process, a typical edit-compile-run cycle will be performed in order to fix a bug of given source files. Figure 2 will give a skeleton of the working on bug process in Galois.
{"title":"Describing working environments in OPM","authors":"Y. Sugiyama, E. Horowitz","doi":"10.5555/317498.317749","DOIUrl":"https://doi.org/10.5555/317498.317749","url":null,"abstract":"In OPM, each software process provides a working environment in which programmers can actually work in order to accomplish a designated task, rather than prescribing the algorithm of the task [1], or giving a behavioral description of the task [4]. A process will (i) collect necessary resources, (ii) collect necessary activities, and (iii) specify certain constraint on the execution of activities. A process will also (iv) navigate activities to be performed by a human, (v) execute activities asked by a human, and (vi) execute some activities automatically when certain conditions are met. Each working environment may consist of a different set of resources and activities depending on the task to be performed within it. Thus the software development environment as a whole will be a collection of smaller and heterogeneous working environments.\u0000In OPM, process templates are described in a process programming language called Galois [3] which is an extension of C++ [2]. As an example consider the working on bug process illustrated in Figure 1. In the working on bug process, a typical edit-compile-run cycle will be performed in order to fix a bug of given source files. Figure 2 will give a skeleton of the working on bug process in Galois.","PeriodicalId":414925,"journal":{"name":"International Software Process Workshop","volume":"16 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1990-10-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127211847","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
The opening session of the 5th International Software Process Workshop covered a wide range of topics so it is not possible to capture its full scope in this brief summary. This paper briefly outlines the main views expressed by the participants and then provides a precis of the participants' comments. Because of the dynamic nature of those discussions, however, I have taken the liberty of grouping related points for a more coherent presentation. I also take full responsibility for any errors or omissions. Even though this first session was entitled “state-of-the-art,” there was little discussion of actual process modeling experience. From the many examples given in the proceedings, however, there was considerable evidence of practical experience and the discussions reflected a general consensus that process modeling methods have been found both practical and helpful. While no examples were given of the unsuccessful application of formal methods, there was a strong minority view that such low-technology methods as procedure manuals and software standards were widely used and are often quite effective. There was also general agreement that tools which include an implicit process were not true process models. To qualify as a process model, the process used by the tool should be explicitly defined. A strong consensus also held that the time had now come to more broadly apply these modeling methods to a range of well-known software process activities. It was felt this would provide useful insights on their development and introduction. While there was no focused discussion on the objectives of process modeling, the purposes noted fell into three general categories:to provide a precise framework for understanding, experimenting with, and reasoning about the process; to facilitate process automation; to provide a basis for process control. An important role of process models is improvement of the combined human/technology activities involved in producing software. Because of the dynamic nature of such people intensive work, it was suggested that these models should include the recursive capability to improve themselves. A subject that was widely discussed and returned to again in subsequent workshop sessions was the special impact of the human element in software process models. While it was agreed that the human element adds considerable complexity, there were widely divergent viewpoints. These ranged from considering human-related issues as outside our area of competence to believing that such issues were central to all process work. Bill Curtis opened this first session with a discussion of key issues and the following challenge: “How much of actual software development behavior will be affected (by process modeling) and what will be the benefit?” He then divided software process issues into two classes: the control process and the learning process. The former concerns management's need for an orderly framework for evaluating progress while the lat
{"title":"Review of the state-of-the-art (session summary)","authors":"W. Humphrey","doi":"10.5555/317498.317687","DOIUrl":"https://doi.org/10.5555/317498.317687","url":null,"abstract":"The opening session of the 5th International Software Process Workshop covered a wide range of topics so it is not possible to capture its full scope in this brief summary. This paper briefly outlines the main views expressed by the participants and then provides a precis of the participants' comments. Because of the dynamic nature of those discussions, however, I have taken the liberty of grouping related points for a more coherent presentation. I also take full responsibility for any errors or omissions.\u0000Even though this first session was entitled “state-of-the-art,” there was little discussion of actual process modeling experience. From the many examples given in the proceedings, however, there was considerable evidence of practical experience and the discussions reflected a general consensus that process modeling methods have been found both practical and helpful. While no examples were given of the unsuccessful application of formal methods, there was a strong minority view that such low-technology methods as procedure manuals and software standards were widely used and are often quite effective.\u0000There was also general agreement that tools which include an implicit process were not true process models. To qualify as a process model, the process used by the tool should be explicitly defined. A strong consensus also held that the time had now come to more broadly apply these modeling methods to a range of well-known software process activities. It was felt this would provide useful insights on their development and introduction.\u0000While there was no focused discussion on the objectives of process modeling, the purposes noted fell into three general categories:to provide a precise framework for understanding, experimenting with, and reasoning about the process;\u0000to facilitate process automation;\u0000to provide a basis for process control.\u0000\u0000An important role of process models is improvement of the combined human/technology activities involved in producing software. Because of the dynamic nature of such people intensive work, it was suggested that these models should include the recursive capability to improve themselves.\u0000A subject that was widely discussed and returned to again in subsequent workshop sessions was the special impact of the human element in software process models. While it was agreed that the human element adds considerable complexity, there were widely divergent viewpoints. These ranged from considering human-related issues as outside our area of competence to believing that such issues were central to all process work.\u0000Bill Curtis opened this first session with a discussion of key issues and the following challenge: “How much of actual software development behavior will be affected (by process modeling) and what will be the benefit?” He then divided software process issues into two classes: the control process and the learning process. The former concerns management's need for an orderly framework for evaluating progress while the lat","PeriodicalId":414925,"journal":{"name":"International Software Process Workshop","volume":"19 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1990-10-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126919262","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}