首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 140 毫秒
1.
In this paper, we discuss the use of Ada® on distributed systems in which failure of processors has to be tolerated. We assume that tasks are the primary object of distribution, and that communication between tasks on separate processors will take place using the facilities of the Ada language. It would be possible to build a separate set of facilities for communication between processors, and to treat the software on each machine as a separate program. This is unnecessary and undesirable. In addition, the Ada language Reference Manual states specifically that a system consisting of communicating processors with private memories is suitable for executing an Ada program.  相似文献   

2.
《国际计算机数学杂志》2012,89(1-4):189-206
A class of Explicit Preconditioned Conjugate Gradient (EPCG) methods for solving large sparse linear systems of algebraic equations resulting from the Finite Element discretization of Elliptic and Parabolic PDE's is introduced. The EPCG methods are based on explicit Approximate Inverse Matrix techniques and are particularly suitable for solving numerically initial/boundary-value problems on multiprocessor systems. The application of the new methods on 2D-linear boundary-value problems is discussed and numerical results are given.  相似文献   

3.
Distributed software engineering techniques and methods for improving the specification and testing phases are considered. To examine these issues, an experiment was performed using the design diversity approach in the specification, design, implementation, and testing of distributed software. In the experiment, three diverse formal specifications were used to produce multiple independent implementations of a distributed communication protocol in Ada. The problems encountered in building complex concurrent processing systems in Ada were also studied. Many pitfalls were discovered in mapping the formal specifications into Ada implementations  相似文献   

4.
Real-time systems are becoming increasingly widespread, often in safety-critical applications. It is therefore crucial that these systems be correct; however, there are few automated tools for analyzing concurrency and timing properties of these systems. The PARTS toolset uses a Petri-net-based reachability analysis to analyze program specifications written in an Ada-83 subset. Our simple time Petri nets are specifically aimed at facilitating real-time analysis. In order to control the state-explosion problem, PARTS employs several optimization techniques aimed at state-space reduction. In this paper we discuss our approach and we report on extensive experiments with several examples of real-time specifications based on Ada 83. When possible, we also compare our experimental results with results obtained by other approaches to real-time analysis.  相似文献   

5.
How to develop knowledge-based and expert systems today is becoming more and more well understood; how to test these systems still poses some challenges. There has been considerable progress in developing techniques for static testing of these systems, checking for problems via formal examination methods; but there has been almost no work on dynamic testing, testing the systems under operating conditions. A novel approach for the dynamic testing of expert system rule bases is presented. This approach, Heuristic Testing, is based on the idea of first testing systems for disastrous safety and integrity problems before testing for primary functions and other classes of problems, and a prioritized series of 10 classes of faults are identified. The Heuristic Testing approach is intended to assure software reliability rather than simply find defects; the reliability is based on the 10 fault clones called compotent reliability. General procedures for conceptualizing and generating test cases were developed for all fault classes, including a Generic Testing Method for generating key test-case values. One of the classes, error-metric, illustrates how complexity-metrics, now used for predicting conventional software problems, could be developed for expert system rule bases. Two key themes are automation (automatically generating test cases) and fix-as-you-go testing (fixing a problem before continuing to test). The overall approach may be generalizable to static rule base testing, to testing of other expert system components, to testing of other nonconventional systems such as neural network and object-oriented systems, and even to conventional software.  相似文献   

6.
This paper describes experiences with three CMS-2 to Ada language translators. It describes the evolution of an effort whose initial goal was trial usage of a single translator, into an effort which ultimately used three translators and made some comparisons of their outputs.The following points represent key findings and conclusions from these experiences. All three of the translator tools successfully generated Ada source code. However, further evaluations would be beneficial. Translation will be useful to systems and software engineers as a part of an overall transition scheme.This paper describes experiences by personnel from the Naval Surface Warfare Center, Dahlgren Division (NSWCDD) and their support contractor CSC. The work was supported by the organizations that developed the translators: Computer Command and Control Company (CCCC), Johns Hopkins University/Applied Physics Laboratory (JHU/APL), and the Navy Command, Control, and Ocean Surveillance Center (NCCOSC) Research and Development Division (NRaD).Translator operation data were collected and reviewed to develop conclusions and recommendations for further development of CMS-2-to-Ada translation technology. Two of the translators (those from CCCC and NRaD) were installed at NSWCDD and operated by NSWCDD and CSC. The third translator was operated in its native environment at JHU/APL. All three of the translators were used to translate the same segment of operational CMS-2 code—a weapons selection function.  相似文献   

7.
Abstract: Maintainability problems associated with traditional software systems are exacerbated in rule-based systems. The very nature of that approach — separation of control knowledge and data-driven execution — hampers maintenance. While there are widely accepted techniques for maintaining conventional software, the same is not true for rule-based systems. In most situations, both a knowledge engineer and a domain expert are necessary to update the rules of a rule-based system. This paper presents, first, an overview of the software engineering techniques and object-oriented methods used in maintaining rule-based systems. It then discusses alternate paradigms for expert system development. The benefits of using case-based reasoning (from the maintenance point of view) are illustrated through the implementation of a case-based scheduler. The main value of the scheduler is that its knowledge base can be modified by the expert without the assistance of a knowledge engineer. Since changes in application requirements can be given directly to the system by the expert, the effort of maintaining the knowledge base is greatly reduced.  相似文献   

8.
It is time to borrow techniques from operations research and software engineering in order to improve today's expert systems technology. Expert systems, the next wave beyond decision support systems, are being developed in many specific domains. There are, however, some major research issues that need to be addressed in order to advance the state-of-the-art in expert systems. Operations research methods could augment and resolve some of these research issues, as discussed in this paper.  相似文献   

9.
Summary In modern imperative languages there are two commonly occurring ways to activate concurrently running tasks,splitting (cobegin...coend) andspawning. The programming language Ada makes use of both forms of task activation. We present a formal system for verifying partial correctness specifications of Ada tasks activated by spawning. The system is based upon a view of tasks as histories of events. We show how the mindset of splitting may be applicable when developing a formal system for reasoning about spawning. The resultant proof system is compositional, and a robust extension of partial correctness proof systems for sequential constructs. A transition model is given for spawning, and the proof system is proven complete in the sense of Cook [10] relative to this model, under certain reasonable assumptions. The specific proof rules given apply to a subset of Ada without real-time and distributed termination. Our approach to task verification applies to other imperative languages besides Ada, and the essential parts of our methodology are applicable to other formal systems besides those based on partial correctness reasoning. Sigurd Meldal is professor of informatics at the University of Bergen. He is interested in techniques and tools based on formal methods for development of concurrent software. His current foci are the investigation of algebraic approaches to nondeterminism, and the participation in the design of a concurrent specification, prototyping and implementation language. The latter supplements formal proof with support for run time control of consistency between concurrent systems as specified and as implemented. Meldal received his cand. real. (1982) and dr. scient. (1986) degrees in informatics from the University of Oslo.This research was supported by a grant from the Norwegian Research Council for Science and the Humanities, by the Defense Advanced Research Projects Agency/Information Systems Technology Office under the office of Naval Research contract N00014-90-J1232, by the Air Force Office of Scientific Research under Grant AFOSR83-0255 and by a Fulbright Scholarship from the US Educational Foundation in Norway  相似文献   

10.
Abstract: Although MIS professionals had predicted that expert systems would improve productivity enormously, and a number of expert system application success stories have been reported, the expert system revolution has not yet happened. Moreover, there have been many cases, less well publicised, where expert systems have failed. Most problems concerning expert systems failure stem from non-technical issues such as cognitive and psychological problems, rather than such purely technical issues as an inference engine and an expert system shell. Here, the major reasons for expert systems failure and the need to consider human factors are discussed. We then propose human factor principles that can help designers handle most of these non-technical problems and many technical ones elegantly, improving the performance and acceptance of expert systems. Finally, some human factor guidelines for expert systems are presented so that these considerations may be incorporated into expert systems development in a clear and comprehensible manner.  相似文献   

11.
The use of Petri nets for defining a general static analysis framework for Ada tasking is advocated. The framework has evolved into a collection of tools that have proven to be a very valuable platform for experimental research. The design and implementation of tools that make up the tasking-oriented toolkit for the Ada language (TOTAL) are defined and discussed. Modeling and query/analysis methods and tools are discussed. Example Ada tasking programs are used to demonstrate the utility of each tool individually as well as the way the tools integrate. TOTAL is divided into two major subsystems, the front-end translator subsystem (FETS) and the back-end information display subsystem (BIDS). Three component tools that make up FETS are defined. Examples demonstrate the way these tools integrate in order to perform the translation of Ada source to Petri-net format. The BIDS subsystem and, in particular, the use of tools and techniques to support user-directed, but transparent, searches of Ada-net reachability graphs are discussed  相似文献   

12.
基于人工神经元网络的控制系统模型简化的专家系统   总被引:6,自引:0,他引:6  
本文研究并实现了一个基于人工神经元网络的控制系统模型简化的专家系统(简称为ESOMRT)。该系统适用于专家和非专家用户,能够针对更体的连续和离散时间的高阶控制系统模型和简化要求选择合适的简化方法,并可对简化质量从时域和频域方面进行评估。在构造这个系统的过程中,作者提出了智能数据库的概念,使用了过程型和人工神经元网络方法相结合的知识表达方式,并利用神经元网络的再学习机制实现了斗自动知识获取,该系统具有三种工作模式和友好的人机界面,使系统的智能水平比较高并有实用价值,现已在IBM-PC/XT和386机上运行。  相似文献   

13.
This paper presents the results of a study comparing pairs of functionally equivalent programs written in the FORTRAN and Ada languages. We found the Ada programs to require more lines of code than their functionally equivalent FORTRAN counterparts. However, we also observed that the overhead for Ada diminishes as program size increases. Our limited data suggested that there may be a cross-over point beyond which the size of an Ada program would be smaller than a functionally equivalent FORTRAN program. We explore some of the reasons for these economies of scale when using Ada. The implications of our findings on software cost estimating are also discussed.  相似文献   

14.
Ganapathi  M. Mendal  G.O. 《Computer》1989,22(2):52-60
The key technical issues involved in producing high-quality Ada compilers and related support tools are discussed. These include real-time issues, programming tools and environments, and code optimization. Also addressed are some important problems that compiler designers face, for example, determining which deficiencies of existing Ada systems can be attributed to the language and which are simply hard-to-implement features or unresolved issued in Ada compiler technology  相似文献   

15.
We analyze two important problems that arise in shared-memory multiprocessor systems. Thestale data problem involves ensuring that data items in local memory of individual processors are current, independent of writes done by other processors.False sharing occurs when two processors have copies of the same shared data block but update different portions of the block. The false sharing problem involves guaranteeing that subsequent writes are properly combined. In modern architectures these problems are usually solved in hardware, by exploiting mechanisms for hardware controlled cache consistency. This leads to more expensive and nonscalable designs. Therefore, we are concentrating on software methods for ensuring cache consistency that would allow for affordable and scalable multiprocessing systems. Unfortunately, providing software control is nontrivial, both for the compiler writer and for the application programmer. For this reason we are developing a debugging environment that will facilitate the development of compiler-based techniques and will help the programmer to tune his or her application using explicit cache management mechanisms. We extend the notion of a race condition for IBM Shared Memory System POWER/4, taking into consideration its noncoherent caches, and propose techniques for detection of false sharing problems. Identification of the stale data problem is discussed as well, and solutions are suggested.  相似文献   

16.
Abstract: An expert system embodies a humun expert's domain-specific knowledge and skill, acquired and refined over years of experience. A number of problems in diagnosis and engineering design can be solved by Using current expert-system techniques. This paper enumerates the main components of such problems and the steps that are taken in solving them. A few prototypical articificial intellegence systems embody techniques that can be applied to engineering problems. These are surveyed, and their relevance to components of design problems is discussed. Some expert systems in design domains are summarized, with emphasis on aspects that can illustrate wider applicability of the techniques. A number of avenues of further research are evident, and the area of engineering design offers rich opportunities for advancing the state-of-the-art in expert systems. An annotated selective bibliography is included  相似文献   

17.
The cyclic executive model and Ada   总被引:1,自引:0,他引:1  
Periodic processes are major parts of many real-time embedded computer applications. The programming language Ada permits programming simple periodic processes, but it has some serious limitations; producing Ada programs with real-time performance comparable to those produced to date using traditional cyclic executives requires resorting to techniques that are specific to one machine or compiler. We present and evaluate the cyclic executive model for controlling periodic processes. The features and limitations of Ada for programming cyclic executive software are discussed and demonstrated, and some practical techniques for circumventing Ada limitations are described.  相似文献   

18.
A major thrust of modern software engineering methods, languages, and tools is to promote software visibility and to present information about the underlying software architecture. With large, complex software systems, automated tools are indispensable for identifying the architectural components, the structure that interconnects them, and other subtle dependencies. This article describes the construction of an Ada System Dependency Analyzer (SDA), a software architecture analysis tool that generates a quantitative snapshot of an Ada application's software architecture. The SDA can process thousands of Ada source files during a single run and report on them as a group of files comprising a single Ada system. Our SDA tool identifies Ada source code dependencies on COTS products such as operating systems, compilers, the X Window System, and on routines written in other languages, and can thus predict software portability and reliability problems. It rapidly and accurately processes 24,000 lines of code per minute (a time-consuming, if not impossible, operation if done manually) and has successfully processed more than seven million lines of code in eight complex systems. Although originally developed for Ada, our methods and the technology we adopted will let us construct analogous tools for other programming languages such as C, C++, Cobol; and PL/I  相似文献   

19.
基于模糊神经网络的专家系统及应用   总被引:2,自引:0,他引:2  
专家系统前景广阔,但其进一步发展必须引入其他先进技术,神经网络和模糊系统是解决知识获和经验性知识的不确定性等传统专家系统的“瓶颈”问题的全新途径。  相似文献   

20.
Expert systems and knowledge based systems have emerged from “esoteric” laboratory research in Artificial Intelligence (AI) to become an important tool for approaching real world problems. Expert systems are distinctive in that they are designed to address problems in a similar manner and with similar results as a human expert. The basic structure of an expert system is comprised of three functionally separate components: (a) knowledge base, which contains a representation of domain related facts; (b) means of knowledge base use to solve a problem, inference mechanism; and (c) working memory, which records the input data and progress for each problem. Given the complexity and cost of expert system construction, it is imperative that system developers and researchers attend to research issues which are critical to knowledge engineering. These questions can be categorized according to the parts of an expert system: (a) knowledge representation; (b) knowledge utilization; and (c) knowledge acquisition. A knowledge acquisition procedure is presented which displays the relationship between subject matter expert expertise consisting of declarative knowledge, procedural knowledge, heuristics, formal rules, and meta-rules. The knowledge engineer uses one or a combination of elicitation methods to gather relevant data to eventually build the components of an expert system. Further explained are the acquisition methods: (a) structured interview; (b) verbal reports; (c) teaching the subject matter; (d) observation; and (e) automated knowledge acquisition tools. The paper concludes with a discussion of the future research issues concerned with using knowledge mapping and task analysis vs. knowledge acquisition techniques.  相似文献   

设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号