Current trends in Software Engineering and developments in logic programming lead us to believe that there will be an opportunity for logic programming to make a breakthrough in Software Engineering. In this paper, we...
详细信息
ISBN:
(数字)9783540456193
ISBN:
(纸本)3540439307
Current trends in Software Engineering and developments in logic programming lead us to believe that there will be an opportunity for logic programming to make a breakthrough in Software Engineering. In this paper, we explain how this has arisen, and justify our belief with a real-life application. Above all, we invite fellow workers to take up the challenge that the opportunity offers.
Despite considerable progress in software and hardware techniques, many recent computing advances do more harm than good when embedded computing systems absolutely must meet tight timing constraints. For example, whil...
详细信息
Despite considerable progress in software and hardware techniques, many recent computing advances do more harm than good when embedded computing systems absolutely must meet tight timing constraints. For example, while synchronous digital logic delivers precise timing determinacy, advances in computer architecture and software have made it difficult or impossible to estimate or predict software's execution time. Moreover, networking techniques introduce variability and stochastic behavior, while operating systems rely on best-effort techniques. Worse, programming language semantics do not handle time well, so developers can only specify timing requirements indirectly. Thus, achieving precise timeliness in a networked embedded system - an absolutely essential goal - requires sweeping changes. For embedded computing to realize its full potential, we must reinvent computer science. Resource limitations have influenced embedded software's evolution. Embedded software differs from other software in more fundamental ways.
Intelligent agent development has imposed new challenges on the necessary language support. Object-oriented languages have been proposed as an appropriate tool, although logic-oriented languages are more adequate for ...
详细信息
Intelligent agent development has imposed new challenges on the necessary language support. Object-oriented languages have been proposed as an appropriate tool, although logic-oriented languages are more adequate for managing mental attitudes. Mufti-paradigm languages supporting encapsulation of action, hiding of private knowledge and flexible manipulation of knowledge are, certainly, a Good alternative for programming agents. However, a unique language to support flexible and efficient development of mufti-agent systems confronts with the tradeoffs imposed by expressive power, efficiency and support technology. An alternative to conciliate these tradeoffs is not to think about a single language but an incrementally compatible family of agent-oriented mufti-paradigm languages. In this work we present an approach based on object-oriented framework technology for integrating object and logic paradigms in such a way that new language features can be incrementally added to the core language. This core language is based on logic modules integrated as object abstractions in the object paradigm. JavaLog is a materialization of this framework integrating Java and Prolog. This core was extended to provide mufti-threading support, mobility and temporal-logic operator to Prolog. MoviLog, the mobile part of the family provides a novel mobility mechanism, reactive mobility by failure. which enables virtual Prolog databases distributed across Web sites. (C) 2004 Elsevier Ltd. All rights reserved.
In Gori [An abstract interpretation framework to reason on finite failure and other properties of finite and infinite computations, Theoret. Comput. Sci. 290(1) (2003) 863-936] a new fixpoint semantics which correctly...
详细信息
In Gori [An abstract interpretation framework to reason on finite failure and other properties of finite and infinite computations, Theoret. Comput. Sci. 290(1) (2003) 863-936] a new fixpoint semantics which correctly models finite failure has been defined. This semantics is And-compositional, compositional w.r.t. instantiation and is based on a co-continuous operator. Based on this fixpoint semantics a new inductive method able to verify a program w.r.t. the property of finite failure can be defined. In this paper we show how Ferrand's approach, using both a least fixpoint and greatest fixpoint semantics, can be adapted to finite failure. The verification method is not effective. Therefore, we consider an approximation from above and an approximation from below of our semantics, which give two different finite approximations. These approximations are used for effective program verification. (c) 2005 Elsevier Inc. All rights reserved.
We design and implement a library for adding backtracking computations to any Haskell monad. Inspired by logic programming, our library provides, in addition to the operations required by the MonadPlus interface, cons...
详细信息
We design and implement a library for adding backtracking computations to any Haskell monad. Inspired by logic programming, our library provides, in addition to the operations required by the MonadPlus interface, constructs for fair disjunctions, fair conjunctions, conditionals, pruning, and an expressive top-level interface. Implementing these additional constructs is easy in models of backtracking based on streams, but not known to be possible in continuation-based models. We show that all these additional constructs can be generically and monadically realized using a single primitive msplit. We present two implementations of the library: one using success and failure continuations;and the other using control operators for manipulating delimited continuations.
Calculating with graphs and relations has many applications in the analysis of software systems, for example, the detection of design patterns or patterns of problematic design and the computation of design metrics. T...
详细信息
Calculating with graphs and relations has many applications in the analysis of software systems, for example, the detection of design patterns or patterns of problematic design and the computation of design metrics. These applications require an expressive query language, in particular, for the detection of graph patterns, and an efficient evaluation of the queries even for large graphs. In this paper, we introduce RML, a simple language for querying and manipulating relations based on predicate calculus, and CrocoPat, an interpreter for RML programs. RML is general because it enables the manipulation not only of graphs (i.e., binary relations), but of relations of arbitrary arity. CrocoPat executes RML programs efficiently because it internally represents relations as binary decision diagrams, a data structure that is well-known as a compact representation of large relations in computer-aided verification. We evaluate RML by giving example programs for several software analyses and CrocoPat by comparing its performance with calculators for binary relations, a Prolog system, and a relational database management system.
First-order theories are ordered under logical entailment based on the amount of information derived from theories. In default logic, on the other hand, a theory contains default information as well as definite inform...
详细信息
First-order theories are ordered under logical entailment based on the amount of information derived from theories. In default logic, on the other hand, a theory contains default information as well as definite information. To order default theories, distinguishing different sorts of information is necessary to assess the information content of a default theory. For this purpose, we first introduce a multi-valued interpretation of default theories using a ten-valued bilattice. It distinguishes between definite and credulous/skeptical default information derived from a theory, and is used for ordering default theories based on their information contents. We then apply the technique to order nonmonotonic logic programs under the answer set semantics. The results of this paper provide a method for comparing default theories or nonmonotonic logic programs in a manner different from the conventional extension/model-based viewpoint. Moreover, they have important application to induction from nonmonotonic theories. (c) 2004 Elsevier B.V. All rights reserved.
A full adder is used to demonstrate a programming technique using binary functionality for increased functional density in quaternary look-up table-based field programmable gated arrays (FPGAs). The potential ineffici...
详细信息
A full adder is used to demonstrate a programming technique using binary functionality for increased functional density in quaternary look-up table-based field programmable gated arrays (FPGAs). The potential inefficiencies of using quaternary level functionality for these architectures are also illustrated.
In recent years, a major thrust in addressing the requirements of adaptivity and responsiveness for manufacturing control has been the application of tools from distributed artificial intelligence. These tools can be ...
详细信息
In recent years, a major thrust in addressing the requirements of adaptivity and responsiveness for manufacturing control has been the application of tools from distributed artificial intelligence. These tools can be called intelligent control systems. Typically, these tools are adaptable to a changing environment; resilient to disturbance; distributed, in the sense that typically more than one decision-making element exists; and dynamic in decision making. They range from modeling tools such as neural networks, fuzzy logic, and evolutionary programming to new distributed forms of manufacturing control and management systems. Of particular importance are multiagent-based manufacturing control and management systems. Such approaches bring new features of flexibility and easy reconfigurability to industrial-control solutions. These features result from agent-based systems' basic properties such as a high degree of autonomy for decision-making units, the ability to communicate complex messages asynchronously, the capability to negotiate and cooperate, and, mainly, the ability to achieve complex global goals without a central decision element.
All-optical programmable logic must use recirculating delay lines for storage. Two approaches to minimising the latency inherent in delay-line-based systems by treating the layout of code and data in memory as an inte...
详细信息
All-optical programmable logic must use recirculating delay lines for storage. Two approaches to minimising the latency inherent in delay-line-based systems by treating the layout of code and data in memory as an integer linear programming (ILP) problem are presented. It is shown that, although this approach can generate optimal code for small routines, it will not scale enough to compile useful programs.
暂无评论