Practical Aspects of Declarative Languages: 22nd International Symposium, PADL 2020, New Orleans, LA, USA, January 20-21, 2020, Proceedings
3030391965, 9783030391966
This book constitutes the refereed proceedings of the 22nd International Symposium on Practical Aspects of Declarative L
Table of contents : Preface Organization Abstracts of Invited Talks Logical Engines for Cloud Configurations Symbolic Reasoning About Machine Learning Systems Abstracts of Invited Talks for the Invited Experience and Direction Session Relational Artificial Intelligence Learning Interpretable Rules from Structured Data An Introduction to the Imandra Automated Reasoning System We Are All Poor Schmucks: On the Value of Gradual Types Abstract for the Competitive Programming Experience Session Competitive Programming with Picat Contents Logical Engines and Applications Interactive Text Graph Mining with a Prolog-based Dialog Engine 1 Introduction 2 The Graph-Based Natural Language Processing Module 2.1 Building and Ranking the Text Graph 2.2 Pre- and Post-ranking Graph Refinements 2.3 Summary and Keyword Extraction 2.4 Relation Extraction 3 The Prolog-Based Dialog Engine 3.1 Generating Input for Post-processing by Logic Programs 3.2 The Prolog Interface 3.3 The User Interaction Loop 3.4 The Answer Generation Algorithm 3.5 Interacting with the Dialog Engine 4 Discussion 5 Related Work 6 Conclusions References Flexible Graph Matching and Graph Edit Distance Using Answer Set Programming 1 Introduction 2 Background 3 Specifying Graph Matching and Edit Distance 4 Correctness 5 Discussion 6 Evaluation 7 Related Work 8 Conclusions References On Repairing Web Services Workflows 1 Introduction 2 Web Shopping Domain 3 The Web Service Composition Problem 4 Repair 4.1 Formalization 4.2 Implementation 4.3 Experimental Evaluation 5 Conclusion, Discussion, and Future Work References Answer Set Programming Systems AQuA: ASP-Based Visual Question Answering 1 Introduction 2 Background 3 Technical Approach 3.1 Preprocessor 3.2 SRE: Semantic Relations Extractor 3.3 Query Generator 3.4 Commonsense Knowledge 3.5 ASP Engine 4 Experiments and Results 5 Example 6 Discussion 7 Contribution and Related Works 8 Future Work 9 Conclusion References Diagnosing Data Pipeline Failures Using Action Languages: A Progress Report 1 Requirements 2 Hybrid ALE 3 Diagnostic Modeling Library 4 Generating Explanations and Suggestions 5 Job Termination Status and Automatic Model Generation 6 Conclusion References VRASP: A Virtual Reality Environment for Learning Answer Set Programming 1 Introduction 2 Related Work 3 The VRASP Design 4 Evaluation 4.1 Evaluation Design 4.2 Result 5 Conclusion and Future Work References Memory and Real-Time in Functional Programming On the Effects of Integrating Region-Based Memory Management and Generational Garbage Collection in ML 1 Introduction 2 Generational Garbage Collection 2.1 Evacuating Objects 2.2 The GC Algorithm 2.3 Mutable Objects and Large Objects 3 Experimental Results 3.1 Comparison with Mlton 3.2 Generational Garbage Collection 3.3 Memory Waste 4 Related Work 5 Conclusion and Future Work References RTMLton: An SML Runtime for Real-Time Systems 1 Introduction 2 MLton Architecture and Consequences for Real-Time 2.1 MLton Threads 2.2 GC Architecture 3 Real-Time Extensions to MLton 3.1 Concurrency and Threading 3.2 Creating a Real-Time GC 4 Evaluation 5 Related Work 6 Conclusion References A Timed IO Monad 1 Introduction 2 Timed Monad Class 2.1 Timestamp, Duration, Time Scale and Time Drift 2.2 Timed Monad 2.3 Timed Monad Laws 2.4 On the Validity of Timed Monad Extensions 3 Default Timed Monad Instances 3.1 Monads with Timer 3.2 Derived Timed Monad Instance 3.3 More on Temporal Correctness Issues 4 Symbolic Timed Extension of a Monad 4.1 Inner and Outer Durations with Tempi 4.2 Derived Symbolic Timed Monad Instance 5 Timed Promises 5.1 Monad References 5.2 Timed Monad References 5.3 Time Specific Action on Timed Monad References 6 Data Flow Programming with Timed Monad Streams 7 Related Works 8 Conclusion References Reasoning and Efficient Implementation Exploiting Database Management Systems and Treewidth for Counting 1 Introduction 2 Preliminaries 3 Towards Relational Algebra for Dynamic Programming 4 Dynamic Programming on TDs Using Databases and SQL 4.1 System dpdb: Dynamic Programming with Databases 4.2 Table Algorithms With dpdb for Selected Problems 5 Experiments 5.1 Setup 5.2 Results 6 Final Discussion and Conclusions References Whitebox Induction of Default Rules Using High-Utility Itemset Mining 1 Introduction 2 Background 2.1 The FOIL Algorithm 2.2 SHAP 2.3 High-Utility Itemset Mining 3 SHAP-FOLD Algorithm 4 Experiments 5 Related Works and Conclusions References Small Languages and Implementation Explanations for Dynamic Programming 1 Introduction 2 Explaining Decisions with Value Decompositions 3 Dynamic Programming with Semirings 3.1 Semirings and Dynamic Programming 3.2 A Haskell Library for Dynamic Programming 3.3 Computing the Lengths of Shortest Paths 3.4 Computing Shortest Paths 4 Explanations from Value Decomposition 5 Proactive Generation of Explanations 6 Related Work 7 Conclusions and Future Work References A DSL for Integer Range Reasoning: Partition, Interval and Mapping Diagrams 1 Introduction 2 Interval and Partition Diagrams 3 Mapping Diagrams and Colorings 4 Legends 5 Diagram Extension to the Why3 Verification Platform 6 Verified Code Examples 7 Related Work 8 Conclusions and Future Work References Variability-Aware Datalog 1 Introduction 2 Background and Motivating Example 2.1 Datalog and Variability 2.2 Soufflé 3 Variability-Aware Soufflé 3.1 Syntax Extension 3.2 RAM 3.3 Interpreter 4 Evaluation 5 Conclusion and Future Work References Author Index