首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 93 毫秒
1.
Time-constrained reasoning under uncertainty   总被引:1,自引:1,他引:0  
Dynamic classification problems present unique challenges beyond those of more traditionalstatic knowledge-based systems. Uncertain and incomplete input data, unpredictable event sequences, and critical time and resource constraints require new approaches and techniques for automated reasoning. Our work toward addressing these complex requirements has concentrated on developing an integrated software architecture which supports the knowledge engineering process from development to deployment. The approach we are using to deal with real-time issues in the deployment environment involves the use of a fast knowledge representation scheme, efficient forward and backward chaining mechanisms, and a meta-controller which handles asynchronous inputs, prioritized task requests, and hard performance deadlines.  相似文献   

2.
Automation and Information Systems play both tactical and strategic roles in the success of a business enterprise. They also pose an extremely challenging set of management issues concerned with the selection and management of technologies, management of the workforce to achieve successful implementation and operational use, and the integration of automation and information systems with business operations to capture the full benefits. Systems Integration programs involve high levels of technical and management risk commensurate with the significant business benefits that may be achieved. New and emerging automation and information technologies for Computer Integrated Manufacturing/Distribution, image processing, real-time transaction processing, and customer service cut across all organizational and functional units of an enterprise and require full system integration to capture their potential benefits. A wave of re-engineering programs are underway within commercial enterprises and the government to modify their business processes to take full competitive advantage of these technologies. There are numerous examples of both well managed and hopelessly mangled systems integration programs in both the public and private sectors that lead to the need for better management approaches. The management of software development has been a particularly troublesome area. This article presents a general model of the management structure to implement a systems integration program, using an enterprise-wide Information Systems Architecture (ISA) as a roadmap, and supported by a defined set of measures and metrics. Standards, although no panacea for systems integratio, play an important role in the architectural framework. The Information System Architecture approach described in this article is comprehensive in covering application software and data architecture as well as the computing and communications hardware infrastructure and other automation technologies that support the overall business process. The objective of the accompanying management model is to define a management structure, its essential functions, and methods that support a traditional systems development approach, as well as new approaches using prototyping and evolutionary development. Any of these management approaches require an ISA that is comprehensive in supporting business objectives, resilient in accommodating changing business conditions and technologies, and useful in producing a practical information architecture that can be applied to business operations. Examples of the ISA approach that support systems management are discussed for representative types of enterprise in the manufacturing sector and the service sector:
  1. The Manufacturing/Distribution Enterprise example uses automated manufacturing and materials handling systems supported by MRPII software to integrate engineering, distribution, and financial systems; and
  2. The Financial Services Enterprise example applies automated transaction processing using image processing and document management systems to achieve improved products and a more productive workflow with enhanced response to customers and/or clients.
  相似文献   

3.
Software plays an increasingly important role in complex systems, especially for high-tech applications involved in important fields, such as transportation, financial management, communication, biomedical applications and so on. For these systems, performances such as efficient operation, fault tolerance, safety and security have to be guaranteed by the software structure, whose quality in use is assuming a growing importance from the industrial point of view. The basic problem is that the complexity of the task which software has to perform has often grown more quickly than hardware. In addition, unlike hardware, software cannot break or wear out, but can fail during its life cycle (dynamic defects) [1]. Software problems, essentially, have to be solved with quality assurance tools such as configuration management, testing procedures, quality data reporting systems and so on [2]. In this context, the paper proposes a new approach concerning the automated software testing as an aid to maximize the test plan coverage within the time available and also to increase software reliability and quality in use [3]. In this paper a method which combines accelerated automated tests for the study of software regression and memory overflow will be shown, in order to guarantee software with both a high quality level and a decrease of the testing time. The software will be tested by using test sequences reproducing the actual operating conditions and accelerated stress level. Moreover the research wishes to define some parameters of the software life and to show the generality of the proposed technique.  相似文献   

4.
Unit testing plays a major role in the software development process. What started as an ad hoc approach is becoming a common practice among developers. It enables the immediate detection of bugs introduced into a unit whenever code changes occur. Hence, unit tests provide a safety net of regression tests and validation tests which encourage developers to refactor existing code with greater confidence. One of the major corner stones of the agile development approach is unit testing. Agile methods require all software classes to have unit tests that can be executed by an automated unit-testing framework. However, not all software systems have unit tests. When changes to such software are needed, writing unit tests from scratch, which is hard and tedious, might not be cost effective. In this paper we propose a technique which automatically generates unit tests for software that does not have such tests. We have implemented GenUTest, a prototype tool which captures and logs interobject interactions occurring during the execution of Java programs, using the aspect-oriented language AspectJ. These interactions are used to generate JUnit tests. They also serve in generating mock aspects—mock object-like entities, which enable testing units in isolation. The generated JUnit tests and mock aspects are independent of the tool, and can be used by developers to perform unit tests on the software. Comprehensiveness of the unit tests depends on the software execution. We applied GenUTest to several open source projects such as NanoXML and JODE. We present the results, explain the limitations of the tool, and point out direction to future work to improve the code coverage provided by GenUTest and its scalability.  相似文献   

5.
基于本体的需求自动获取   总被引:70,自引:0,他引:70  
金芝 《计算机学报》2000,23(5):486-492
以企业信息系统为研究背景 ,提出了一种基于本体的需求获取方法 ,该方法用企业本体和领域本体为基本线索 ,引导领域用户全面描述现实系统 ,并通过重用领域需求模型 ,构造应用软件需求模型 .这种方法的主要特点是 :用领域用户可以理解的语言与他们交互 ,让他们能积极地参与需求获取活动 ;需求获取在模型的制导下完成 ,利于保证需求获取的完整性和一致性 ;在多种知识的支持下 ,自动完成对现实系统的理解和目标系统需求模型的构造 .该文将以该方法的总体结构为主线 ,分企业本体和领域本体的结构以及目标系统需求模型的构造两大部分 ,阐述这种方法 .  相似文献   

6.
基于选择性冗余思想,提出了一种测试数据自动生成算法.算法首先利用分支函数线性逼近和极小化方法,找出程序中所有可行路径,同时对部分可行路径自动生成适合的初始测试数据集;当利用分支函数线性逼近和极小化方法无法得到正确的测试数据时,基于使得测试数据集最小的原理和选择性冗余思想,针对未被初始测试数据集覆盖的谓词和子路径进行测试数据的增补.由于新算法结合谓词切片和DUC表达式,可以从源端判断子路径是否可行,因此能有效地降低不可行路径对算法性能的影响.算法分析和实验结果表明,该算法有效地减少了测试数据数量,提高了测试性能.  相似文献   

7.
For the maintenance of software systems, developers have to completely understand the existing system. The usage of design patterns leads to benefits for new and young developers by enabling them to reuse the knowledge of their experienced colleagues. Design patterns can support a faster and better understanding of software systems. There are different approaches for supporting pattern recognition in existing systems by tools. They are evaluated by the Information Retrieval criteria precision and recall. An automated search based on structures has a highly positive influence on the manual validation of the results by developers. This validation of graphical structures is the most intuitive technique. In this paper a new approach for automated pattern search based on minimal key structures is presented. It is able to detect all patterns described by the GOF [15]. This approach is based on positive and negative search criteria for structures and is prototypically implemented using Rational Rose and Together.  相似文献   

8.
The design process of automated manufacturing systems typically involves physical prototypes to validate the interactions between hardware and software components. However, physical prototyping is expensive and time consuming, which often leads to insufficient opportunities for testing early during the development cycle. Our objective is to improve this situation by providing a method to develop realistic prototypes using virtual reality technology that can be applied during earlier development stages. Our approach combines a virtual reality engine capable of enacting the laws of rigid body physics with a new hybrid software modelling language to control the simulated hardware using virtual sensors and actuators as they would be present in a physical prototype. The new modelling language is called Geometry-driven Petri nets (GPN) and combines a class of timed, high-level Petri nets with data structures used in state-of-the-art VR environments. This article describes the new GPN approach, applies it to a case study of an automated manufacturing line, and compares it with related approaches.  相似文献   

9.
Severity levels, e.g., critical and minor, of bugs are often used to prioritize development efforts. Prior research efforts have proposed approaches to automatically assign the severity label to a bug report. All prior efforts verify the accuracy of their approaches using human-assigned bug reports data that is stored in software repositories. However, all prior efforts assume that such human-assigned data is reliable. Hence a perfect automated approach should be able to assign the same severity label as in the repository – achieving a 100% accuracy. Looking at duplicate bug reports (i.e., reports referring to the same problem) from three open-source software systems (OpenOffice, Mozilla, and Eclipse), we find that around 51 % of the duplicate bug reports have inconsistent human-assigned severity labels even though they refer to the same software problem. While our results do indicate that duplicate bug reports have unreliable severity labels, we believe that they send warning signals about the reliability of the full bug severity data (i.e., including non-duplicate reports). Future research efforts should explore if our findings generalize to the full dataset. Moreover, they should factor in the unreliable nature of the bug severity data. Given the unreliable nature of the severity data, classical metrics to assess the accuracy of models/learners should not be used for assessing the accuracy of approaches for automated assigning severity label. Hence, we propose a new approach to assess the performance of such models. Our new assessment approach shows that current automated approaches perform well – 77-86 % agreement with human-assigned severity labels.  相似文献   

10.
Popular notations for functional requirements specifications frequently ignore developers’ needs, target specific development models, or require translation of requirements into tests for verification; the results can give out-of-sync or downright incompatible artifacts. Seamless requirements, a new approach to specifying functional requirements, contributes to developers’ understanding of requirements and to software quality regardless of the process, while the process itself becomes lighter due to the absence of tests in the presence of formal verification. A development case illustrates these benefits, and a discussion compares seamless requirements to other approaches.  相似文献   

11.
《Neurocomputing》1999,24(1-3):37-54
This paper presents some highlights in the application of neural networks, fuzzy logic, genetic algorithms, and rough sets to automated knowledge acquisition. These techniques are capable of dealing with inexact and imprecise problem domains and have been demonstrated to be useful in the solution of classification problems. It addresses the issue of the application of appropriate evaluation criteria such as rule base accuracy and comprehensibility for new knowledge acquisition techniques. An empirical study is then described in which three approaches to knowledge acquisition are investigated. The first approach combines neural networks and fuzzy logic, the second, genetic algorithms and fuzzy logic, and in the third a rough sets approach has been examined, and compared. In this study neural network and genetic algorithm fuzzy rule induction systems have been developed and applied to three classification problems. Rule induction software based on rough sets theory was also used to generate and test rule bases for the same data. A comparison of these approaches with the C4.5 inductive algorithm was also carried out. Our research to date indicates that, based on the evaluation criteria used, the genetic/fuzzy approach compares more than favourably with the neuro/fuzzy and rough set approaches. On the data sets used the genetic algorithm system displays a higher accuracy of classification and rule base comprehensibility than the C4.5 inductive algorithm.  相似文献   

12.
This special section contains a selection of contributions originally presented at the Third Haifa Verification Conference (HVC’07). The scope of this conference covers all types of verification of both hardware and software systems. While there is widespread agreement on the importance of verification, it is clear that different systems require different approaches. Several distinct fields of research have developed, devoted to either software or hardware, or to a particular verification approach such as formal or testing/simulation. Each of these paradigms has an extensive publication history and its own dedicated conference. Yet there is much to be gained from sharing knowledge and experience. HVC’s goal is to serve as a venue for researchers from all fields of verification, enabling them to exchange ideas and learn from one another. It is our hope that by gathering these experts together in one conference, we are fostering the emergence of new trends that combine ideas and insights from different domains.  相似文献   

13.
Recent automation systems are well structured according to tasks fulfilled by the functions executed on dedicated devices. These functional assignments are also reasons for the design and topology of fieldbus communication systems. New approaches like Cyber Physical System (CPS) require different approaches according to existing communication technologies and engineering. On one side the interaction models advance, and on the other side the demands for industrial plants become a lot more flexible. This article shows upcoming demands on automation systems and discusses new strategies for software deployment of automation applications and communication systems to fulfill these requirements. This includes handling of different types of functional coupling, e.g. loose coupling with internet/web based technologies for interaction and information management. In addition the current device models offering specific device functions have to be adapted to the new CPS approach.  相似文献   

14.
Test Case Generation as an AI Planning Problem   总被引:6,自引:0,他引:6  
While Artificial Intelligence techniques have been applied to a variety of software engineering applications, the area of automated software testing remains largely unexplored. Yet, test cases for certain types of systems (e.g., those with command language interfaces and transaction based systems) are similar to plans. We have exploited this similarity by constructing an automated test case generator with an AI planning system at its core. We compared the functionality and output of two systems, one based on Software Engineering techniques and the other on planning, for a real application: the StorageTek robot tape library command language. From this, we showed that AI planning is a viable technique for test case generation and that the two approaches are complementary in their capabilities.  相似文献   

15.
In software development, testers often focus on functional testing to validate implemented programs against their specifications. In safety-critical software development, testers are also required to show that tests exercise, or cover, the structure and logic of the implementation. To achieve different types of logic coverage, various program artifacts such as decisions and conditions are required to be exercised during testing. Use of model checking for structural test generation has been proposed by several researchers. The limited application to models used in practice and the state space explosion can, however, impact model checking and hence the process of deriving tests for logic coverage. Thus, there is a need to validate these approaches against relevant industrial systems such that more knowledge is built on how to efficiently use them in practice. In this paper, we present a tool-supported approach to handle software written in the Function Block Diagram language such that logic coverage criteria can be formalized and used by a model checker to automatically generate tests. To this end, we conducted a study based on industrial use-case scenarios from Bombardier Transportation AB, showing how our toolbox CompleteTest can be applied to generate tests in software systems used in the safety-critical domain. To evaluate the approach, we applied the toolbox to 157 programs and found that it is efficient in terms of time required to generate tests that satisfy logic coverage and scales well for most of the programs.  相似文献   

16.
A software product is typically upgraded many times over its lifetime. Reactive systems are no exception, undergoing evolutionary version changes to add features and fix bugs. Evolving these stateful systems, such as email clients, software agents, smart cell phones, and personal digital assistants, is complicated by the fact that new versions of the software must deal correctly with legacy instances. Users of earlier versions have invested significant resources in creating the state of the legacy instance, and usually require that this state be upgraded appropriately when the new system version is activated. However, validating the correctness of this upgrading behavior is particularly difficult, whether through testing or automated reasoning techniques like theorem proving or model checking, because legacy states are typically unreachable to the new version of the software. This paper explores this problem and requirements for its solution. It then presents a simple and widely applicable upgrade framework, based upon the idea of a supermodel that allows upgrade behavior to be validated using mainstream approaches. Finally, it also gives techniques for simplifying the validation problem.  相似文献   

17.
ContextAspect-oriented programming (AOP) has been promoted as a means for handling the modularization of software systems by raising the abstraction level and reducing the scattering and tangling of crosscutting concerns. Studies from literature have shown the usefulness and application of AOP across various fields of research and domains. Despite this, research shows that AOP is currently used in a cautious way due to its natural impact on testability and maintainability.ObjectiveTo realize the benefits of AOP and to increase its adoption, aspects developed using AOP should be subjected to automated testing. Automated testing, as one of the most pressing needs of the software industry to reduce both effort and costs in assuring correctness, is a delicate issue in testing aspect-oriented programs that still requires advancement and has a way to go before maturity.MethodPrevious attempts and studies in automated test generation process for aspect-oriented programs have been very limited. This paper proposes a rigorous automated test generation technique, called RAMBUTANS, with its tool support based on guided random testing for the AspectJ programs.ResultsThe paper reports the results of a thorough empirical study of 9 AspectJ benchmark programs, including non-trivial and larger software, by means of mutation analysis to compare RAMBUTANS and the four existing automated AOP testing approaches for testing aspects in terms of fault detection effectiveness and test effort efficiency. The results of the experiment and statistical tests supplemented by effect size measures presented evidence of the effectiveness and efficiency of the proposed technique at 99% confidence level (i.e. p < 0.01).ConclusionThe study showed that the resulting randomized tests were reasonably good for AOP testing, thus the proposed technique could be worth using as an effective and efficient AOP-specific automated test generation technique.  相似文献   

18.
在金融软件测试中,面时大规模复杂的金融算法以及大量的回归测试,自动化测试有着相当的重要的作用.通过介绍自动化测试的相关知识,结合金融软件的特点,搭建相应的金融软件自动化测试环境,并使用一个实例来展示功能自动化测试在金融软件测试中的应用.实验结果表明,自动化测试显著提高金融软件测试的效率和准确率,节省人力和成本.讨论了自动化测试实施的难点和有待改进的地方.  相似文献   

19.
A model-driven approach for reusing tests in smart home systems   总被引:1,自引:0,他引:1  
The continuous advances of ubiquitous and pervasive computing have contributed to the successful increase in smart home systems. However, usually these systems are developed at a lower abstraction level very tied to specific technologies. Model-driven approaches have emerged to tackle the design of these systems, improving their reusability and maintainability and decreasing their complexity. Nevertheless, the existing model-driven approaches to develop smart home systems do not cover the whole development process, and testing activities are still relegated to the final programming stages, reducing their reusability for different technologies or platforms. Some approaches have proposed the incorporation of testing activities into the model-driven process. However, the test models defined are very tied to the specific systems and they must be redesigned for every new system to test, reducing thus the reusability of the test behavior. In this setting, this paper presents a process to define reusable tests that may be automatically applied to different smart home systems. The process is integrated into a whole MDD approach that provides support for the modeling of smart home systems at two different abstraction levels, ensuring the reusability of tests also for different smart home platforms.  相似文献   

20.
The complexity of software systems has been increasing dramatically in the past decade, and software testing as a labor-intensive component is becoming more and more expensive. Testing costs often account for up to 50% of the total expense of software development; hence any techniques leading to the automatic generation of test data will have great potential to considerably reduce costs. Existing approaches of automatic test data generation have achieved some success by using evolutionary computation algorithms, but they are unable to deal with Boolean variables or enumerated types and they need to be improved in many other aspects. This paper presents a new approach utilizing program dependence analysis techniques and genetic algorithms (GAs) to generate test data. A set of experiments using the new approach is reported to show its effectiveness and efficiency based upon established criterion.  相似文献   

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

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