Kai-Hsiung Chang, L. Murphy, B. Lee, Timothy W. Dollar, Yifang Chang, Jonathan D. Fouss
For the past decade, numerous commercial and experimental systems have been designed for collaborative writing applications. From our experience working in the area of CSCW research and development, we have come to realize the possibility and the potential significance of CSCW systems in the engineering design process. The objective of the research is to introduce and develop a CSCW environment to support engineering design, specifically, in a distributed environment that combines computer aided design (CAD) and computer aided software engineering (CASE). In an effort to combine them into a seamless engineering package, we first target supporting engineering design (using CAD) with computer simulation (using CASE). This paper addresses issues involved in the design and development of the environment, including the graphical user interface, text and graphics editors, video and audio communication, multimedia database, document integration, and software simulation.
{"title":"Design and model for a computer supported cooperative environment for CASE and CAD applications","authors":"Kai-Hsiung Chang, L. Murphy, B. Lee, Timothy W. Dollar, Yifang Chang, Jonathan D. Fouss","doi":"10.1145/2817460.2817510","DOIUrl":"https://doi.org/10.1145/2817460.2817510","url":null,"abstract":"For the past decade, numerous commercial and experimental systems have been designed for collaborative writing applications. From our experience working in the area of CSCW research and development, we have come to realize the possibility and the potential significance of CSCW systems in the engineering design process. The objective of the research is to introduce and develop a CSCW environment to support engineering design, specifically, in a distributed environment that combines computer aided design (CAD) and computer aided software engineering (CASE). In an effort to combine them into a seamless engineering package, we first target supporting engineering design (using CAD) with computer simulation (using CASE). This paper addresses issues involved in the design and development of the environment, including the graphical user interface, text and graphics editors, video and audio communication, multimedia database, document integration, and software simulation.","PeriodicalId":274966,"journal":{"name":"ACM-SE 35","volume":"17 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1997-04-02","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127043630","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}
Java could well be the answer to the problem of choosing an appropriate language for the first programming course. This paper looks at the pros and cons of teaching Java, concluding that Java appears to have outstanding prospects for computer science education in general and the first programming course in particular. In particular, the paper argues that the properties that make Java a suitable Internet language also make it excellent for classroom use.
{"title":"The case for Java as a first language","authors":"K. N. King","doi":"10.1145/2817460.2817492","DOIUrl":"https://doi.org/10.1145/2817460.2817492","url":null,"abstract":"Java could well be the answer to the problem of choosing an appropriate language for the first programming course. This paper looks at the pros and cons of teaching Java, concluding that Java appears to have outstanding prospects for computer science education in general and the first programming course in particular. In particular, the paper argues that the properties that make Java a suitable Internet language also make it excellent for classroom use.","PeriodicalId":274966,"journal":{"name":"ACM-SE 35","volume":"117 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1997-04-02","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127265295","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}
Most of practical problems which call for graph theory involve large graphs - graphs that are virtually impossible for hand computation. In fact, one of the reasons for the recent growth of interest in graph theory has been the arrival of the high-speed electronic computer. In this paper, we propose an algorithm which take the advantages of computing power gained from a machine with parallel architecture - A shared memory split bus system. The algorithm is to perform multiplications of adjacency matrices for a given graph using such system. Therefore, it determines whether the graph is a bipartite or not based on the existence of odd cycles in the graph. The simulation model for such an algorithm has shown some favorable results.
{"title":"An algorithm for a special graph","authors":"Tai-Chi Lee","doi":"10.1145/2817460.2817502","DOIUrl":"https://doi.org/10.1145/2817460.2817502","url":null,"abstract":"Most of practical problems which call for graph theory involve large graphs - graphs that are virtually impossible for hand computation. In fact, one of the reasons for the recent growth of interest in graph theory has been the arrival of the high-speed electronic computer. In this paper, we propose an algorithm which take the advantages of computing power gained from a machine with parallel architecture - A shared memory split bus system. The algorithm is to perform multiplications of adjacency matrices for a given graph using such system. Therefore, it determines whether the graph is a bipartite or not based on the existence of odd cycles in the graph. The simulation model for such an algorithm has shown some favorable results.","PeriodicalId":274966,"journal":{"name":"ACM-SE 35","volume":"23 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1997-04-02","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121634834","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 paper demonstrates how the inheritance and storage control facilities of Ada 95, along with the generic package mechanism of Ada 83, can be used to create object-oriented data structures. By way of illustration, a class hierarchy of generic linear collections (stacks, queues, lists, and ordered lists) is presented.
{"title":"Building object-oriented data structures in Ada 95","authors":"David C. Hunter","doi":"10.1145/2817460.2817506","DOIUrl":"https://doi.org/10.1145/2817460.2817506","url":null,"abstract":"This paper demonstrates how the inheritance and storage control facilities of Ada 95, along with the generic package mechanism of Ada 83, can be used to create object-oriented data structures. By way of illustration, a class hierarchy of generic linear collections (stacks, queues, lists, and ordered lists) is presented.","PeriodicalId":274966,"journal":{"name":"ACM-SE 35","volume":"27 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1997-04-02","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122001753","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 paper presents a graphical user interface (GUI) that integrates the various components of a timing tool. The timing tool predicts the best and the worst case execution times of high level language code segments for various architectures such as Alpha, MIPS and PowerPC. The GUI allows users to edit, compile and time selected code segments by invoking an editor, a compiler and a timer. Code segments can be easily selected and timed with a click of a button from the main window. In order to predict the execution time, the GUI then invokes a path analyzer to find the associated execution paths and a timer for the target machine. The timer utilizes low-level machine details and the assembler code generated by the compiler to predict execution times. The GUI then displays the best and the worst case execution times of the selected code segment on the main window.
{"title":"Design and implementation of a graphical user interface for a timing tool","authors":"Kelvin Cooks","doi":"10.1145/2817460.2817478","DOIUrl":"https://doi.org/10.1145/2817460.2817478","url":null,"abstract":"This paper presents a graphical user interface (GUI) that integrates the various components of a timing tool. The timing tool predicts the best and the worst case execution times of high level language code segments for various architectures such as Alpha, MIPS and PowerPC. The GUI allows users to edit, compile and time selected code segments by invoking an editor, a compiler and a timer. Code segments can be easily selected and timed with a click of a button from the main window. In order to predict the execution time, the GUI then invokes a path analyzer to find the associated execution paths and a timer for the target machine. The timer utilizes low-level machine details and the assembler code generated by the compiler to predict execution times. The GUI then displays the best and the worst case execution times of the selected code segment on the main window.","PeriodicalId":274966,"journal":{"name":"ACM-SE 35","volume":"166 Pt 1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1997-04-02","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116047023","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}
A Petri net can provide a graphical model of a concurrent system. They have been used to model such varied systems as resource control, communication networks and manufacturing processes. Computer Science students will, hopefully, learn the theory of Petri nets in a discrete mathematics course or a course on theoretical foundations of Computer Science. They may even see a graph of a sample net in a textbook, but it is unlikely they will have a chance to experiment with a "live" net. The Interactive Petri Net Simulator (IPNetS) described in this paper provides an easy point-and-click environment for students to design, modify, examine, and execute a Petri net. In seconds any simple Petri net can be created and animated. IPNetS provides display, file handling, and user control functions while a separate execution unit does the actual execution of the net. This flexible design allows for easy experimentation with different execution units and different types of nets. An Ada and a C++ execution unit are contrasted.
{"title":"Interactive Petri net simulation","authors":"J. Aitcheson, Thomas J. Cheatham","doi":"10.1145/2817460.2817493","DOIUrl":"https://doi.org/10.1145/2817460.2817493","url":null,"abstract":"A Petri net can provide a graphical model of a concurrent system. They have been used to model such varied systems as resource control, communication networks and manufacturing processes. Computer Science students will, hopefully, learn the theory of Petri nets in a discrete mathematics course or a course on theoretical foundations of Computer Science. They may even see a graph of a sample net in a textbook, but it is unlikely they will have a chance to experiment with a \"live\" net. The Interactive Petri Net Simulator (IPNetS) described in this paper provides an easy point-and-click environment for students to design, modify, examine, and execute a Petri net. In seconds any simple Petri net can be created and animated. IPNetS provides display, file handling, and user control functions while a separate execution unit does the actual execution of the net. This flexible design allows for easy experimentation with different execution units and different types of nets. An Ada and a C++ execution unit are contrasted.","PeriodicalId":274966,"journal":{"name":"ACM-SE 35","volume":"177 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1997-04-02","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114461333","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}
Mutation analysis is a way of quantifying the quality of a test set used in unit testing software. Unfortunately, mutation analysis performed using the conventional interpretive method is very slow. A new non-interpretive method, the MSG method, that has the promise of much higher performance was recently advanced. In this paper we describe TUMS, a prototype MSG-based implementation of a mutation analysis system. We also describe several experiments using this prototype that compare the performance of mutation analysis using the MSG method with mutation analysis using the conventional method. Our experiments strongly suggest that using the new MSG method is significantly faster than using the conventional method, with speed-ups as high as an order-of-magnitude observed.
{"title":"TUMS: testing using mutant schemata","authors":"Roland H. Untch, M. J. Harrold, A. Offutt","doi":"10.1145/2817460.2817505","DOIUrl":"https://doi.org/10.1145/2817460.2817505","url":null,"abstract":"Mutation analysis is a way of quantifying the quality of a test set used in unit testing software. Unfortunately, mutation analysis performed using the conventional interpretive method is very slow. A new non-interpretive method, the MSG method, that has the promise of much higher performance was recently advanced. In this paper we describe TUMS, a prototype MSG-based implementation of a mutation analysis system. We also describe several experiments using this prototype that compare the performance of mutation analysis using the MSG method with mutation analysis using the conventional method. Our experiments strongly suggest that using the new MSG method is significantly faster than using the conventional method, with speed-ups as high as an order-of-magnitude observed.","PeriodicalId":274966,"journal":{"name":"ACM-SE 35","volume":"16 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1997-04-02","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133785551","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 paper describes an object-based reengineering case study. Multi-configuration Hartree-Fock legacy software written in FORTRAN 77 was reengineered in FORTRAN 90 using the OMT methodology. The resulting object-based product was unsatisfactory; in particular, the object model had far too many interconnections. In addition, there was conflict between information hiding and efficiency issues. Based on the case study, it was concluded that the object-oriented paradigm may not be applicable to algorithm-intensive scientific software.
{"title":"Is the object-oriented paradigm appropriate for scientific software?","authors":"Nanshan Zeng, S. Schach","doi":"10.1145/2817460.2817487","DOIUrl":"https://doi.org/10.1145/2817460.2817487","url":null,"abstract":"This paper describes an object-based reengineering case study. Multi-configuration Hartree-Fock legacy software written in FORTRAN 77 was reengineered in FORTRAN 90 using the OMT methodology. The resulting object-based product was unsatisfactory; in particular, the object model had far too many interconnections. In addition, there was conflict between information hiding and efficiency issues. Based on the case study, it was concluded that the object-oriented paradigm may not be applicable to algorithm-intensive scientific software.","PeriodicalId":274966,"journal":{"name":"ACM-SE 35","volume":"379 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1997-04-02","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133934114","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}
Pattern classification involves learning a model from a set of labeled training samples that can in turn be used to help determine the label of new samples encountered. The models themselves take on one of two forms: parametric models which make assumptions about the form of the distribution of sample features given a label; or non-parametric models which make no assumptions about the form of the distribution but retain more knowledge of the training samples to assist with labeling new objects. In this paper we consider data on Canadian Agricultural Loans and show that despite the fact that the underlying data does not fit the assumptions made by the parametric techniques they still perform as well or better than the non-parametric techniques.
{"title":"A comparison of parametric and non-parametric techniques for pattern classification on Canadian agricultural loan data","authors":"Mark Bloemeke","doi":"10.1145/2817460.2817497","DOIUrl":"https://doi.org/10.1145/2817460.2817497","url":null,"abstract":"Pattern classification involves learning a model from a set of labeled training samples that can in turn be used to help determine the label of new samples encountered. The models themselves take on one of two forms: parametric models which make assumptions about the form of the distribution of sample features given a label; or non-parametric models which make no assumptions about the form of the distribution but retain more knowledge of the training samples to assist with labeling new objects. In this paper we consider data on Canadian Agricultural Loans and show that despite the fact that the underlying data does not fit the assumptions made by the parametric techniques they still perform as well or better than the non-parametric techniques.","PeriodicalId":274966,"journal":{"name":"ACM-SE 35","volume":"47 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1997-04-02","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124780215","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}
Information Representations, IR, are linear representations of topological maps that can be used to describe virtually any abstract, static or dynamic data. An IR can be manipulated to obtain mathematically equivalent forms that are either unique (normal) or alternative (canonical) representations. This concise paper draws attention to the recently developed high-speed chain-tracing algorithms for obtaining normal and canonical forms of IR's. Copies of the submitted full length paper will be available at the conference.
{"title":"Manipulation of information representations","authors":"P. Maine, Xia Ping","doi":"10.1145/2817460.2817534","DOIUrl":"https://doi.org/10.1145/2817460.2817534","url":null,"abstract":"Information Representations, IR, are linear representations of topological maps that can be used to describe virtually any abstract, static or dynamic data. An IR can be manipulated to obtain mathematically equivalent forms that are either unique (normal) or alternative (canonical) representations.\u0000 This concise paper draws attention to the recently developed high-speed chain-tracing algorithms for obtaining normal and canonical forms of IR's. Copies of the submitted full length paper will be available at the conference.","PeriodicalId":274966,"journal":{"name":"ACM-SE 35","volume":"18 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1997-04-02","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124984402","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}