Results 1 - 10
of
19
What is a Recursive Module?
- In SIGPLAN Conference on Programming Language Design and Implementation
, 1999
"... A hierarchical module system is an effective tool for structuring large programs. Strictly hierarchical module systems impose an acyclic ordering on import dependencies among program units. This can impede modular programming by forcing mutually-dependent components to be consolidated into a single ..."
Abstract
-
Cited by 79 (5 self)
- Add to MetaCart
A hierarchical module system is an effective tool for structuring large programs. Strictly hierarchical module systems impose an acyclic ordering on import dependencies among program units. This can impede modular programming by forcing mutually-dependent components to be consolidated into a single module. Recently there have been several proposals for module systems that admit cyclic dependencies, but it is not clear how these proposals relate to one another, nor how one might integrate them into an expressive module system such as that of ML. To address this question we provide a type-theoretic analysis of the notion of a recursive module in the context of a "phase-distinction" formalism for higher-order module systems. We extend this calculus with a recursive module mechanism and a new form of signature, called a recursively dependent signature, to support the defmition of recursive modules. These extensions are justified by an interpretation in terms of more primitive language constructs. This interpretation may also serve as a guide for implementation.
Verification on Infinite Structures
, 2000
"... In this chapter, we present a hierarchy of infinite-state systems based on the primitive operations of sequential and parallel composition; the hierarchy includes a variety of commonly-studied classes of systems such as context-free and pushdown automata, and Petri net processes. We then examine the ..."
Abstract
-
Cited by 50 (3 self)
- Add to MetaCart
In this chapter, we present a hierarchy of infinite-state systems based on the primitive operations of sequential and parallel composition; the hierarchy includes a variety of commonly-studied classes of systems such as context-free and pushdown automata, and Petri net processes. We then examine the equivalence and regularity checking problems for these classes, with special emphasis on bisimulation equivalence, stressing the structural techniques which have been devised for solving these problems. Finally, we explore the model checking problem over these classes with respect to various linear- and branching-time temporal logics.
Complete Axioms for Categorical Fixed-point Operators
- In Proceedings of 15th Annual Symposium on Logic in Computer Science
, 2000
"... We give an axiomatic treatment of fixed-point operators in categories. A notion of iteration operator is defined, embodying the equational properties of iteration theories. We prove a general completeness theorem for iteration operators, relying on a new, purely syntactic characterisation of the fre ..."
Abstract
-
Cited by 27 (6 self)
- Add to MetaCart
We give an axiomatic treatment of fixed-point operators in categories. A notion of iteration operator is defined, embodying the equational properties of iteration theories. We prove a general completeness theorem for iteration operators, relying on a new, purely syntactic characterisation of the free iteration theory. We then show how iteration operators arise in axiomatic domain theory. One result derives them from the existence of sufficiently many bifree algebras (exploiting the universal property Freyd introduced in his notion of algebraic compactness) . Another result shows that, in the presence of a parameterized natural numbers object and an equational lifting monad, any uniform fixed-point operator is necessarily an iteration operator. 1. Introduction Fixed points play a central role in domain theory. Traditionally, one works with a category such as Cppo, the category of !-continuous functions between !-complete pointed partial orders. This possesses a least-fixed-point oper...
Decidability of DPDA equivalence
, 1999
"... A proof of decidability of equivalence between deterministic pushdown automata is presented using a mixture of methods developed in concurrency and language theory. The technique appeals to a tableau proof system for equivalence of configurations of strict deterministic grammars. ..."
Abstract
-
Cited by 22 (2 self)
- Add to MetaCart
A proof of decidability of equivalence between deterministic pushdown automata is presented using a mixture of methods developed in concurrency and language theory. The technique appeals to a tableau proof system for equivalence of configurations of strict deterministic grammars.
On the Complexity of Bisimulation Problems for Pushdown Automata
- In Proceedings of IFIP TCS’2000, volume 1872 of LNCS
, 2000
"... All bisimulation problems for pushdown automata are at least PSPACE-hard. In particular, we show that (1) Weak bisimilarity of pushdown automata and finite automata is PSPACE-hard, even for a small fixed finite automaton, (2) Strong bisimilarity of pushdown automata and finite automata is PSPACE-har ..."
Abstract
-
Cited by 10 (5 self)
- Add to MetaCart
All bisimulation problems for pushdown automata are at least PSPACE-hard. In particular, we show that (1) Weak bisimilarity of pushdown automata and finite automata is PSPACE-hard, even for a small fixed finite automaton, (2) Strong bisimilarity of pushdown automata and finite automata is PSPACE-hard, but polynomial for every fixed finite automaton, (3) Regularity (finiteness) of pushdown automata w.r.t. weak and strong bisimilarity is PSPACE-hard.
Programming With Types
- CORNELL UNIVERSITY
, 2002
"... Run-time type analysis is an increasingly important linguistic mechanism in modern programming languages. Language runtime systems use it to implement services such as accurate garbage collection, serialization, cloning and structural equality. Component frameworks rely on it to provide reflection m ..."
Abstract
-
Cited by 10 (1 self)
- Add to MetaCart
Run-time type analysis is an increasingly important linguistic mechanism in modern programming languages. Language runtime systems use it to implement services such as accurate garbage collection, serialization, cloning and structural equality. Component frameworks rely on it to provide reflection mechanisms so they may discover and interact with program interfaces dynamically. Run-time type analysis is also crucial for large, distributed systems that must be dynamically extended, because it allows those systems to check program invariants when new code and new forms of data are added. Finally, many generic user-level algorithms for iteration, pattern matching, and unification can be defined through type analysis mechanisms. However, existing frameworks for run-time type analysis were designed for simple type systems. They do not scale well to the sophisticated type systems of modern and next-generation programming languages that include complex constructs such as first-class abstract types, recursive types, objects, and type parameterization. In addition, facilities to support type analysis often require complicated
Decidability of bisimulation equivalence for pushdown processes
, 2000
"... We show that bisimulation equivalence is decidable for pushdown automata without ǫ-transitions. 1 ..."
Abstract
-
Cited by 9 (0 self)
- Add to MetaCart
We show that bisimulation equivalence is decidable for pushdown automata without ǫ-transitions. 1
Decidability of Bisimilarity for One-Counter Processes
, 1997
"... It is shown that bisimulation equivalence is decidable for the processes generated by (nondeterministic) pushdown automata where the pushdown behaves like a counter. Also finiteness up to bisimilarity is shown to be decidable for the mentioned processes. ..."
Abstract
-
Cited by 9 (1 self)
- Add to MetaCart
It is shown that bisimulation equivalence is decidable for the processes generated by (nondeterministic) pushdown automata where the pushdown behaves like a counter. Also finiteness up to bisimilarity is shown to be decidable for the mentioned processes.

