{"title":"Extending a Tool Integration Language","authors":"Mark A. Gisi, Gail E. Kaiser","doi":"10.1109/ICSP.1991.664351","DOIUrl":"https://doi.org/10.1109/ICSP.1991.664351","url":null,"abstract":"TheMarvel environment supports rule based modeling of software processes Marvel invokes external tools to carry out steps in a software process One of the major objectives of this research is to invoke existing external tools without needing to modify them This is achieved by encapsulating tools in envelopes designed to abstract the details of a tool from the Marvel kernel thereby providing a black box interface Initially we used the Unix shell language to write envelopes Due to several limitations of the shell language however the black box abstraction could not be fully supported We describe these limitations and discuss how we extended the shell language to obtain a new envelope language that fully supports the black box abstraction c Mark A Gisi and Gail E Kaiser This version appears in the First International Conference on the Software Process October Gisi is supported in part by National Science Foundation grant CCR Kaiser is supported by National Science Foundation grants CCR CDA and CCR by grants from AT T BNR DEC IBM SRA and Xerox by the New York State Center for Advanced Technology on Computer and Information Systems and by the NSF Engineering Research Center for Telecommunications Research Introduction Marvel is a rule based environment that assists users with the software development process and stores software components their attributes and relations in an objectbase Unlike most other process modeling systems Marvel employs existing external tools to carry out the steps of a software process Since tools are expensive to develop in terms of both time and cost a major objective is to employ existing tools without modifying them We achieve this by encapsulation of external tool interactions within envelopes The envelope concept was introduced in the ISTAR environment Each step of a process is represented in the process model by an activity An activity may involve building an executable running a test suite or simply invoking an editor An activity s execution often involves the invocation of one or more commercial o the shelf COTS tools To support the integration of COTS tools without modi cation or even access to their source code the Marvel kernel views each activity as a black box it only knows the activity s input and output re quirements In addition an activity should know nothing about the Marvel kernel For example suppose we want to execute an activity that compiles a C le The activity needs the C source le a set of header include les and the object code le location The activity invokes cc the C compiler with these parameters When the activity completes it returns a status code to the Marvel kernel indicating the status of cc s execution e g success failure An envelope represents an activity s implementation It abstracts the details of the interface of a tool Envelopes were initially written in the Unix shell language which has several advantages it already exists many reusable Unix utilities are available and it provides a means","PeriodicalId":309190,"journal":{"name":"Proceedings. First International Conference on the Software Process,","volume":"14 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1991-10-21","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124209650","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":"A Support to Large Software Development Process","authors":"N. Belkhatir, J. Estublier, W. Melo","doi":"10.1109/ICSP.1991.664347","DOIUrl":"https://doi.org/10.1109/ICSP.1991.664347","url":null,"abstract":"","PeriodicalId":309190,"journal":{"name":"Proceedings. First International Conference on the Software Process,","volume":"115 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1991-10-21","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"117290870","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":"Modeling Articulation Work in Software Engineering Processes","authors":"Peiwei Mi, W. Scacchi","doi":"10.1109/ICSP.1991.664349","DOIUrl":"https://doi.org/10.1109/ICSP.1991.664349","url":null,"abstract":"Current software process modeling techniques do not generally support articulation work. Articulation work is the diagnosis, recovery and resumption of development activities that unexpectedly fail. It is an integral part of software process enactment since software processes can sometimes fail or breakdown. This paper presents a knowledge-based model of articulation work in software engineering processes. I t uses empirically-grounded heuristics t o address three problems in articulation work: diagnosing failed development activities, determining appropriate recovery, and resuming software processes. We first investigate the role and importance of articulation work with respect t o planned software development activities. We then outline a knowledge-based model of articulation work. The model has been implemented in a knowledgebased software process modeling environment called the Articulator. Combining the available software process modeling techniques and the model of articulation leads to a better foundation in process improvement and evolution.","PeriodicalId":309190,"journal":{"name":"Proceedings. First International Conference on the Software Process,","volume":"22 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1991-10-21","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127008233","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":"PSS: A System for Process Enactment","authors":"R. Bruynooghe, J. M. Parker, J. Rowles","doi":"10.1109/ICSP.1991.664345","DOIUrl":"https://doi.org/10.1109/ICSP.1991.664345","url":null,"abstract":"This paper describes the PSS process support environment. PSS supports the enactment of process programs written in PML. We discuss our approach to developing process programs, and describe the PML language in which we encode them. Though PSS was initially envisaged as a support system for the software development process, we believe it can be used to support processes from other domains. As evidence of this claim, we describe a process program which was written to demonstrate the ability of PSS to support the activities of a Customer Support Department.","PeriodicalId":309190,"journal":{"name":"Proceedings. First International Conference on the Software Process,","volume":"29 1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1991-10-21","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"134568865","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":"Re-Engineering a Software Development Process for Fast Delivery - Approach & Experiences","authors":"H. Yeh","doi":"10.1109/ICSP.1991.664343","DOIUrl":"https://doi.org/10.1109/ICSP.1991.664343","url":null,"abstract":"This note reports experiences in an enhancement release where development process built around small, empowered, interdisciplinary teams reduced cycle time by 25% and at the same time improved quality in significant ways. These changes are the results of effective process re-engineering to incorporate software process quality principles and to reorganize people from internally-focused, functionally-aligned groups into focused-on-customers, interdisciplinary teams. Goals and strategies, process specifics, and implementation details are also discussed.","PeriodicalId":309190,"journal":{"name":"Proceedings. First International Conference on the Software Process,","volume":"55 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1991-10-21","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125651142","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":"Integration Needs in Process Enacted Environments","authors":"C. Fernstrom, L. Ohlsson","doi":"10.1109/ICSP.1991.664346","DOIUrl":"https://doi.org/10.1109/ICSP.1991.664346","url":null,"abstract":"In this paper', \"process enactment\" refers to the simultaneous and synchronized execution of a human-oriented development process and an executable model of this process in order to enhance the computer-based support given to the human-oriented process. The aims of process enactment in a software engineering environment can be considered through different perspectives, such as those of the software developing organization, the team and the individual user. This paper is mainly concerned with process enactment from the individual user's point of view. Starting from the general problem of achieving integration while retaining independence between tools, the specific needs on tool independence originating from process enactment of the environments is discussed, leading up to requirements on the environment and on tools. An experimental SEE, developed by Cap Gemini Innovation within the context of the Eureka Software Factory (ESF), which exhibits a number of the required characteristics, is presented in some detail.","PeriodicalId":309190,"journal":{"name":"Proceedings. First International Conference on the Software Process,","volume":"122 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1991-10-21","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132427819","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":"Modeling Information in a Software Process","authors":"D.J. Frailey, R. Bate, J. Crowley, S. Hills","doi":"10.1109/ICSP.1991.664340","DOIUrl":"https://doi.org/10.1109/ICSP.1991.664340","url":null,"abstract":"","PeriodicalId":309190,"journal":{"name":"Proceedings. First International Conference on the Software Process,","volume":"365 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1991-10-21","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126959649","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}
M. Kellner, P. Feiler, A. Finkelstein, T. Katayama, L. Osterweil, M. H. Penedo, H. D. Rombach
{"title":"ISPW-6 Software Process Example","authors":"M. Kellner, P. Feiler, A. Finkelstein, T. Katayama, L. Osterweil, M. H. Penedo, H. D. Rombach","doi":"10.1109/ICSP.1991.664348","DOIUrl":"https://doi.org/10.1109/ICSP.1991.664348","url":null,"abstract":"","PeriodicalId":309190,"journal":{"name":"Proceedings. First International Conference on the Software Process,","volume":"87 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1991-10-21","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124855620","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":"Software Process Modeling Support for Management Planning and Control","authors":"M. Kellner","doi":"10.1109/ICSP.1991.664337","DOIUrl":"https://doi.org/10.1109/ICSP.1991.664337","url":null,"abstract":"This paper demonstrates the application of a specific software process modeling approach to certain key managerial activities: ex ante planning, monitoring and recording progress, and dynamic replanning. A realistic example process, with assumed task durations and outcomes, forms the foundation for the illustrations. Automated, quantitative simulations are used to derive schedules, required work effort, and required staffing profiles. Cases of both point estimates (deterministic modeling) and uncertain estimates (stochastic modeling) are discussed, and resource constraints are also considered. This modeling approach is shown to offer distinct advantages over traditional project management approaches such as the critical path method and PERT.","PeriodicalId":309190,"journal":{"name":"Proceedings. First International Conference on the Software Process,","volume":"53 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1991-10-21","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122125377","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}
S. Sutton, H. Ziv, D. Heimbigner, H. Yessayan, M. Maybee, L. J. Osterweil, Xiping Song
{"title":"Programming a Software Requirements-Specification Process","authors":"S. Sutton, H. Ziv, D. Heimbigner, H. Yessayan, M. Maybee, L. J. Osterweil, Xiping Song","doi":"10.1109/ICSP.1991.664341","DOIUrl":"https://doi.org/10.1109/ICSP.1991.664341","url":null,"abstract":"Software-process programming is a comparatively new approach to the speci cation of software processes. It has attracted widespread interest but has not yet received general acceptance. For process programming to be accepted the issues involved must be better understood and its feasibility must be demonstrated. To these ends we have undertaken the development of REBUS, a prototype process program for the speci cation of software requirements. Through the development of REBUS we hoped to acquire knowledge about basic issues in process programming. In the REBUS program we hoped to o er an example of a plausible process program. In this introduction we review the advantages of process programming and argue that prototyping is an appropriate way to advance the state of the art; in the remainder of the paper we report on REBUS. A software-process program is the encoding of a software process in a formal, process-programming language [Ost87]. Software-process programming is the activity of developing software-process programs from requirements, through design, to code, followed by testing, analysis, use, and maintenance. Process programming is thus modeled after conventional programming. Processprogramming languages (i.e. process coding languages) are analogous to conventional programming languages, and process programs are analogous to conventional application programs. The di erence is that processprogramming languages and process programs apply to the domain of software processes and products. Software processes present new and challenging aspects not found in most conventional applications, for example, the need to accommodate both manual and automated activities and the need to manage highly complex, diverse, and interrelated persistent objects. The goal of process programming is to bring increased rigor and consistency to the representation and application of software development methodologies. Software development methodologies are intended to improve software development by specifying the products to be created, describing the activities to be performed, and guiding the execution of these activities and the use of the products. Examples include the Waterfall model [Roy70], Spiral model [Boe88], Jackson System Development [Jac83, Cam86], Booch Object-Oriented Design [Boo83, Boo86], Structured Analysis and Modeling [RJ77, GS86, BBD77, EFRV86], and Structured Design [Mye78, Ber78]. Several problems prevent current software methodologies from being fully and generally successful. The speci cations of software processes and products are too often semi-formal or informal (if speci ed at all), the processes rely on manual interpretation and control, and the products may be managed and accessed haphazardly. A process may not be clearly understood, and to the extent that it is understood it may be di cult to modify e ectively. Consequently, software processes are often executed uncertainly and inconsistently, and software products are more likely to be ","PeriodicalId":309190,"journal":{"name":"Proceedings. First International Conference on the Software Process,","volume":"36 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1991-10-21","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131072392","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}