Pub Date : 1989-09-20DOI: 10.1109/CMPSAC.1989.65160
J. Tsai, K. Fang, Horng-Yuan Chen
On the basis of a general mechanism for reproducing the execution behavior of real-time software systems, a new approach is suggested for a knowledge-based debugger for real-time software systems. A description is given of the use of noninterference architecture to collect the program execution history of a target system without interfering with the execution of the target system. Thus, the timing constraints of a real-time software system can be preserved. To eliminate the redundant information in the collected execution history, a postprocessing mechanism is introduced to organize the necessary information for testing and debugging. The redundant data, which are useless for debugging certain types of error, are removed, and only the required data proceed to the debugging phase. A knowledge-based debugging tool is then used to assist users in localizing errors. Examples are used to illustrate the approach in detecting synchronization and timing errors of real-time software systems.<>
{"title":"A knowledge-based debugger for real-time software systems based on a noninterference testing architecture","authors":"J. Tsai, K. Fang, Horng-Yuan Chen","doi":"10.1109/CMPSAC.1989.65160","DOIUrl":"https://doi.org/10.1109/CMPSAC.1989.65160","url":null,"abstract":"On the basis of a general mechanism for reproducing the execution behavior of real-time software systems, a new approach is suggested for a knowledge-based debugger for real-time software systems. A description is given of the use of noninterference architecture to collect the program execution history of a target system without interfering with the execution of the target system. Thus, the timing constraints of a real-time software system can be preserved. To eliminate the redundant information in the collected execution history, a postprocessing mechanism is introduced to organize the necessary information for testing and debugging. The redundant data, which are useless for debugging certain types of error, are removed, and only the required data proceed to the debugging phase. A knowledge-based debugging tool is then used to assist users in localizing errors. Examples are used to illustrate the approach in detecting synchronization and timing errors of real-time software systems.<<ETX>>","PeriodicalId":339677,"journal":{"name":"[1989] Proceedings of the Thirteenth Annual International Computer Software & Applications Conference","volume":"17 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1989-09-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128072742","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 : 1989-09-20DOI: 10.1109/CMPSAC.1989.65121
J. Huang
It is argued that real-time system design can be made a more credible research subject and can attract more attention from academic researchers if it is possible to do significant experimentation with computing facilities commonly found in a university. This may be accomplished by: (1) compiling and publishing interesting problems found in real-world systems; (2) developing system design courses with nontrivial programming projects; (3) developing simulators of real-time system problems that are capable of exercising the experimental real-time systems; and (4) making common software components available for research and teaching.<>
{"title":"On real-time system research and education","authors":"J. Huang","doi":"10.1109/CMPSAC.1989.65121","DOIUrl":"https://doi.org/10.1109/CMPSAC.1989.65121","url":null,"abstract":"It is argued that real-time system design can be made a more credible research subject and can attract more attention from academic researchers if it is possible to do significant experimentation with computing facilities commonly found in a university. This may be accomplished by: (1) compiling and publishing interesting problems found in real-world systems; (2) developing system design courses with nontrivial programming projects; (3) developing simulators of real-time system problems that are capable of exercising the experimental real-time systems; and (4) making common software components available for research and teaching.<<ETX>>","PeriodicalId":339677,"journal":{"name":"[1989] Proceedings of the Thirteenth Annual International Computer Software & Applications Conference","volume":"44 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1989-09-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130150421","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 : 1989-09-20DOI: 10.1109/CMPSAC.1989.65071
J. Browne
The goals for the Computation Oriented Display Environment (CODE) are to provide a representation power sufficient for facile expression of a wide class of parallel algorithms while at the same time permitting compilation to reasonably efficient programs on a wide spectrum of parallel execution environments and to provide a hierarchical approach to development of parallel programs. CODE is based on a formally specified model of parallel computation which covers most conventional MIMD models of parallel computation. The model is formulated at a higher level of abstraction than conventional MIMD shared-name-space and partitioned-name-space models of parallel computation. The conceptual foundation of CODE, in particular basing the language on an abstract model of parallel computation, has led to two significant capabilities which had not been anticipated: a calculus of composition which may be exploitable for automated or semiautomated program construction and a natural basis for highly effective component reuse.<>
{"title":"CODE: the Computation Oriented Display Environment","authors":"J. Browne","doi":"10.1109/CMPSAC.1989.65071","DOIUrl":"https://doi.org/10.1109/CMPSAC.1989.65071","url":null,"abstract":"The goals for the Computation Oriented Display Environment (CODE) are to provide a representation power sufficient for facile expression of a wide class of parallel algorithms while at the same time permitting compilation to reasonably efficient programs on a wide spectrum of parallel execution environments and to provide a hierarchical approach to development of parallel programs. CODE is based on a formally specified model of parallel computation which covers most conventional MIMD models of parallel computation. The model is formulated at a higher level of abstraction than conventional MIMD shared-name-space and partitioned-name-space models of parallel computation. The conceptual foundation of CODE, in particular basing the language on an abstract model of parallel computation, has led to two significant capabilities which had not been anticipated: a calculus of composition which may be exploitable for automated or semiautomated program construction and a natural basis for highly effective component reuse.<<ETX>>","PeriodicalId":339677,"journal":{"name":"[1989] Proceedings of the Thirteenth Annual International Computer Software & Applications Conference","volume":"55 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1989-09-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126334378","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 : 1989-09-20DOI: 10.1109/CMPSAC.1989.65092
Yann-Hang Lee, Philip S. Yu
An adaptive approach which utilizes the information embedded in indexes to identify the tuples satisfying a given predicate or having a match in a join operation is proposed. An access path (index or table scan) and a join method (index join, nested loop, sort-merge) are chosen to construct the results adaptively. This leads to the optimal evaluation of queries. With an efficient implementation, the adaptive decision process becomes a part of a query evaluation procedure, so that the overhead of the approach is minimized.<>
{"title":"Adaptive selection of access path and join method","authors":"Yann-Hang Lee, Philip S. Yu","doi":"10.1109/CMPSAC.1989.65092","DOIUrl":"https://doi.org/10.1109/CMPSAC.1989.65092","url":null,"abstract":"An adaptive approach which utilizes the information embedded in indexes to identify the tuples satisfying a given predicate or having a match in a join operation is proposed. An access path (index or table scan) and a join method (index join, nested loop, sort-merge) are chosen to construct the results adaptively. This leads to the optimal evaluation of queries. With an efficient implementation, the adaptive decision process becomes a part of a query evaluation procedure, so that the overhead of the approach is minimized.<<ETX>>","PeriodicalId":339677,"journal":{"name":"[1989] Proceedings of the Thirteenth Annual International Computer Software & Applications Conference","volume":"55 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1989-09-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"117028535","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 : 1989-09-20DOI: 10.1109/CMPSAC.1989.65112
F. Arefi, C. Hughes, D. Workman
A language specification mechanism is reported which is oriented around the automatic generation of editors as well as the conventional goals of parsing and semantic analysis. The primary result is a means by which a specification in the notation can be used to produce a visual editor automatically. In particular, it is demonstrated how well suited the modern techniques of object-oriented software are to this task.<>
{"title":"The object-oriented design of a visual syntax-directed editor generator","authors":"F. Arefi, C. Hughes, D. Workman","doi":"10.1109/CMPSAC.1989.65112","DOIUrl":"https://doi.org/10.1109/CMPSAC.1989.65112","url":null,"abstract":"A language specification mechanism is reported which is oriented around the automatic generation of editors as well as the conventional goals of parsing and semantic analysis. The primary result is a means by which a specification in the notation can be used to produce a visual editor automatically. In particular, it is demonstrated how well suited the modern techniques of object-oriented software are to this task.<<ETX>>","PeriodicalId":339677,"journal":{"name":"[1989] Proceedings of the Thirteenth Annual International Computer Software & Applications Conference","volume":"26 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1989-09-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121548641","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 : 1989-09-20DOI: 10.1109/CMPSAC.1989.65085
S. Zdonik
Distinctions between the object-oriented view in programming languages and that in databases are examined. Query optimization in object-oriented databases is discussed. The specification of constraints is examined. Areas in which research is needed are identified.<>
{"title":"Directions in object-oriented databases","authors":"S. Zdonik","doi":"10.1109/CMPSAC.1989.65085","DOIUrl":"https://doi.org/10.1109/CMPSAC.1989.65085","url":null,"abstract":"Distinctions between the object-oriented view in programming languages and that in databases are examined. Query optimization in object-oriented databases is discussed. The specification of constraints is examined. Areas in which research is needed are identified.<<ETX>>","PeriodicalId":339677,"journal":{"name":"[1989] Proceedings of the Thirteenth Annual International Computer Software & Applications Conference","volume":"10 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1989-09-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122757104","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 : 1989-09-20DOI: 10.1109/CMPSAC.1989.65149
W. Halang, B. Krämer
Four new approaches for coping with strict timing constraints as encountered in industrial process control applications are presented. For each node in a distributed system, an asymmetrical two-processor architecture capable of guaranteeing response times is employed. One processor in each node is dedicated to the kernel of a real-time operating system. Its three reaction levels are constructively described by outlining their functional units and control procedures. Contemporary real-time computers are unable to manipulate external parallel processes simultaneously, and their response times are generally unpredictable. It is shown that these problems can be solved by endowing the node computers with novel process peripherals. They work in parallel and perform I/O operations precisely at user-specified instants. To cope with a transient overload of a node resulting from an emergency situation, a fault tolerant scheme that handles overloads by degrading the system performance gracefully and predictably is used. The scheme is based on the concept of imprecise results and does not utilize load sharing, which is usually impossible in industrial process control environments.<>
{"title":"Methodologies for meeting hard deadlines in industrial distributed real-time systems","authors":"W. Halang, B. Krämer","doi":"10.1109/CMPSAC.1989.65149","DOIUrl":"https://doi.org/10.1109/CMPSAC.1989.65149","url":null,"abstract":"Four new approaches for coping with strict timing constraints as encountered in industrial process control applications are presented. For each node in a distributed system, an asymmetrical two-processor architecture capable of guaranteeing response times is employed. One processor in each node is dedicated to the kernel of a real-time operating system. Its three reaction levels are constructively described by outlining their functional units and control procedures. Contemporary real-time computers are unable to manipulate external parallel processes simultaneously, and their response times are generally unpredictable. It is shown that these problems can be solved by endowing the node computers with novel process peripherals. They work in parallel and perform I/O operations precisely at user-specified instants. To cope with a transient overload of a node resulting from an emergency situation, a fault tolerant scheme that handles overloads by degrading the system performance gracefully and predictably is used. The scheme is based on the concept of imprecise results and does not utilize load sharing, which is usually impossible in industrial process control environments.<<ETX>>","PeriodicalId":339677,"journal":{"name":"[1989] Proceedings of the Thirteenth Annual International Computer Software & Applications Conference","volume":"14 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1989-09-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126462763","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 : 1989-09-20DOI: 10.1109/CMPSAC.1989.65169
J. Siddiqi, Babak Khazaei
Highlights are presented of the carry-over effects in changing from a procedural to a declarative approach. The results of a case study of programming in Prolog for a relatively simple problem are reported. The different methods that the subjects used to solve the problem are described. It is argued that they can be explained on the basis of strategies used for problem decomposition and the choice of data representation. It is also argued that the methods of solution used suffer from a carry-over effect based on a procedural approach and, in particular, that the choice of data representation used appears to be more important than the paradigm used.<>
{"title":"What are the 'carry over effects' in changing from a procedural to a declarative approach?","authors":"J. Siddiqi, Babak Khazaei","doi":"10.1109/CMPSAC.1989.65169","DOIUrl":"https://doi.org/10.1109/CMPSAC.1989.65169","url":null,"abstract":"Highlights are presented of the carry-over effects in changing from a procedural to a declarative approach. The results of a case study of programming in Prolog for a relatively simple problem are reported. The different methods that the subjects used to solve the problem are described. It is argued that they can be explained on the basis of strategies used for problem decomposition and the choice of data representation. It is also argued that the methods of solution used suffer from a carry-over effect based on a procedural approach and, in particular, that the choice of data representation used appears to be more important than the paradigm used.<<ETX>>","PeriodicalId":339677,"journal":{"name":"[1989] Proceedings of the Thirteenth Annual International Computer Software & Applications Conference","volume":"2 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1989-09-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114196788","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 : 1989-09-20DOI: 10.1109/CMPSAC.1989.65058
T. LeBlanc
Although parallel programs are significantly more complex than sequential programs the same debugging methodology, augmented with the appropriate tools, can be used to debug parallel and sequential programs. Experiments have shown that these tools can reduce the debugging cycle for a parallel program dramatically. Other techniques, such as verification and testing, can be integrated with the debugging methodology. For example, static analysis can be used to discover erroneous race conditions. Verification can be used to narrow the search space for errors during monitoring and debugging. Nonetheless, debugging remains the most widely used technique for developing correct parallel programs.<>
{"title":"Parallel program debugging","authors":"T. LeBlanc","doi":"10.1109/CMPSAC.1989.65058","DOIUrl":"https://doi.org/10.1109/CMPSAC.1989.65058","url":null,"abstract":"Although parallel programs are significantly more complex than sequential programs the same debugging methodology, augmented with the appropriate tools, can be used to debug parallel and sequential programs. Experiments have shown that these tools can reduce the debugging cycle for a parallel program dramatically. Other techniques, such as verification and testing, can be integrated with the debugging methodology. For example, static analysis can be used to discover erroneous race conditions. Verification can be used to narrow the search space for errors during monitoring and debugging. Nonetheless, debugging remains the most widely used technique for developing correct parallel programs.<<ETX>>","PeriodicalId":339677,"journal":{"name":"[1989] Proceedings of the Thirteenth Annual International Computer Software & Applications Conference","volume":"40 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1989-09-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114871074","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 : 1989-09-20DOI: 10.1109/CMPSAC.1989.65117
S. Meyers, S. Reiss
A canonical program representation, semantic program graphs (SPGs), is described, and it is shown how SPGs can act as the foundation for multiparadigm software development environments. Using SPGs as the basis for program representation allows developers to see different views of programs that correspond to different ways of thinking about them, and it allows editors to be created so that the underlying program can be edited using any of the paradigms. As the sole program representation, SPGs also facilitate communication between paradigms: changes made in one view can be immediately reflected in all other views.<>
{"title":"Representing programs in multiparadigm software development environments","authors":"S. Meyers, S. Reiss","doi":"10.1109/CMPSAC.1989.65117","DOIUrl":"https://doi.org/10.1109/CMPSAC.1989.65117","url":null,"abstract":"A canonical program representation, semantic program graphs (SPGs), is described, and it is shown how SPGs can act as the foundation for multiparadigm software development environments. Using SPGs as the basis for program representation allows developers to see different views of programs that correspond to different ways of thinking about them, and it allows editors to be created so that the underlying program can be edited using any of the paradigms. As the sole program representation, SPGs also facilitate communication between paradigms: changes made in one view can be immediately reflected in all other views.<<ETX>>","PeriodicalId":339677,"journal":{"name":"[1989] Proceedings of the Thirteenth Annual International Computer Software & Applications Conference","volume":"18 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1989-09-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121786775","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}