Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

William W. Wadge

dblp:w/WilliamWWadge · DBLP profile ↗
← Back
30ranked-venue papers
1as first author
1since 2021 · last 2022
—ORCID · none

Domains — the database's venue-derived domains; a paper can count in several

Theory of computation · 15 · 1 first-authorSoftware engineering, systems software and programming languages · 11Artificial intelligence and machine learning · 6 · 1 since 2021Databases, data management, data science and information retrieval · 5 · 1 since 2021Applied, interdisciplinary, general and emerging computing · 3 · 1 since 2021

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
6 papers
Programming languages and type systems · 66% Software maintenance and evolution · 31% Program verification · 3%

Topics — the 9 heaviest of 10, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Software maintenance and evolution › software configuration management
version control
0.011993
A New Approach to Version Control · IEEE Trans. Software Eng. 1993
Programming languages and type systems › programming paradigms
dataflow language
0.021987
An eductive interpreter for Lucid · PLDI 1987
Clauses: Scope Structures and Defined Functions in Lucid · POPL 1978
Programming languages and type systems › language semantics › formal semantics
denotational semantics
0.021982
R/ for Semantics · ACM Trans. Program. Lang. Syst. 1982
Clauses: Scope Structures and Defined Functions in Lucid · POPL 1978
Programming languages and type systems
language design
0.021978
Clauses: Scope Structures and Defined Functions in Lucid · POPL 1978
Data Types as Objects · ICALP 1977
Programming languages and type systems › language semantics › formal semantics
operational semantics
0.011982
R/ for Semantics · ACM Trans. Program. Lang. Syst. 1982
Programming languages and type systems
language semantics
0.011978
Clauses: Scope Structures and Defined Functions in Lucid · POPL 1978
Programming languages and type systems
data types
0.011977
Data Types as Objects · ICALP 1977
Programming languages and type systems
object-oriented programming
0.011977
Data Types as Objects · ICALP 1977
Program verification
correctness proof
0.011976
Lucid - A Formal System for Writing and Proving Programs · SIAM J. Comput. 1976

Methods — techniques the papers use, named apart from their topics

lattice theory · 0.0algebraic specification · 0.0eductive interpretation · 0.0type theory · 0.0first-order logic · 0.0denotational semantics · 0.0axiomatic semantics · 0.0
YearPublicationVenuePosition
2022 The Dimensional Analysis of Data Flow Programs That Include Multidimensional and User-Defined Functions
abstract
This paper is to design Dimensional Analysis (DA) algorithms for the multidimensional Lucid, the equational data flow language, which also includes user-defined functions. The significance is that the DA is indispensable for an efficient implementation of multidimensional Lucid and should aid the implementation of other data flow systems, such as Google’s TensorFlow. Data flow is a form of computation in which components of Multidimensional Data-sets (MDDs) travel on communication lines in a network of processing stations. Each processing station incrementally transforms its input MDDs to its output, another (possibly very different) MDD. MDDs are very common in Health Information Systems and data science in general. An important concept is that of a relevant dimension. A dimension is relevant if the coordinate of that dimension is required to extract a value. It is essential that in calculating with MDDs we avoid non-relevant dimensions, otherwise, we duplicate entries (say, in a cache) and waste time and space.For example, if X is the MDD of raw rain measurements, its dimensionality is {location, day, hour}, and that of Y is {location, day}. Note that the dimensionality is more than just the rank, which is simply the number of dimensions. Previously, there was extensive research on data-flow itself, which we summarize. Nevertheless, an exhaustive literature search uncovered no relevant previous DA work. Our methodology is that we proceeded incrementally, solving increasingly difficult instances of DA corresponding to increasingly sophisticated language features. However, in this paper, we solved the DA of multidimensional Data Flow (DF) programs. We also solved the difficult problem (which the GLU (Granular Lucid) team never solved) of determining the dimensionality of the DF programs that include user-defined functions, including recursively defined functions. We do this by adapting the PyLucid interpreter (to produce the DAM interpreter) to evaluate the entire program over the (finite) domain of dimensionalities. As a result, the experimentally validated algorithms in our paper can produce useful upper bounds for the dimensionalities of the variables in multidimensional PyLucid programs. That also includes those with user-defined functions.
Abdulmonem I Shennat, William W. Wadge, Alex Kuo
IEEE Big Data2
2015 Multidimensional infinite data in the language Lucid
abstract
Although the language Lucid was not originally intended to support computing with infinite data structures, the notion of (infinite) sequence quickly came to the fore, together with a demand-driven computation model in which demands are propagated for the values of particular values at particular index points. This naturally generalized to sequences of multiple dimensions so that a programmer could, for example, write a program that could be understood as a (nonterminating) loop in which one of the loop variables is an infinite vector. Programmers inevitably found use for more and more dimensions, which led to a problem which is fully solved for the first time in this paper. The problem is that the implementation's cache requires some estimate of the dimensions actually used to compute a value being fetched. This estimate can be difficult or (if dimensions are passed as parameters) impossible to obtain, and the demand-driven evaluation model for Lucid breaks down. We outline the evolution of Lucid which gave rise to this problem, and outline the solution, as used for the implementation of TransLucid, the latest descendant of Lucid.
Jarryd P. Beck, John Plaice, William W. Wadge
Math. Struct. Comput. Sci.3
2013 Extensional Higher-Order Logic Programming
abstract
We propose a purely extensional semantics for higher-order logic programming. In this semantics program predicates denote sets of ordered tuples, and two predicates are equal iff they are equal as sets. Moreover, every program has a unique minimum Herbrand model which is the greatest lower bound of all Herbrand models of the program and the least fixed-point of an immediate consequence operator. We also propose an SLD-resolution proof system which is proven sound and complete with respect to the minimum Herbrand model semantics. In other words, we provide a purely extensional theoretical framework for higher-order logic programming which generalizes the familiar theory of classical (first-order) logic programming.
Angelos Charalambidis, Konstantinos Handjopoulos, Panos Rondogiannis, William W. Wadge
ACM Trans. Comput. Log.4
2010 Extensional Higher-Order Logic Programming
Angelos Charalambidis, Konstantinos Handjopoulos, Panos Rondogiannis, William W. Wadge
JELIA4
2009 Harnessing the power of "favorites" lists for recommendation systems
abstract
We propose a novel collaborative recommendation approach to take advantage of the information available in user-created lists. Our approach assumes associations among any two items appearing in a list together. We calculate sum of Bayesian ratings (SBR) of all lists containing an item pair as the strength of item-item associations in that pair. SBR takes into consideration not only the number of lists the items have co-appeared in, but also the quality of the lists. We collected a data set of user ratings for books along with Listmania lists on Amazon.com using Amazon Web Services (AWS). Our method shows superior performance to existing user-based and item-based collaborative filtering approaches according to the resulted MAE, coverage and F-measure.
Maryam Khezrzadeh, Alex Thomo, William W. Wadge
RecSys3
2009 Strong equivalence of logic programs under the infinite-valued semantics
Christos Nomikos, Panos Rondogiannis, William W. Wadge
Inf. Process. Lett.3
2008 Sequential Demand-Driven Evaluation of Eager TransLucid
abstract
We present the Eager TransLucid language, an inten- sional programming language in which the value of a variable is a function mapping multidimensional contexts - the "possible worlds" of intensional logic - to ground values or, equivalently, that variables define multidimensional arrays of arbitrary dimensionality. The Eager TransLucid language is a natural generalisation of Wadge and Ashcroft's Lucid dataflow language. Given a specific set of equations and a context, the operational semantics determines the value taken by a variable in that context, which may depend both on the values of dimensions within the context and the values of variables in other contexts. The contexts correspond to tags in tagged-token dataflow systems. The key contribution of the paper is to prove that it is possible to create a warehouse caching the values of already computed (identifier, context) pairs in such a way as to ensure that no reference is made to unnecessary dimensions. The method consists of storing demands for relevant dimensions in the current context as these are needed.
John Plaice, Blanca Mancilla, Gabriel Ditu, William W. Wadge
COMPSAC4
2008 An infinite-game semantics for well-founded negation in logic programming
Chrysida Galanaki, Panos Rondogiannis, William W. Wadge
Ann. Pure Appl. Log.3
2008 Preferential Regular Path Queries
Gösta Grahne, Alex Thomo, William W. Wadge
Fundam. Informaticae3
2007 Preferentially Annotated Regular Path Queries
Gösta Grahne, Alex Thomo, William W. Wadge
ICDT3
2007 A Purely Model-Theoretic Semantics for Disjunctive Logic Programs with Negation
Pedro Cabalar, David Pearce 0001, Panos Rondogiannis, William W. Wadge
LPNMR4
2005 A Sufficient Condition for Strong Equivalence Under the Well-Founded Semantics
Christos Nomikos, Panos Rondogiannis, William W. Wadge
ICLP3
2005 Minimum model semantics for logic programs with negation-as-failure
abstract
We give a purely model-theoretic characterization of the semantics of logic programs with negation-as-failure allowed in clause bodies. In our semantics, the meaning of a program is, as in the classical case, the unique minimum model in a program-independent ordering. We use an expanded truth domain that has an uncountable linearly ordered set of truth values between False (the minimum element) and True (the maximum), with a Zero element in the middle. The truth values below Zero are ordered like the countable ordinals. The values above Zero have exactly the reverse order. Negation is interpreted as reflection about Zero followed by a step towards Zero ; the only truth value that remains unaffected by negation is Zero . We show that every program has a unique minimum model M P , and that this model can be constructed with a T P iteration which proceeds through the countable ordinals. Furthermore, we demonstrate that M P can alternatively be obtained through a construction that generalizes the well-known model intersection theorem for classical logic programming. Finally, we show that by collapsing the true and false values of the infinite-valued model M P to (the classical) True and False , we obtain a three-valued model identical to the well-founded one.
Panos Rondogiannis, William W. Wadge
ACM Trans. Comput. Log.2
2004 An Intensional Tool Applied to French Language Educational Software
Honglian (Elena) Li, William W. Wadge
SEKE2
2002 An Infinite-Valued Semantics for Logic Programs with Negation
Panos Rondogiannis, William W. Wadge
JELIA2
1999 Higher-Order Functional Languages and Intensional Logic
abstract
In this paper we demonstrate that a broad class of higher-order functional programs can be transformed into semantically equivalent multidimensional intensional programs that contain only nullary variable definitions. The proposed algorithm systematically eliminates user-defined functions from the source program, by appropriately introducing context manipulation (i.e. intensional) operators. The transformation takes place in M steps, where M is the order of the initial functional program. During each step the order of the program is reduced by one, and the final outcome of the algorithm is an M -dimensional intensional program of order zero. As the resulting intensional code can be executed in a purely tagged-dataflow way, the proposed approach offers a promising new technique for the implementation of higher-order functional languages.
Panos Rondogiannis, William W. Wadge
J. Funct. Program.2
1997 First-Order Functional Languages and Intensional Logic
abstract
The purpose of this paper is to demonstrate that first-order functional programs can be transformed into intensional programs of nullary variables, in a semantics preserving way. On the foundational side, the goal of our study is to bring new insights and a better understanding of the nature of functional languages. From a practical point of view, our investigation provides a formal basis for the tagging mechanism that is used in the implementation of first-order functional languages on dataflow machines.
Panos Rondogiannis, William W. Wadge
J. Funct. Program.2
1994 Extending Temporal Logic Programming with Choice Predicates Non-Determinism
abstract
In temporal logic programming, a stream can be specified by a single-valued, time-varying predicate which, at any given moment in time, represents the corresponding element in the stream. However, due to inherent non-determinism in logic programming, time-varying predicates do not necessarily represent single-valued relations at any given moment in time. Choice predicates are also time-varying predicates, but, in principle, they act like a dataflow node with multiple input lines which non-deterministically selects one of its inputs as output. Thus they are guaranteed to be single-valued at all moments in time, and they can be regarded as representing ‘non-deterministic’ streams. Users do not define choice predicates, they are supplied automatically for all predicates defined in temporal logic programs. Inputs to choice predicates are supplied by the corresponding predicates. When the connection between choice predicates and the corresponding predicates is established, we obtain non-Horn temporal logic programs as a result. The model-theoretic semantics of such a program is developed in terms of ‘minimal models’. However, the logical structure of the program dictates which minimal models are constructible from the program. We in particular discuss a characterization of constructible minimal models as limits of alternating chains of models obtained by applications of two new mappings NTP and CP. The paper also outlines a proof procedure for the temporal language Chronolog extended with choice predicates.
Mehmet A. Orgun, William W. Wadge
J. Log. Comput.2
1993 A Unix Tool for Managing Reusable Software Components
abstract
Abstract Sloth is a simple Unix‐based tool for creating and maintaining large C programs built from reusable ‘modules’. Sloth is a collection of UNIX shell commands for creating and editing modules, and for producing executables by linking compiled code from the modules comprising a program. Sloth in a sense extends C by providing module facilities similar to those built in to newer languages such as Modula‐II. The Sloth ‘extensions’, however, are at the shell level only. No changes are required in C itself; in fact, the Sloth commands invoke the standard Unix C compiler. A Sloth module contains a set of C procedures and local declarations, a set of global definitions and variable declarations, an initialization routine and an ‘import’ list of other modules containing declarations referred to, but not defined by, the module in question. The Sloth link command has one argument, the name of a ‘root’ directory. The link command automatically identifies all those modules imported directly or indirectly by the root module, checks that the object code for each module is up‐to‐date and recompiles where necessary. It then creates a main program in which the various initialization routines are executed in the correct order (most primitive first), compiles it and links it with all the object files and produces an executable program. Individual modules can be compiled without any knowledge of the application that uses, directly or indirectly, the module in question. Two applications that both use a collection of modules can therefore share the object code for these modules. The use and implementation of Sloth are presented, as are the experience in using it, programming techniques developed to take full advantage of its facilities, as well as several extensions, either completed or planned.
John Plaice, William W. Wadge
Softw. Pract. Exp.2
1993 A New Approach to Version Control
abstract
A method for controlling versions of software and other hierarchically structured entities is presented. Using the variant structure principle, a particular version of an entire system is formed by combining the most relevant existing versions of the various components of the system. An algebraic version language that allows histories (numbered series), subversions (or variants), and joins is described. It is shown that the join operation is simply the lattice least upper bound and together with the variant structure principle, provides a systematic framework for recombining divergent variants. The utility of this approach is demonstrated using LEMUR, a programming environment for modular C programs, which was developed using itself. The ways in which this notion of versions is related to the possible world semantics of intensional logic are discussed.>
John Plaice, William W. Wadge
IEEE Trans. Software Eng.2
1992 A Relational Algebra as a Query Language for Temporal DATALOG
Mehmet A. Orgun, William W. Wadge
DEXA2
1990 The Eductive Implementation of a Three-dimensional Spreadsheet
Weichang Du, William W. Wadge
Softw. Pract. Exp.2
1987 An eductive interpreter for Lucid
Antony A. Faustini, William W. Wadge
PLDI2
1982 R/ for Semantics
abstract
A constructive criticism of recent work in the semantics of programming languages is offered.The criticism is directed not so much at the techniques and results obtained as at the use to which they are put.The fact that denotational (or "mathematical") semantics plays on the whole a passive ("descriptive") role, whil e operational semantics plays on the whole an active ("prescriptive") role, is seen as the basic problem.It is suggested that these roles be reversed.
Edward A. Ashcroft, William W. Wadge
ACM Trans. Program. Lang. Syst.2
1981 An Extensional Treatment of Dataflow Deadlock
William W. Wadge
Theor. Comput. Sci.1
1978 Clauses: Scope Structures and Defined Functions in Lucid
abstract
In this paper we describe how Lucid can be extended to allow user-defined functions and scope conventions, i.e. conventions for limiting the range or scope of the validity of definitions. This is done using new constructs called clauses which are similar in form to the blocks and procedure declarations of Algol-like languages, but are nevertheless strictly non-imperative, because a clause is actually a compound assertion, i.e. an assertion formed, as a program is, by combining a collection of assertions.Each type of clause (there are four) has a straightforward mathematical semantics together with its own characteristic "manipulation rules" for general program massage. In addition, the informal operational view of (some) Lucid programs (described in a previous paper) can be extended to give an (incomplete) operational understanding of the effect of the clauses. In this framework a "compute" clause defines a block; a "mapping" clause defines a conventional (pointwise) function; a "produce" clause defines a block with persistent memory (or an anonymous 'process' or 'actor'); and a "function" clause defines a sort of procedure with own variables (or a general kind of coroutine).
Edward A. Ashcroft, William W. Wadge
POPL2
1977 Data Types as Objects
Adi Shamir, William W. Wadge
ICALP2
1977 Erratum: Lucid - A Formal System for Writing and Proving Programs
Edward A. Ashcroft, William W. Wadge
SIAM J. Comput.2
1976 Lucid - A Formal System for Writing and Proving Programs
abstract
Lucid is both a programming language and a formal system for proving properties of Lucid programs. The programming language is unconventional in many ways, although programs are readily understood as using assignment statements and loops in a “structured” fashion. Semantically, an assignment statement is really an equation between “histories”, and a whole program is simply an unordered set of such equations. From these equations, properties of the program can be derived by straightforward mathematical reasoning, using the Lucid formal system. The rules of this system are mainly those of first order logic, together with extra axioms and rules for the special Lucid functions. This paper formally describes the syntax and semantics of programs, and justifies the axioms and rules of the formal system.
Edward A. Ashcroft, William W. Wadge
SIAM J. Comput.2
1974 Normal Form Reduction of Probabilistic Computations in Non-Parametric Classification
abstract
Non-parametric classification is concerned with the classification of populations of objects when the underlying statistical model is the unknown parameter. The analysis of formal models of non-parametric classification involves the quantification of the stability of individual classes. This problem has not been solved in general. The problem of stability is discussed and a method for computing expectations of certain generalised distance functions is presented. These quantities, while of technical interest to the question of stability, are frequently encountered in general in probabilistic computations in non-parametric classification. A set of techniques is described for reducing generalised distance functions to normal form in which no further variables may be removed algebraically. The techniques involve symbolic methods, linear substitution and gcd reduction. Additional reductions are obtained by fast Fourier transform and determination of appropriate confidence intervals. Finally, it is shown that many of the frequently used distance functions are reducible to the same normal form and that this form involves only variable.
David M. Jackson 0001, William W. Wadge
Comput. J.2