We have developed the programming language logic Java which smoothly integrates the object-oriented language Java and logicprogramming concepts such as logic variables, constraint solving, and backtracking. It combin...
详细信息
ISBN:
(纸本)9783642225307;9783642225314
We have developed the programming language logic Java which smoothly integrates the object-oriented language Java and logicprogramming concepts such as logic variables, constraint solving, and backtracking. It combines the advantages of object-orientation such as easy maintainability and adaptability due to inheritance and encapsulation of structure and behavior withthe advantages of logic languages such as suitability for search problems. Java annotations and a symbolic Java virtual machine are used to handle the logicprogramming concepts. In contrast to previous approaches to integrate object-oriented and logicprogramming, we preserve the syntax of Java. Our language is not split into two distinguishable parts but as closely integrated as possible. Besides the design and implementation of logic Java, providing a suitable interface between conventional and logic computations is the main contribution of this paper. A killer application, which can hardly be implemented more elegantly in any other language, is the tool Muggl which systematically generates glass-box test cases for Java programs. Applications requiring a substantial amount of search are also well suited.
Patterns distill successful experience in solving common software problems. We introduce a handful of new software design patterns for functionallogic languages. Some patterns are motivated by the evolution of the pa...
详细信息
ISBN:
(纸本)9783642225307;9783642225314
Patterns distill successful experience in solving common software problems. We introduce a handful of new software design patterns for functionallogic languages. Some patterns are motivated by the evolution of the paradigm in the last 10 years. Following usual approaches, for each pattern we propose a name and we describe its intent, applicability, structure, consequences, etc. Our patterns deal with fundamental aspects of the design and implementation of functionallogic programs such as function invocation, data structure representation and manipulation, specification-driven implementation, pattern matching, and non-determinism. We present some problems and we show fragments of programs that solve these problems using our patterns. the programming language of our examples is Curry. the complete programs are available on-line.
this paper presents an encoding of the XML query language XQuery in the functional-logic language TOY. the encoding is based on the definition of for-let-where-return constructors by means of TOY functions, and uses t...
详细信息
ISBN:
(纸本)9783642225307;9783642225314
this paper presents an encoding of the XML query language XQuery in the functional-logic language TOY. the encoding is based on the definition of for-let-where-return constructors by means of TOY functions, and uses the recently proposed XPath implementation for this language as a basis. XQuery expressions can be executed in TOY obtaining sequences of XML elements as answers. Our setting exploits the non-deterministic nature of TOY by retrieving the elements of the XML tree once at a time when necessary. We show that one of the advantages of using a rewriting-based language for implementing XQuery is that it can be used for optimizing XQuery expressions by query rewriting. Withthis aim, XQuery expressions are converted into higher order patterns that can be analyzed and modified by TOY functions.
the proceedings contain 14 papers. the topics discussed include: design patterns for tabled logicprogramming;an alternative high-level approach to interaction with databases;ISTO: a language for temporal organization...
ISBN:
(纸本)9783642205880
the proceedings contain 14 papers. the topics discussed include: design patterns for tabled logicprogramming;an alternative high-level approach to interaction with databases;ISTO: a language for temporal organizational information systems;programming patterns for logtalk parametric objects;stable model implementation of layer supported models by program transformation;towards computing revised models for FO theories;adaptive reasoning for cooperative agents;extending xquery for semantic web reasoning;reference model and perspective schemata inference for enterprise data integration;Jsquash: source code analysis of embedded database applications for determining sql statements;elder care via intention recognition and evolution prospection;knowledge management strategy and tactics for forging die design support;searching in protein state space;and network monitoring withconstraintprogramming: preliminary specification and analysis.
the UML Profile for Modeling and Analysis of Real-Time and Embedded systems (MARTE) has been recently adopted. the Clock constraint Specification Language (CCSL) allows the specification of causal, chronological and t...
详细信息
Complex software systems have a large number of choices in terms of selection of software components and hardware architectures for implementation. these design choices create a large space of possible design solution...
详细信息
Complex software systems have a large number of choices in terms of selection of software components and hardware architectures for implementation. these design choices create a large space of possible design solutions called the design space. the design process requires exploring through this design space to find valid design solutions before the actual implementation. Design space exploration (DSE) is the process of searching through the design space to find feasible and optimal design solutions. the main challenge in DSE is to deal with an exponential number of design alternatives, which is further complicated by the various conflicting requirements. thus, there is a clear need for tool support to automate DSE. Over the years domain-experts have frequently relied on different search techniques (mathematical programming, constraint techniques, heuristics) to automate DSE. Different approaches can be used to integrate the search techniques into the existing development environment. One of the approaches is development of black-box frameworks for DSE. Literature survey reveals that existing DSE frameworks are domain-specific where the representation and exploration algorithm are tightly coupled with domain-dependent assumptions. Besides this, most frameworks use a single search technique to automate exploration, which may not work well as the problem evolves over time. thus, most frameworks lack reusability and flexibility. this paper presents a survey of existing approaches for automated DSE. the goal is to highlight the requirements and research challenges in the development of a meta-framework for design space exploration. this framework can be meta-programmed by domain-experts to work for a class of DSE problems in any domain, thus providing reusability. the meta-framework also supports a set of search techniques providing the flexibility to choose a technique based on the characteristics of the problem instance.
the constraintfunctionallogicprogramming system TOY has been using the SICStus Prolog finite domain (FD) constraint solver. In this work, we show how to integrate the ILOG CP FD constraint solving technology into t...
详细信息
ISBN:
(纸本)9783642119989
the constraintfunctionallogicprogramming system TOY has been using the SICStus Prolog finite domain (FD) constraint solver. In this work, we show how to integrate the ILOG CP FD constraint solving technology into this system, withthe aim of improving its application domain and performance. We describe our implementation emphasizing the synchronization between Herbrand computations in the Toy side and FD constraint solving in the ILOG CP side. Finally, performance results are reported and discussed.
We give a novel transformation method for proving termination of higher-order rewrite rules in Klop's format called Combinatory Reduction System (CRS). the format CRS essentially covers the usual pure higher-order...
详细信息
ISBN:
(纸本)9783642119989
We give a novel transformation method for proving termination of higher-order rewrite rules in Klop's format called Combinatory Reduction System (CRS). the format CRS essentially covers the usual pure higher-order functional programs such as Haskell. Our method called higher-order semantic labelling is an extension of a method known in the theory of term rewriting. this attaches semantics of the arguments to each function symbol. We systematically define the labelling by using the complete algebraic semantics of CRS, E-monoids. We also examine the power of higher-order semantic labelling by several examples. this includes an interesting example from the viewpoint of functionalprogramming.
Lua is a scripting language used in many industrial applications, with an emphasis on embedded systems and games. Two key points in the design of the language that led to its widely adoption are flexibility and small ...
详细信息
ISBN:
(纸本)9783642119989
Lua is a scripting language used in many industrial applications, with an emphasis on embedded systems and games. Two key points in the design of the language that led to its widely adoption are flexibility and small size. To achieve these two conflicting goals, the design emphasizes the use of few but powerful mechanisms, such as first-class functions, associative arrays, coroutines, and reflexive capabilities. As a consequence of this design, although Lua is primarily a procedural language, it is frequently used in several different programming paradigms, such as functional, object-oriented, goal-oriented, and concurrent programming, and also for data description. In this paper we discuss what mechanisms Lua features to achieve its flexibility and how programmers use them for different paradigms.
Numerous computational and deductive frameworks use the notion of strategy to guide reduction and search space exploration, making the macro scale control of micro operations an explicit object of interest. In recent ...
详细信息
ISBN:
(纸本)9783642119989
Numerous computational and deductive frameworks use the notion of strategy to guide reduction and search space exploration, making the macro scale control of micro operations an explicit object of interest. In recent works, abstract strategies have been defined in extension but also intensionally. In this paper we complete these views with a new declarative approach based on constraints, which are used to model the different parts of a strategy. this procedure allows us to express elaborate strategies in a declarative and reusable way.
暂无评论