Papers by Johannes Oetsch

arXiv (Cornell University), Dec 18, 2022
We deal with a challenging scheduling problem on parallel machines with sequence-dependent setup ... more We deal with a challenging scheduling problem on parallel machines with sequence-dependent setup times and release dates from a real-world application of semiconductor work-shop production. There, jobs can only be processed by dedicated machines, thus few machines can determine the makespan almost regardless of how jobs are scheduled on the remaining ones. This causes problems when machines fail and jobs need to be rescheduled. Instead of optimising only the makespan, we put the individual machine spans in non-ascending order and lexicographically minimise the resulting tuples. This achieves that all machines complete as early as possible and increases the robustness of the schedule. We study the application of Answer-Set Programming (ASP) to solve this problem. While ASP eases modelling, the combination of timing constraints and the considered objective function challenges current solving technology. The former issue is addressed by using an extension of ASP by difference logic. For the latter, we devise different algorithms that use multi-shot solving. To tackle industrial-sized instances, we study different approximations and heuristics. Our experimental results show that ASP is indeed a promising KRR paradigm for this problem and is competitive with state-of-the-art CP and MIP solvers. Under consideration in Theory and Practice of Logic Programming (TPLP).

Proceedings of the Nineteenth International Conference on Principles of Knowledge Representation and Reasoning
We present the system ALASPO which implements Adaptive Large-neighbourhood search for Answer Set ... more We present the system ALASPO which implements Adaptive Large-neighbourhood search for Answer Set Programming (ASP) Optimisation. Large-neighbourhood search (LNS) is a meta-heuristic where parts of a solution are destroyed and reconstructed in an attempt to improve an overall objective. ALASPO currently supports the ASP solver clingo, as well as its extensions clingo-dl and clingcon for difference and full integer constraints, and multi-shot solving for an efficient implementation of the LNS loop. Neighbourhoods can be defined in code or declaratively as part of the ASP encoding. While the method underlying ALASPO has been described in previous work, ALASPO also incorporates portfolios for the LNS operators along with self-adaptive selection strategies as a technical novelty. This improves usability considerably at no loss of solution quality, but on the contrary often yields benefits. To demonstrate this, we evaluate ALASPO on different optimisation benchmarks.
Principles of Knowledge Representation and Reasoning, Jun 10, 2012
In software testing, the small-scope hypothesis states that a high proportion of errors can be fo... more In software testing, the small-scope hypothesis states that a high proportion of errors can be found by testing a program for all test inputs within some small scope. In this paper, we evaluate the small-scope hypothesis for answer-set programming (ASP). To this end, we follow work in traditional testing and base our evaluation on mutation analysis. In fact, we show that a rather limited scope is sufficient for testing ASP encodings from a representative set of benchmark problems. Our experimental evaluation facilitates effective methods for testing in ASP. Also, it gives some justification to analyse programs at the propositional level after grounding them over a small domain.

Abstract. In answer-set programming (ASP), the solutions of a problem are encoded in dedicated mo... more Abstract. In answer-set programming (ASP), the solutions of a problem are encoded in dedicated models, called answer sets, of a logical theory. These answer sets are computed from the program that represents the theory by means of an ASP solver and returned to the user as sets of ground first-order literals. As this type of representation is often cumbersome for the user to interpret, tools like ASPVIZ and IDPDraw were developed that allow for visualising answer sets. The tool Kara, introduced in this paper, follows these approaches, using ASP itself as a language for defining visualisations of interpretations. Unlike existing tools that position graphic primitives according to static coordinates only, Kara allows for more high-level specifications, supporting graph structures, grids, and relative positioning of graphical elements. Moreover, generalising the functionality of previous tools, Kara provides modifiable visualisations such that interpretations can be manipulated by graph...

Abstract. We report about the current state and designated features of the tool SeaLion, aimed to... more Abstract. We report about the current state and designated features of the tool SeaLion, aimed to serve as an integrated development environment (IDE) for answer-set programming (ASP). A main goal of SeaLion is to provide a user-friendly environment for supporting a developer to write, evalu-ate, debug, and test answer-set programs. To this end, new support techniques have to be developed that suit the requirements of the answer-set semantics and meet the constraints of practical applicability. In this respect, SeaLion benefits from the research results of a project on methods and methodologies for answer-set program development in whose context SeaLion is realised. Currently, the tool pro-vides source-code editors for the languages of Gringo and DLV that offer syntax highlighting, syntax checking, and a visual program outline. Further implemented features are support for external solvers and visualisation as well as visual editing of answer sets. SeaLion comes as a plugin of the po...

Logic Programming and Nonmonotonic Reasoning, 2017
We present Harvey, a tool for random testing in answer-set programming (ASP) that allows to incor... more We present Harvey, a tool for random testing in answer-set programming (ASP) that allows to incorporate constraints to guide the generation of test inputs. Due to the declarative nature of ASP, it can be argued that there is less need for testing than in conventional software development. However, it is shown in practice that testing is still needed when more sophisticated methods are not viable. Random testing is recognised as a simple yet effective method in this regard. The approach described in this paper allows for random testing of answerset programs in which both test-input generation and determining test verdicts is facilitated using ASP itself: The test-input space is defined using ASP rules and uniformity of test-input selection is achieved by using XOR sampling. This allows to go beyond simple random testing by adding further ASP constraints in the process. 1 The name of our tool refers to Harvey Dent, one of the infamous adversaries of Batman, who, under his pseudonym Two-Face, makes all important decisions by flipping a coin.

Logics in Artificial Intelligence, 2019
The stable-model semantics has been generalised from logic programs to arbitrary theories. We exp... more The stable-model semantics has been generalised from logic programs to arbitrary theories. We explore a further generalisation and consider sequences of atoms as models instead of sets. The language is extended by suitable order operators to access this additional information. We recently introduced an extension of classical logic by a single order operator with a temporal interpretation for activity reasoning. The logic envisaged here is a nonmonotonic version thereof. Our definition of what we call stable-ordered models is based on the stable-model semantics for theories due to Ferraris and Lifschitz with the necessary changes. Compared to related nonmonotonic versions of temporal logics, our approach is less costly as checking model existence remains at the second level of the polynomial hierarchy. We demonstrate versatile applications from activity reasoning, combinatorial testing, debugging concurrent programs, and digital forensics.

ArXiv, 2018
Intelligent technologies, in particular systems to promote health and well-being, are inherently ... more Intelligent technologies, in particular systems to promote health and well-being, are inherently centered around the human being, and they need to interrelate with human activities at their core. While social sciences provide angles to study such activities, e.g., within the framework of cultural-historical activity theory, there is no formal approach to give an account of complex human activities from a Knowledge Representation and Reasoning (KR) perspective. Our goal is to develop a logic-based framework to specify complex activities that is directly informed by activity theory. There, complex activity refers to the process that mediates the relation between a subject and some motivating object which in turn generates a hierarchy of goals that direct actions. We introduce a new temporal logic to formalise key concepts from activity theory and study various inference problems in our framework. We furthermore discuss how to use Answer-Set Programming as a KR shell for activity reaso...

Answer-Set Programming for Lexicographical Makespan Optimisation in Parallel Machine Scheduling
Proceedings of the Eighteenth International Conference on Principles of Knowledge Representation and Reasoning
We deal with a challenging scheduling problem on parallel-machines with sequence-dependent setup ... more We deal with a challenging scheduling problem on parallel-machines with sequence-dependent setup times and release dates from a real-world application of semiconductor work-shop production. There, jobs can only be processed by dedicated machines, thus few machines can determine the makespan almost regardless of how jobs are scheduled on the remaining ones. This causes problems when machines fail and jobs need to be rescheduled. Instead of optimising only the makespan, we put the individual machine spans in non-ascending order and lexicographically minimise the resulting tuples. This achieves that all machines complete as early as possible and increases the robustness of the schedule. We study the application of Answer-Set Programming (ASP) to solve this problem. While ASP eases modelling, the combination of timing constraints and the considered objective function challenges current solving technology. The former issue is addressed by using an extension of ASP by difference logic. Fo...
Introduction to the Technical Communications of the 26th International Conference on Logic Programming}}
LIPIcs is a series of high-quality conference proceedings across all fields in informatics. LIPIc... more LIPIcs is a series of high-quality conference proceedings across all fields in informatics. LIPIcs volumes are published according to the principle of Open Access, i.e., they are available online and free of charge.

Theory and Practice of Logic Programming
We introduce a stepping methodology for answer-set programming (ASP) that allows for debugging an... more We introduce a stepping methodology for answer-set programming (ASP) that allows for debugging answer-set programs and is based on the stepwise application of rules. Similar to debugging in imperative languages, where the behaviour of a program is observed during a step-by-step execution, stepping for ASP allows for observing the effects that rule applications have in the computation of an answer set. While the approach is inspired from debugging in imperative programming, it is conceptually different to stepping in other paradigms due to non-determinism and declarativity that are inherent to ASP. In particular, unlike statements in an imperative program that are executed following a strict control flow, there is no predetermined order in which to consider rules in ASP during a computation. In our approach, the user is free to decide which rule to consider active in the next step following his or her intuition. This way, one can focus on interesting parts of the debugging search spa...

Lecture Notes in Computer Science, 2015
Incremental SAT and QBF solving potentially yields improvements when sequences of related formula... more Incremental SAT and QBF solving potentially yields improvements when sequences of related formulas are solved. An incremental application is usually tailored towards some specific solver and decomposes a problem into incremental solver calls. This hinders the independent comparison of different solvers, particularly when the application program is not available. As a remedy, we present an approach to automated benchmarking of incremental SAT and QBF solvers. Given a collection of formulas in (Q)DIMACS format generated incrementally by an application program, our approach automatically translates the formulas into instructions to import and solve a formula by an incremental SAT/QBF solver. The result of the translation is a program which replays the incremental solver calls and thus allows to evaluate incremental solvers independently from the application program. We illustrate our approach by different hardware verification problems for SAT and QBF solvers.
Recently, the techniques of model-driven engineering (MDE) have been proven valuable to manage th... more Recently, the techniques of model-driven engineering (MDE) have been proven valuable to manage the complexity of modern software systems during the software development process. In the area of answer-set programming (ASP), the focus is set so far on theoretical aspects, applications, and the development of efficient solvers, reducing the attention that is paid to the pragmatics of programming and assisting tools. To address this issue, we propose the MDEbased program development method VIDEAS by introducing explicit model-tocode mappings and code generation strategies ensuring compliant specification of facts and essential constraints. Its practical applicability is realised on the basis of a prototypical implementation.
On Testing Answer-Set Programs 1
Many applications require complexly structured data objects. Developing new or adapting existing ... more Many applications require complexly structured data objects. Developing new or adapting existing algorithmic solutions for creating such objects can be a non-trivial and costly task if the considered objects are subject to different application-specific constraints. Often, however, it is comparatively easy to declaratively describe the required objects. In this paper, we propose an approach for instantiating objects in standard object-oriented programming languages. In particular, we extend JAVA with declarative specifications in terms of answer-set programming (ASP)-a well-established declarative programming paradigm from the area of logicbased artificial intelligence-from which the required objects can be automatically generated using available ASP solver technology.
Theory and Practice of Logic Programming, 2010
Plagiarism detection is a growing need among educational institutions and solutions for different... more Plagiarism detection is a growing need among educational institutions and solutions for different purposes exist. An important field in this direction is detecting cases ofsource-code plagiarism. In this paper, we present the toolKatofor supporting the detection of this kind of plagiarism in the area of answer-set programming (ASP). Currently, the tool is implemented forDLVprograms but it is designed to handle other logic-programming dialects as well. We review the basic features ofKato, introduce its theoretical underpinnings, and discuss an application ofKatofor plagiarism detection in the context of courses on logic programming at the Vienna University of Technology.

Lecture Notes in Computer Science, 2009
The system cc⊤ is a tool for testing correspondence between propositional logic programs under th... more The system cc⊤ is a tool for testing correspondence between propositional logic programs under the answer-set semantics with respect to different refined notions of program correspondence. The underlying methodology of cc⊤ is to reduce a given correspondence problem to the satisfiability problem of quantified propositional logic and to employ extant solvers for the latter language as back-end inference engines. In a previous version of cc⊤, the system was designed to test correspondence between programs based on relativised strong equivalence under answer-set projection. Such a setting generalises the standard notion of strong equivalence by taking the alphabet of the context programs as well as the projection of the compared answer sets to a set of designated output atoms into account. This paper outlines a newly added component of cc⊤ for testing similarly parameterised correspondence problems based on uniform equivalence.

Lecture Notes in Computer Science, 2013
In answer-set programming (ASP), the solutions of a problem are encoded in dedicated models, call... more In answer-set programming (ASP), the solutions of a problem are encoded in dedicated models, called answer sets, of a logical theory. These answer sets are computed from the program that represents the theory by means of an ASP solver and returned to the user as sets of ground first-order literals. As this type of representation is often cumbersome for the user to interpret, tools like ASPVIZ and IDPDraw were developed that allow for visualising answer sets. The tool Kara, introduced in this paper, follows these approaches, using ASP itself as a language for defining visualisations of interpretations. Unlike existing tools that position graphic primitives according to static coordinates only, Kara allows for more high-level specifications, supporting graph structures, grids, and relative positioning of graphical elements. Moreover, generalising the functionality of previous tools, Kara provides modifiable visualisations such that interpretations can be manipulated by graphically editing their visualisations. This is realised by resorting to abductive reasoning techniques. Kara is part of SeaLion, a forthcoming integrated development environment (IDE) for ASP.
Lecture Notes in Computer Science, 2006
In recent work, a general framework for specifying correspondences between logic programs under t... more In recent work, a general framework for specifying correspondences between logic programs under the answer-set semantics has been defined. The framework captures different notions of equivalence, including well-known ones like ordinary, strong, and uniform equivalence, as well as refined ones based on the projection of answer sets where not all parts of an answer set are of relevance. In this paper, we describe an implementation to verify program correspondences in this general framework. The system, called cc , relies on linear-time constructible reductions to quantified propositional logic and uses extant solvers for the latter language as back-end inference engines.
Uploads
Papers by Johannes Oetsch