Pub Date : 1991-10-21DOI: 10.1109/ICSP.1991.664341
S. Sutton, H. Ziv, D. Heimbigner, H. Yessayan, M. Maybee, L. J. Osterweil, Xiping Song
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
{"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}
Pub Date : 1991-10-21DOI: 10.1109/ICSP.1991.664339
H. Iida, T. Ogihara, K. Inoue, K. Torii
ARSTRACT This paper describes a way to define software development processes formally. Software development processes are assumed to be sequential sentences of activities, and they are defined by the set of sentences with context free grammars. The sequence of development activities is defined formally, and the characteristics and behasvior of the development processes become clearer. This paper also describes a method to construct a menu oriented navigation system from the grammar. The menus provided by this system guide the developers to the next activities in the development. The system works with the interpreter for the process description language PDL.
{"title":"Generating a Menu-Oriented Navigation System from Formal Description of Software Development Activity Sequence","authors":"H. Iida, T. Ogihara, K. Inoue, K. Torii","doi":"10.1109/ICSP.1991.664339","DOIUrl":"https://doi.org/10.1109/ICSP.1991.664339","url":null,"abstract":"ARSTRACT This paper describes a way to define software development processes formally. Software development processes are assumed to be sequential sentences of activities, and they are defined by the set of sentences with context free grammars. The sequence of development activities is defined formally, and the characteristics and behasvior of the development processes become clearer. This paper also describes a method to construct a menu oriented navigation system from the grammar. The menus provided by this system guide the developers to the next activities in the development. The system works with the interpreter for the process description language PDL.","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":"128944386","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 : 1991-10-21DOI: 10.1109/ICSP.1991.664342
M. Saeki, T. Kaneko, M. Sakamoto
This paper reports on an approach to software process modeling with its method. Our model consists of two sub models - one is for tasks which are performed in a software process and another is for resources which perform the tasks, e.g. human participants, project teams, computerized tools and so on. The formal specification language LOTOS (Language of Temporal Ordering Specification) is used to define software processes based on our modeling technique. We have developed the method to represent software processes by using LOTOS based on the methods for software specification & design. Furthermore we have applied our method to an example problem proposed for the 6th Software Process Workshop, and discussed our approach.
{"title":"A Method for Software Process Modeling and Description Using Lotos","authors":"M. Saeki, T. Kaneko, M. Sakamoto","doi":"10.1109/ICSP.1991.664342","DOIUrl":"https://doi.org/10.1109/ICSP.1991.664342","url":null,"abstract":"This paper reports on an approach to software process modeling with its method. Our model consists of two sub models - one is for tasks which are performed in a software process and another is for resources which perform the tasks, e.g. human participants, project teams, computerized tools and so on. The formal specification language LOTOS (Language of Temporal Ordering Specification) is used to define software processes based on our modeling technique. We have developed the method to represent software processes by using LOTOS based on the methods for software specification & design. Furthermore we have applied our method to an example problem proposed for the 6th Software Process Workshop, and discussed our approach.","PeriodicalId":309190,"journal":{"name":"Proceedings. First International Conference on the Software Process,","volume":"80 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":"125968758","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 : 1991-10-21DOI: 10.1109/ICSP.1991.664350
Masato Suzuki, T. Katayama
Meta-operations are introduced into a software process model HFSP for modeling dynamic and flexible features of software processes. As process enaction is characterized as growing trees of activity decompositions in HFSP, these operations are most naturally considered as operations over these trees, which allow changing enaction status, creating new trees and communicating among them from inside and outside of the trees. A Formal description of these operations are given together with their application to the description of ISPW6 Example Process.
{"title":"Meta-Operations in the Process Model Hfsp for the Dynamics and Flexibility of Software Processes","authors":"Masato Suzuki, T. Katayama","doi":"10.1109/ICSP.1991.664350","DOIUrl":"https://doi.org/10.1109/ICSP.1991.664350","url":null,"abstract":"Meta-operations are introduced into a software process model HFSP for modeling dynamic and flexible features of software processes. As process enaction is characterized as growing trees of activity decompositions in HFSP, these operations are most naturally considered as operations over these trees, which allow changing enaction status, creating new trees and communicating among them from inside and outside of the trees. A Formal description of these operations are given together with their application to the description of ISPW6 Example Process.","PeriodicalId":309190,"journal":{"name":"Proceedings. First International Conference on the Software Process,","volume":"108 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":"122697815","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 : 1991-10-21DOI: 10.1109/ICSP.1991.664338
Xiping Song, L. J. Osterweil
A number of software design methodologies have been developed and compared over the past 20 years. A good comparison would aid in codifying, enhancing and integrating these design methodologies. However, the existing comparisons are based largely upon the experiences of practitioners and the understandings of the authors. Consequently, these comparisons tend to be subjeckve and to be affected by application domains. 11 is the purpose of this paper to introduce a systematic approach to objectively compare design methodologies. Our approach is based on modeling the design methodologies and classifying their components. Modeling the design methodologies ent,ails decomposing the methodologies into romponents. The classification of the components illustrates which components address similar design issues and/or have similar structures. Similar components can be identified and may be further modeled to aid in understanding more precisely their similarities and differences. The models of the methodologies are also used as the bases for conjectures and conclusions about the differences between the methodologies. In this paper we demonstrate this approach by using it to compare JSD [Jacks831 and Booch’s Object 0 ciented Design (BOOD) [Booch86]. The results of this comparison also demonstrate that process modeling [OsterU, Kelln881 is valuable as a powerful tool in analysis of software development approaches.
{"title":"Comparing Design Methodologies through Process Modeling","authors":"Xiping Song, L. J. Osterweil","doi":"10.1109/ICSP.1991.664338","DOIUrl":"https://doi.org/10.1109/ICSP.1991.664338","url":null,"abstract":"A number of software design methodologies have been developed and compared over the past 20 years. A good comparison would aid in codifying, enhancing and integrating these design methodologies. However, the existing comparisons are based largely upon the experiences of practitioners and the understandings of the authors. Consequently, these comparisons tend to be subjeckve and to be affected by application domains. 11 is the purpose of this paper to introduce a systematic approach to objectively compare design methodologies. Our approach is based on modeling the design methodologies and classifying their components. Modeling the design methodologies ent,ails decomposing the methodologies into romponents. The classification of the components illustrates which components address similar design issues and/or have similar structures. Similar components can be identified and may be further modeled to aid in understanding more precisely their similarities and differences. The models of the methodologies are also used as the bases for conjectures and conclusions about the differences between the methodologies. In this paper we demonstrate this approach by using it to compare JSD [Jacks831 and Booch’s Object 0 ciented Design (BOOD) [Booch86]. The results of this comparison also demonstrate that process modeling [OsterU, Kelln881 is valuable as a powerful tool in analysis of software development approaches.","PeriodicalId":309190,"journal":{"name":"Proceedings. First International Conference on the Software Process,","volume":"29 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":"129179115","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}