265 research outputs found
Mixin Composition Synthesis based on Intersection Types
We present a method for synthesizing compositions of mixins using type
inhabitation in intersection types. First, recursively defined classes and
mixins, which are functions over classes, are expressed as terms in a lambda
calculus with records. Intersection types with records and record-merge are
used to assign meaningful types to these terms without resorting to recursive
types. Second, typed terms are translated to a repository of typed combinators.
We show a relation between record types with record-merge and intersection
types with constructors. This relation is used to prove soundness and partial
completeness of the translation with respect to mixin composition synthesis.
Furthermore, we demonstrate how a translated repository and goal type can be
used as input to an existing framework for composition synthesis in bounded
combinatory logic via type inhabitation. The computed result is a class typed
by the goal type and generated by a mixin composition applied to an existing
class
Using Inhabitation in Bounded Combinatory Logic with Intersection Types for Composition Synthesis
We describe ongoing work on a framework for automatic composition synthesis
from a repository of software components. This work is based on combinatory
logic with intersection types. The idea is that components are modeled as typed
combinators, and an algorithm for inhabitation {\textemdash} is there a
combinatory term e with type tau relative to an environment Gamma?
{\textemdash} can be used to synthesize compositions. Here, Gamma represents
the repository in the form of typed combinators, tau specifies the synthesis
goal, and e is the synthesized program. We illustrate our approach by examples,
including an application to synthesis from GUI-components.Comment: In Proceedings ITRS 2012, arXiv:1307.784
Using Component-based Software Synthesis and Constraint Solving to generate Sets of Manufacturing Simulation Models
There is a high degree of flexibility in the design of production systems when it comes to the selection and configuration of machines. Simulation supports this complex decision process. However, modeling various configurations in a simulation environment is very time-consuming. We present a framework that includes component-based software synthesis to generate the set of all possible simulation models for the respective planning case. From the set, feasible solutions for a simulation study are then selected using constraint solving methods. We evaluate our approach using a practical example from sheet metal production
The Algebraic Intersection Type Unification Problem
The algebraic intersection type unification problem is an important component
in proof search related to several natural decision problems in intersection
type systems. It is unknown and remains open whether the algebraic intersection
type unification problem is decidable. We give the first nontrivial lower bound
for the problem by showing (our main result) that it is exponential time hard.
Furthermore, we show that this holds even under rank 1 solutions (substitutions
whose codomains are restricted to contain rank 1 types). In addition, we
provide a fixed-parameter intractability result for intersection type matching
(one-sided unification), which is known to be NP-complete.
We place the algebraic intersection type unification problem in the context
of unification theory. The equational theory of intersection types can be
presented as an algebraic theory with an ACI (associative, commutative, and
idempotent) operator (intersection type) combined with distributivity
properties with respect to a second operator (function type). Although the
problem is algebraically natural and interesting, it appears to occupy a
hitherto unstudied place in the theory of unification, and our investigation of
the problem suggests that new methods are required to understand the problem.
Thus, for the lower bound proof, we were not able to reduce from known results
in ACI-unification theory and use game-theoretic methods for two-player tiling
games
A knowledge-driven framework for synthesizing designs from modular components
Creating a design from modular components necessitates three steps: Acquiring
knowledge about available components, conceiving an abstract design concept,
and implementing that concept in a concrete design. The third step entails many
repetitive and menial tasks, such as inserting parts and creating joints
between them. Especially when comparing and implementing design alternatives,
this issue is compounded. We propose a use-case agnostic knowledge-driven
framework to automate the implementation step. In particular, the framework
catalogues the acquired knowledge and the design concept, as well as utilizes
Combinatory Logic Synthesis to synthesize concrete design alternatives. This
minimizes the effort required to create designs, allowing the design space to
be thoroughly explored. We implemented the framework as a plugin for the CAD
software Autodesk Fusion 360. We conducted a case study in which robotic arms
were synthesized from a set of 28 modular components. Based on the case study,
the applicability of the framework is analyzed and discussed
Proof-theoretic Semantics and Tactical Proof
The use of logical systems for problem-solving may be as diverse as in
proving theorems in mathematics or in figuring out how to meet up with a
friend. In either case, the problem solving activity is captured by the search
for an \emph{argument}, broadly conceived as a certificate for a solution to
the problem. Crucially, for such a certificate to be a solution, it has be
\emph{valid}, and what makes it valid is that they are well-constructed
according to a notion of inference for the underlying logical system. We
provide a general framework uniformly describing the use of logic as a
mathematics of reasoning in the above sense. We use proof-theoretic validity in
the Dummett-Prawitz tradition to define validity of arguments, and use the
theory of tactical proof to relate arguments, inference, and search.Comment: submitte
- …