Pub Date : 1993-11-01DOI: 10.1109/CMPSAC.1993.404215
T. Arano, Carl K. Chang, P. Mongkolwat, Yong Liu, Xin Shu
This paper proposes a new prototyping approach to software development to produce better-quality software more productively than traditional prototyping methodologies by combining formal methods and object-oriented techniques with prototyping concepts. In the prototyping process, specifications are gradually replaced with implementations which may be retrieved from libraries and refined afterwards. The executable specification language provides not only behavior/performance analysis but also simulation capabilities which are essential to prototyping. Additionally, a special mechanism called hybrid simulation takes it possible to simulate a mixture of specification and implementation, and serves to validate the intended system. Software reuse by object-orientation is one basis of the methodology, and eliminates the risk of producing a quick-and-dirty product, which is a typical prototyping problem. The seamlessness of object-orientation is indispensable to the methodology.<>
{"title":"An object-oriented prototyping approach to system development","authors":"T. Arano, Carl K. Chang, P. Mongkolwat, Yong Liu, Xin Shu","doi":"10.1109/CMPSAC.1993.404215","DOIUrl":"https://doi.org/10.1109/CMPSAC.1993.404215","url":null,"abstract":"This paper proposes a new prototyping approach to software development to produce better-quality software more productively than traditional prototyping methodologies by combining formal methods and object-oriented techniques with prototyping concepts. In the prototyping process, specifications are gradually replaced with implementations which may be retrieved from libraries and refined afterwards. The executable specification language provides not only behavior/performance analysis but also simulation capabilities which are essential to prototyping. Additionally, a special mechanism called hybrid simulation takes it possible to simulate a mixture of specification and implementation, and serves to validate the intended system. Software reuse by object-orientation is one basis of the methodology, and eliminates the risk of producing a quick-and-dirty product, which is a typical prototyping problem. The seamlessness of object-orientation is indispensable to the methodology.<<ETX>>","PeriodicalId":375808,"journal":{"name":"Proceedings of 1993 IEEE 17th International Computer Software and Applications Conference COMPSAC '93","volume":"42 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1993-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121610571","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-01DOI: 10.1109/CMPSAC.1993.404237
K. B. Zerangue
Theoretical approaches to various subdisciplines within software engineering have helped to make the practical application of software engineering more effective. This paper poses the question of whether a general theory of software engineering can and should be sought. The challenge is to assist practicing software engineers by investigating the theoretical bases of discipline. The panelists use their experience and expertise to address areas within software engineering which can benefit from theoretical approaches.<>
{"title":"On developing a general theory of software engineering","authors":"K. B. Zerangue","doi":"10.1109/CMPSAC.1993.404237","DOIUrl":"https://doi.org/10.1109/CMPSAC.1993.404237","url":null,"abstract":"Theoretical approaches to various subdisciplines within software engineering have helped to make the practical application of software engineering more effective. This paper poses the question of whether a general theory of software engineering can and should be sought. The challenge is to assist practicing software engineers by investigating the theoretical bases of discipline. The panelists use their experience and expertise to address areas within software engineering which can benefit from theoretical approaches.<<ETX>>","PeriodicalId":375808,"journal":{"name":"Proceedings of 1993 IEEE 17th International Computer Software and Applications Conference COMPSAC '93","volume":"52 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1993-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126489977","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-01DOI: 10.1109/CMPSAC.1993.404232
Janche Sang, F. Knop, V. Rego, Jenq-Kuen Lee, C. King
The purpose of the Xthreads library is to provide a cheap concurrent programming environment. The design of the Xthreads library is patterned after Xinu, a small and elegant operating system in which all processes share a single address space and hence enjoy reduced overheads in process creation, interprocess communication, and so on. Our approach is to map the Xinu process structure into the Xthreads thread structure in a Unix-like process. Easy extensions and modifications to the Xthreads library are a major objective, accomplished through modularity and layering. We ported Xthreads to the nCUBE2, iPSC860 and RS6000 computers. This paper describes the library, our experiences with its design and implementation, the early performance measurements, and its applicability to simulation modeling.<>
{"title":"The Xthreads library: Design, implementation, and applications","authors":"Janche Sang, F. Knop, V. Rego, Jenq-Kuen Lee, C. King","doi":"10.1109/CMPSAC.1993.404232","DOIUrl":"https://doi.org/10.1109/CMPSAC.1993.404232","url":null,"abstract":"The purpose of the Xthreads library is to provide a cheap concurrent programming environment. The design of the Xthreads library is patterned after Xinu, a small and elegant operating system in which all processes share a single address space and hence enjoy reduced overheads in process creation, interprocess communication, and so on. Our approach is to map the Xinu process structure into the Xthreads thread structure in a Unix-like process. Easy extensions and modifications to the Xthreads library are a major objective, accomplished through modularity and layering. We ported Xthreads to the nCUBE2, iPSC860 and RS6000 computers. This paper describes the library, our experiences with its design and implementation, the early performance measurements, and its applicability to simulation modeling.<<ETX>>","PeriodicalId":375808,"journal":{"name":"Proceedings of 1993 IEEE 17th International Computer Software and Applications Conference COMPSAC '93","volume":"10 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1993-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125651324","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-01DOI: 10.1109/CMPSAC.1993.404245
David F. Robinson, B. Cheng
A major obstacle to parallel software development has been the perturbation of program execution resulting from software-based monitoring techniques. Parallel programs exhibit non-deterministic behavior, which can result in changes in program execution under software monitoring, as compared to unmonitored program execution. In this paper, a formal model for parallel program execution and monitoring in shared-memory environments is developed that addresses issues related to monitor intrusion. Using this formal model, the notion of transparency, as it relates to monitored programs, is defined. Sufficient conditions for monitor transparency are presented. Software-based monitoring tools meeting these conditions are assured to exhibit transparency, given the definition. Thus, by ensuring that parallel program monitors conform to these sufficient conditions for monitor transparency, developers of software tools can enable transparent monitoring to be achieved.<>
{"title":"A temporal model for transparent monitoring of shared-memory multiprocessors","authors":"David F. Robinson, B. Cheng","doi":"10.1109/CMPSAC.1993.404245","DOIUrl":"https://doi.org/10.1109/CMPSAC.1993.404245","url":null,"abstract":"A major obstacle to parallel software development has been the perturbation of program execution resulting from software-based monitoring techniques. Parallel programs exhibit non-deterministic behavior, which can result in changes in program execution under software monitoring, as compared to unmonitored program execution. In this paper, a formal model for parallel program execution and monitoring in shared-memory environments is developed that addresses issues related to monitor intrusion. Using this formal model, the notion of transparency, as it relates to monitored programs, is defined. Sufficient conditions for monitor transparency are presented. Software-based monitoring tools meeting these conditions are assured to exhibit transparency, given the definition. Thus, by ensuring that parallel program monitors conform to these sufficient conditions for monitor transparency, developers of software tools can enable transparent monitoring to be achieved.<<ETX>>","PeriodicalId":375808,"journal":{"name":"Proceedings of 1993 IEEE 17th International Computer Software and Applications Conference COMPSAC '93","volume":"319 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1993-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133384266","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-01DOI: 10.1109/CMPSAC.1993.404187
Jingde Cheng
In addition to the usual control and data dependences proposed and studied for sequential and centralized programs, this paper introduces three new types of primary program dependences in concurrent and distributed programs, named the selection dependence, synchronization dependence, and communication dependence, and a new program representation for concurrent and distributed programs, named the process dependence net (PDN), which is an arc-classified digraph to explicitly represent the five types of primary program dependences in the programs. The paper also shows some applications of the representation.<>
{"title":"Process dependence net of distributed programs and its applications in development of distributed systems","authors":"Jingde Cheng","doi":"10.1109/CMPSAC.1993.404187","DOIUrl":"https://doi.org/10.1109/CMPSAC.1993.404187","url":null,"abstract":"In addition to the usual control and data dependences proposed and studied for sequential and centralized programs, this paper introduces three new types of primary program dependences in concurrent and distributed programs, named the selection dependence, synchronization dependence, and communication dependence, and a new program representation for concurrent and distributed programs, named the process dependence net (PDN), which is an arc-classified digraph to explicitly represent the five types of primary program dependences in the programs. The paper also shows some applications of the representation.<<ETX>>","PeriodicalId":375808,"journal":{"name":"Proceedings of 1993 IEEE 17th International Computer Software and Applications Conference COMPSAC '93","volume":"46 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1993-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115034290","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-01DOI: 10.1109/CMPSAC.1993.404211
Masaki Hamada, H. Adachi
This paper proposes a method of supporting software change propagation analysis using a recorded software design rationale. This paper discusses recording costs, the usage and effectiveness of the recorded information for change propagation analysis, which other papers don't. Change propagation analysis of the software being modified is difficult when no design rationale for the software is left. In the proposed method, the designer makes a design process record that includes his/her design rationale. The method enables a maintainer to search for the recorded information that is essential to change propagation analysis. The cost of recording the design process is small because the designer just writes down fragmentary design results. From the experience of using a prototype system, the effectiveness of the proposed method is discussed.<>
{"title":"Recording software design processes for maintaining the software","authors":"Masaki Hamada, H. Adachi","doi":"10.1109/CMPSAC.1993.404211","DOIUrl":"https://doi.org/10.1109/CMPSAC.1993.404211","url":null,"abstract":"This paper proposes a method of supporting software change propagation analysis using a recorded software design rationale. This paper discusses recording costs, the usage and effectiveness of the recorded information for change propagation analysis, which other papers don't. Change propagation analysis of the software being modified is difficult when no design rationale for the software is left. In the proposed method, the designer makes a design process record that includes his/her design rationale. The method enables a maintainer to search for the recorded information that is essential to change propagation analysis. The cost of recording the design process is small because the designer just writes down fragmentary design results. From the experience of using a prototype system, the effectiveness of the proposed method is discussed.<<ETX>>","PeriodicalId":375808,"journal":{"name":"Proceedings of 1993 IEEE 17th International Computer Software and Applications Conference COMPSAC '93","volume":"32 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1993-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125264915","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-01DOI: 10.1109/CMPSAC.1993.404194
Ji Wang, Huowang Chen
A technique to analyze the temporal properties of real-time systems is presented in this paper. In our framework, the behavior of the system under development, which is modeled in an extension of Statecharts called Statecharts+, is captured by the underlying computational model, Timed Automata. On the basis of the operational semantics defined for arbitrary time domains, we present a formal translation technique to compile the real-time system specification into Timed Automata. Therefore, model checking of real-time properties can be applied to the automatic analysis of real-time systems.<>
{"title":"A formal technique to analyze real-time systems","authors":"Ji Wang, Huowang Chen","doi":"10.1109/CMPSAC.1993.404194","DOIUrl":"https://doi.org/10.1109/CMPSAC.1993.404194","url":null,"abstract":"A technique to analyze the temporal properties of real-time systems is presented in this paper. In our framework, the behavior of the system under development, which is modeled in an extension of Statecharts called Statecharts+, is captured by the underlying computational model, Timed Automata. On the basis of the operational semantics defined for arbitrary time domains, we present a formal translation technique to compile the real-time system specification into Timed Automata. Therefore, model checking of real-time properties can be applied to the automatic analysis of real-time systems.<<ETX>>","PeriodicalId":375808,"journal":{"name":"Proceedings of 1993 IEEE 17th International Computer Software and Applications Conference COMPSAC '93","volume":"21 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1993-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125280725","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-01DOI: 10.1109/CMPSAC.1993.404236
I. Morrey, J. Siddiqi, G. Buckberry, R. Hibberd
ZAL (Z Animation in LISP) is a package which allows a Z specification to be incrementally designed and validated in an interactive environment built on Common LISP. A Z specification is transformed into an equivalent ZAL program which can be executed in order to demonstrate the functionality of the intended implementation. ZED is a full screen editor and syntax analyser for Z. Using these two tools as an integrated package encourages and facilitates an exploratory approach to formal specification which reflects the way in which many users of Z (particularly beginners) prefer to approach the specification task. The package has also been used to support the teaching of students following courses in discrete mathematics, formal specification and software development.<>
ZAL (LISP中的Z动画)是一个包,它允许在基于Common LISP构建的交互式环境中增量地设计和验证Z规范。Z规范被转换为等价的ZAL程序,可以执行该程序以演示预期实现的功能。ZED是Z的全屏编辑器和语法分析器。使用这两个工具作为一个集成的包鼓励并促进了对正式规范的探索方法,这反映了许多Z用户(特别是初学者)更喜欢处理规范任务的方式。该软件包还被用于支持学生在离散数学,正式规范和软件开发课程的教学。
{"title":"Use of a specification construction and animation tool to teach formal methods","authors":"I. Morrey, J. Siddiqi, G. Buckberry, R. Hibberd","doi":"10.1109/CMPSAC.1993.404236","DOIUrl":"https://doi.org/10.1109/CMPSAC.1993.404236","url":null,"abstract":"ZAL (Z Animation in LISP) is a package which allows a Z specification to be incrementally designed and validated in an interactive environment built on Common LISP. A Z specification is transformed into an equivalent ZAL program which can be executed in order to demonstrate the functionality of the intended implementation. ZED is a full screen editor and syntax analyser for Z. Using these two tools as an integrated package encourages and facilitates an exploratory approach to formal specification which reflects the way in which many users of Z (particularly beginners) prefer to approach the specification task. The package has also been used to support the teaching of students following courses in discrete mathematics, formal specification and software development.<<ETX>>","PeriodicalId":375808,"journal":{"name":"Proceedings of 1993 IEEE 17th International Computer Software and Applications Conference COMPSAC '93","volume":"129 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1993-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114309544","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-01DOI: 10.1109/CMPSAC.1993.404239
Akira Fukuda, R. Fujiki, H. Kai
Non-uniform memory access multiprocessors have potential gains for achieving high performance. These machines are frequently used as computation servers with multiple parallel processes (we use this word instead of jobs) executing at the same time. In such environments, the efficiency of a parallel process can be significantly affected by the processor scheduling strategy. LA two-level scheduling strategy, which is a kind of space-multiplexing scheduling strategy, is a promising one for large-scale multiprocessors. This paper describes the structure and interface of the two-level scheduling strategy. We also propose basic alternatives in this strategy: as alternatives of handling free processors, (1) running-process-first scheme and (2) waiting-process-first scheme; as alternatives of handling idle processors, (1) idle-processor-hold scheme and (2) idle-processor-release scheme. These alternatives are examined through simulation experiments.<>
{"title":"Two-level processor scheduling for multiprogrammed NUMA multiprocessors","authors":"Akira Fukuda, R. Fujiki, H. Kai","doi":"10.1109/CMPSAC.1993.404239","DOIUrl":"https://doi.org/10.1109/CMPSAC.1993.404239","url":null,"abstract":"Non-uniform memory access multiprocessors have potential gains for achieving high performance. These machines are frequently used as computation servers with multiple parallel processes (we use this word instead of jobs) executing at the same time. In such environments, the efficiency of a parallel process can be significantly affected by the processor scheduling strategy. LA two-level scheduling strategy, which is a kind of space-multiplexing scheduling strategy, is a promising one for large-scale multiprocessors. This paper describes the structure and interface of the two-level scheduling strategy. We also propose basic alternatives in this strategy: as alternatives of handling free processors, (1) running-process-first scheme and (2) waiting-process-first scheme; as alternatives of handling idle processors, (1) idle-processor-hold scheme and (2) idle-processor-release scheme. These alternatives are examined through simulation experiments.<<ETX>>","PeriodicalId":375808,"journal":{"name":"Proceedings of 1993 IEEE 17th International Computer Software and Applications Conference COMPSAC '93","volume":"26 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1993-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127791544","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-01DOI: 10.1109/CMPSAC.1993.404225
I. Gorton, Innes Ritchie, J. Gray
The aims of the PARSE methodology are described, and the process graph design notation is summarised. Process graphs are a new graphical notation for describing systems comprising a collection of parallel processes in a language- and architecture-independent fashion. Further, process graph designs can be mechanically transformed into Petri nets to give a more detailed, executable design specification. Some simple process graphs and their corresponding Petri nets are described in order to demonstrate this transformation process. A more extensive example then illustrates the initial stages of the design process in practice.<>
{"title":"Parallel software engineering with PARSE","authors":"I. Gorton, Innes Ritchie, J. Gray","doi":"10.1109/CMPSAC.1993.404225","DOIUrl":"https://doi.org/10.1109/CMPSAC.1993.404225","url":null,"abstract":"The aims of the PARSE methodology are described, and the process graph design notation is summarised. Process graphs are a new graphical notation for describing systems comprising a collection of parallel processes in a language- and architecture-independent fashion. Further, process graph designs can be mechanically transformed into Petri nets to give a more detailed, executable design specification. Some simple process graphs and their corresponding Petri nets are described in order to demonstrate this transformation process. A more extensive example then illustrates the initial stages of the design process in practice.<<ETX>>","PeriodicalId":375808,"journal":{"name":"Proceedings of 1993 IEEE 17th International Computer Software and Applications Conference COMPSAC '93","volume":"14 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1993-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123648752","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}