EDBT 2026 Demo / reviewers in the wild / expert
Keith L. Clark
dblp:c/KeithLClark
· DBLP profile ↗
18ranked-venue papers
11as first author
0since 2021 · last 2015
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 6 · 5 first-authorArtificial intelligence and machine learning · 5 · 3 first-authorApplied, interdisciplinary, general and emerging computing · 3 · 2 first-authorTheory of computation · 2 · 1 first-authorSystems, architecture and hardware · 1 · 1 first-authorDatabases, data management, data science and information retrieval · 1Graphics, computer vision, multimedia, augmented reality and games · 1 · 1 first-authorHuman-computer interaction and ubiquitous computing · 1 · 1 first-author
Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.
| Software engineering, system software, and programming languages
5 papers |
Programming languages and type systems · 98% Program verification · 2% | |
| Artificial intelligence
1 paper |
Knowledge representation and reasoning · 77% Multi-agent systems · 23% |
Topics — the 8 heaviest of 12, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Knowledge, reasoning and agents › Knowledge representation and reasoning
ontology |
0.1 | 1 | 2007 | Ontology schema for an agent belief store · Int. J. Hum. Comput. Stud. 2007 |
Programming languages and type systems › language semantics › formal semantics
operational semantics |
0.1 | 1 | 2015 | Robotic agent programming in TeleoR · ICRA 2015 |
Programming languages and type systems
logic programming |
0.0 | 2 | 1988 | PARLOG and Its Applications · IEEE Trans. Software Eng. 1988 Parlog: Parallel Programming in Logic · ACM Trans. Program. Lang. Syst. 1986 |
Programming languages and type systems › logic programming
parallel logic programming |
0.0 | 2 | 1988 | PARLOG and Its Applications · IEEE Trans. Software Eng. 1988 Parlog: Parallel Programming in Logic · ACM Trans. Program. Lang. Syst. 1986 |
Parallel and multicore computing
parallel programming models |
0.0 | 1 | 1986 | Parlog: Parallel Programming in Logic · ACM Trans. Program. Lang. Syst. 1986 |
Program verification › invariant generation
inductive assertions |
0.0 | 1 | 1981 | Consequence Verification of Flowcharts · IEEE Trans. Software Eng. 1981 |
Programming languages and type systems
language design |
0.0 | 1 | 1988 | PARLOG and Its Applications · IEEE Trans. Software Eng. 1988 |
Logic in computer science
program semantics |
0.0 | 1 | 1981 | Consequence Verification of Flowcharts · IEEE Trans. Software Eng. 1981 |
Methods — techniques the papers use, named apart from their topics
rule-based programming · 0.2higher-order logic programming · 0.2ontology engineering · 0.1logic programming · 0.0committed choice nondeterminism · 0.0consequence verification · 0.0
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2015 | Robotic agent programming in TeleoRabstractWe present an extension, TeleoR, of Nilsson's Teleo-Reactive (TR) rule based robotic agent programming language[22]. For both languages programs essentially comprise sequences of Guard ~>Action rules grouped into parameterised procedures. The Guard is a deductive query to a set of rapidly changing percept facts generated from the most recent sensor values. For TR, the Action is either a tuple of primitive robotic actions, to be executed in parallel, or a single call to a program procedure, which can be a recursive call, or a BeliefStoreupdate. TeleoR has extra forms of action. The procedures encode goal (teleo) directed reactive task and sub-task behaviours of robotic agents. TR/TeleoR programs are robust and opportunity grabbing, and so are well suited to human/robot or robot/robot co-operative tasks requiring flexible behaviour. TeleoR, extends TR in having: types and higher order features; extra forms of action rules that temporarily inhibit other rules in the same procedure; repeatable sequences of time capped actions; wait/repeat re-start of failed actions; belief store update and message send actions linked with any rule; a flexibly typed higher order LP/FP programming language for BeliefStore inference; support for the high level programming of multi-tasking agents that interleave the use of subsets of a set of independent robotic resources. All the extensions were driven by application needs. The use of QuLog enables us to guarantee by compiler analysis that all guarded rule actions will be fully instantiated and correctly typed when sent to a robot, perhaps via a ROS interface. The focus of this paper is on the extensions for single task communicating robotic agents. Our goal was to extend TR without losing the elegance and simplicity of Nilsson's language. We also wanted to be able to give the extended language a formally defined operational semantics, building upon one we had given for TR. The extensions, their semantics, and their implementation were developed in parallel. A methodology we can recommend. Keith L. Clark, Peter J. Robinson 0001 |
ICRA | 1 |
| 2010 | Pedro: a publish/subscribe server using Prolog technologyabstractAbstract Pedro is a TCP/IP publish/subscribe server implemented in C that uses Prolog technology for testing subscriptions against notifications. It provides both content‐ and address‐based routing of messages between processes. An inter‐process message M is a string representation of a Pedro term (usually but not necessarily a variable free term). A subscription is essentially a message template T paired with a Pedro query that is used to restrict the allowed values for variables in T. Pedro automatically forwards any notification it receives to all processes that have a current subscription that covers the notification. A Pedro connected process can optionally register a name with Pedro giving the process a unique Pedro handle. Pedro handles can be used to send peer‐to‐peer messages between processes. In this paper we illustrate the use of Pedro and describe its implementation. Copyright © 2010 John Wiley & Sons, Ltd. Peter J. Robinson 0001, Keith L. Clark |
Softw. Pract. Exp. | 2 |
| 2007 | Ontology schema for an agent belief store
Keith L. Clark, Frank G. McCabe |
Int. J. Hum. Comput. Stud. | 1 |
| 2007 | A New Feature Selection Method for Text ClassificationabstractText classification is the problem of classifying a set of documents into a pre-defined set of classes. A major problem with text classification problems is the high dimensionality of the feature space. Only a small subset of these words are feature words which can be used in determining a document's class, while the rest adds noise and can make the results unreliable and significantly increase computational time. A common approach in dealing with this problem is feature selection where the number of words in the feature space are significantly reduced. In this paper we present the experiments of a comparative study of feature selection methods used for text classification. Ten feature selection methods were evaluated in this study including the new feature selection method, called the GU metric. The other feature selection methods evaluated in this study are: Chi-Squared (χ2) statistic, NGL coefficient, GSS coefficient, Mutual Information, Information Gain, Odds Ratio, Term Frequency, Fisher Criterion, BSS/WSS coefficient. The experimental evaluations show that the GU metric obtained the best F1 and F2 scores. The experiments were performed on the 20 Newsgroups data sets with the Naive Bayesian Probabilistic Classifier. Gulden Uchyigit, Keith L. Clark |
Int. J. Pattern Recognit. Artif. Intell. | 2 |
| 2006 | Ontology oriented programming in go!
Keith L. Clark, Frank G. McCabe |
Appl. Intell. | 1 |
| 2004 | Distributed Logic Programming using Mobile AgentsabstractWe describe the use of mobile agent technologies in building a framework for supporting distributed logic programming and remote conditional querying. A mobile agent moves from server to server carrying its own knowledge. When it arrives at a server it is given read access to the some part of the server's knowledge base. It then answers its queries using the server's knowledge and its own, adding the results to its own knowledge. We can view the mobile agent's queries as conditional remote queries - what answers would the server give if the knowledge carried by the agent were added to the server. To implement a prototype framework of mobile agents and knowledge servers we have used a new multiparadigm and multi-threaded programming language Go !. This supports mobile agent's as knowledge objects and has powerful knowledge structuring features. We assume some familiarity with Prolog. Tzone-I Wang, Keith L. Clark |
AINA (2) | 2 |
| 2004 | Hierarchical Agglomerative Clustering for Agent-Based Dynamic Collaborative Filtering
Gulden Uchyigit, Keith L. Clark |
IDEAL | 2 |
| 2001 | A Framework for Developing Reactive Information Agents with Heterogeneous Communication CapabilitiesabstractWe present a generic framework for developing complex distributed applications in open information environments, using reactive agents as basic building blocks. We address agent architecture and collaboration issues by introducing a minimal agent architecture, the Reactive Information Agent, and adopting a flexible asynchronous communication infrastructure, the Inter-Agent Communication Model. Finally, we present an implementation of the framework which allows agent designers to rapidly develop multi-agent systems based on simple heterogeneous computational elements, which are mobile, adaptive, reflective, and dynamically reconfigurable during the system lifetime. Dimitris Vyzovitis, Keith L. Clark |
ISADS | 2 |
| 2001 | Using Grammatical Inference to Automate Information Extraction from the Web
Theodore W. Hong, Keith L. Clark |
PKDD | 2 |
| 2001 | Multi-threading and Message Communication in Qu-PrologabstractThis paper presents the multi-threading and internet message communication capabilities of Qu-Prolog. Message addresses are symbolic and the communications package provides high-level support that completely hides details of IP addresses and port numbers as well as the underlying TCP/IP transport layer. The combination of the multi-threads and the high level inter-thread message communications provide simple, powerful support for implementing internet distributed intelligent applications. Keith L. Clark, Peter J. Robinson 0001, Richard Hagen |
Theory Pract. Log. Program. | 1 |
| 1996 | Constraint Satisfaction in Distributed Concurrent Logic Programming
Ho-fung Leung, Keith L. Clark |
J. Symb. Comput. | 2 |
| 1990 | Parallel Logic ProgrammingabstractMost research on parallel logic programming divides into (1) or-parallel implementations of Prolog, and (2) and-parallel implementations of committed choice variants of Prolog, the so-called concurrent logic languages. The reason is implementation efficiency: it is extremely complex to implement a combined and/or parallel system. This paper introduces the research on the concurrent and-parallel languages and their extensions, with an emphasis on Parlog. However, all the main concurrent languages are introduced and compared, and set in a historical context of precursor research. Recent work on extensions of the languages is described, particularly the Parlog extensions: Parlog + + and Polka for object-oriented programming, and Pandora for constrained search. Keith L. Clark |
Comput. J. | 1 |
| 1988 | PARLOG and Its ApplicationsabstractThe key concepts of the parallel logic programming language PARLOG are introduced by comparing the language with Prolog. Some familiarity with Prolog and with the concepts of logic programming is assumed. Two major application areas of PARLOG, systems programming and object-oriented programming, are illustrated. Other applications are briefly surveyed.> Keith L. Clark |
IEEE Trans. Software Eng. | 1 |
| 1987 | PARLOG and PROLOG United
Keith L. Clark, Steve Gregory |
ICLP | 1 |
| 1986 | Parlog: Parallel Programming in LogicabstractPARLOG is a logic programming language in the sense that nearly every definition and query can be read as a sentence of predicate logic. It differs from PROLOG in incorporating parallel modes of evaluation. For reasons of efficient implementation, it distinguishes and separates and-parallel and or-parallel evaluation. PARLOG relations are divided into two types: single-solution relations and all-solutions relations. A conjunction of single-solution relation calls can be evaluated in parallel with shared variables acting as communication channels for the passing of partial bindings. Only one solution to each call is computed, using committed choice nondeterminism. A conjunction of all-solutions relation calls is evaluated without communication of partial bindings, but all the solutions may be found by an or-parallel exploration of the different evaluation paths. A set constructor provides the main interface between single-solution relations and all-solutions relations. This paper is a tutorial introduction to PARLOG. It assumes familiarity with logic programming. Categories and Subject Descriptors: D.l.l [Programming Techniques]: Applicative (Functional) Keith L. Clark, Steve Gregory |
ACM Trans. Program. Lang. Syst. | 1 |
| 1981 | Consequence Verification of FlowchartsabstractA common basis is presented, for Floyd's method of inductive assertions and for the subgoal induction method of Morris and Wegbreit. This basis is provided by consequence verification, a method for verifying logic programs. We connect flowcharts with logic programs by giving a recursive definition of the set of all computations of a flowchart. This definition can be given in two ways: the recursion can run forward or backward. Both definitions can be expressed in logic, resulting in a logic program which is then subjected to consequence verification. Verification of the forward logic program is shown to be essentially Floyd's method; verification of the backward program corresponds similarly to subgoal induction. Keith L. Clark, M. H. van Emden |
IEEE Trans. Software Eng. | 1 |
| 1980 | Algorithm Classification Through SynthesisabstractIn recent, separate, work on program transformation and synthesis (Darlington, 1975; 1978; Clark & Sickel, 1977; Clark, 1977) the authors have discovered that a structure of a class of algorithms can be exposed by synthesising each algorithm in the class from a common high level specification, building up a ‘family tree’ of algorithms. In this paper we would like to illustrate this technique by a simple example outlining how four common sorting algorithms, Merge Sort, Quick Sort, Insertion Sort and Seletion Sort, can be synthesised from a common specification. We hope to encourage others to undertake this exercise for other domains. Keith L. Clark, John Darlington |
Comput. J. | 1 |
| 1977 | Predicate Logic: A Calculus for the Formal Derivation of Programs
Keith L. Clark, Sharon Sickel |
IJCAI | 1 |