Traditional linear control strategies are usually straightforward and easy to implement, but they tend to be helpless when dealing with complex nonlinear problems, which drastically limit their scope of application. I...
详细信息
Traditional linear control strategies are usually straightforward and easy to implement, but they tend to be helpless when dealing with complex nonlinear problems, which drastically limit their scope of application. In order to find a way that can overcome their drawbacks while not giving up their main feature of simplicity, this paper introduces evolutionary programming as an optimization method, which tackles the difficulty by being integrated with conventional PID controllers to form self-adaptive control systems. This approach has both the advantages of flexibility and simplicity, without sacrificing accuracy. A CSTR (continuous stirred tank reactor) system is presented as a case in point to show its working principle and simulation results are also given to prove its efficiency. The last part of the paper gives some recommendations for future work and improvements.
Existing methods for visual reasoning attempt to directly map inputs to outputs using black-box architectures without explicitly modeling the underlying reasoning processes. As a result, these black-box models often l...
详细信息
ISBN:
(纸本)9781538610329
Existing methods for visual reasoning attempt to directly map inputs to outputs using black-box architectures without explicitly modeling the underlying reasoning processes. As a result, these black-box models often learn to exploit biases in the data rather than learning to perform visual reasoning. Inspired by module networks, this paper proposes a model for visual reasoning that consists of a program generator that constructs an explicit representation of the reasoning process to be performed, and an execution engine that executes the resulting program to produce an answer. Both the program generator and the execution engine are implemented by neural networks, and are trained using a combination of backpropagation and REINFORCE. Using the CLEVR benchmark for visual reasoning, we show that our model significantly outperforms strong baselines and generalizes better in a variety of settings.
Nowadays, it is more and more usual that applications provide critical and non-critical functionalities, the so-called mix-criticality applications. One of the main challenges for developing such applications is to is...
详细信息
Model-driven development (MDD) is methodology of software construction emerging recently to counter the drawbacks of classic approaches. Apart from the well-known UML, SEAM is another MDD approach increasingly attract...
详细信息
AIDA modeling/programming language is based on algorithmic pictures and animations as super-characters for representing and explaining features of computational (or other type) algorithms. Generic pictures are used to...
详细信息
automatic programming is the systematic generation of a program from a given specification. The goal of automatic programming is to allow programmers to specify what a program should do, and let the system generate th...
详细信息
automatic programming is the systematic generation of a program from a given specification. The goal of automatic programming is to allow programmers to specify what a program should do, and let the system generate the program code describing how the given program will work. Programs can be specified using a constructible, formal, and comprehensible specification language. Descartes is one such formal specification language, based on the functional model and has the advantages of easy constructability and comprehensibility. This paper overviews the use of formal methods to specify requirements and the advantage of using an executable formal specification language in order to specify software systems. In Descartes, specifications are described by defining the input and output data and relating the output data as a function of the input data. This research paper analyzes the various approaches towards automatic programming and reduces the gap between specification and programming, by introducing a method to automatically transform a Descartes specification of a program into executable Java code.
Software development relies heavily on manual processes for transforming requirements into software artifacts such as models, source code, or test cases. Requirements are the starting point for these transformations, ...
详细信息
ISBN:
(纸本)9781450304276
Software development relies heavily on manual processes for transforming requirements into software artifacts such as models, source code, or test cases. Requirements are the starting point for these transformations, and they are typically written in natural language. However, hardly any automated tools exist that translate natural language texts into software artifacts. We propose to adapt recent advances in natural language processing and semantic technologies to generate UML models, test cases, and perhaps even source code, from natural language input. Though earlier efforts in automatic programming had limited success, we are now in a situation where extracting meaning from text has made substantial progress. For example, encouraging results for generating UML models from textual requirements have been achieved. It might even be possible to generate executable test cases. An intermediate step would be to generate tests from API documentation (which would also be a useful capability in itself). An even greater advance would be to automate rote coding. In all of these cases, entirely new classes of software tools would be needed to extract and process the semantics inherent in natural language texts, augment them with tacit knowledge from ontologies and domain models, and, where necessary, ask humans to clarify ambiguities. Though speculative, a determined, long-term effort in translating text to software could automate and accelerate software development to an unprecedented degree. Copyright 2010 ACM.
Code generators are increasingly used in an industrial context to translate graphical models into executable code. Since the code is often deployed in safety-related environments, the quality of the code generators is...
详细信息
Before performing a modification task, a developer usually has to investigate the source code of a system to understand how to carry out the task. Discovering the code relevant to a change task is costly because it is...
详细信息
ISBN:
(纸本)1595930140
Before performing a modification task, a developer usually has to investigate the source code of a system to understand how to carry out the task. Discovering the code relevant to a change task is costly because it is an inherently human activity whose success depends on a large number of unpredictable factors, such as intuition and luck. Although studies have shown that effective developers tend to explore a program by following structural dependencies, no methodology is available to guide their navigation through the typically hundreds of dependency paths found in a non-trivial program. In this paper, we propose a technique to automatically propose and rank program elements that are potentially interesting to a developer investigating source code. Our technique is based on an analysis of the topology of structural dependencies in a program. It takes as input a set of program elements of interest to a developer and produces a fuzzy set describing other elements of potential interest. Empirical evaluation of our technique indicates that it can help developers quickly select program elements worthy of investigation while avoiding less interesting ones. Copyright 2005 ACM.
Model-Driven Development is promising to software development because it can reduce the complexity and cost of developing large software systems. The basic idea is the use of different kinds of models during the softw...
详细信息
暂无评论