Results 1  10
of
64
Universal coalgebra: a theory of systems
, 2000
"... In the semantics of programming, nite data types such as finite lists, have traditionally been modelled by initial algebras. Later final coalgebras were used in order to deal with in finite data types. Coalgebras, which are the dual of algebras, turned out to be suited, moreover, as models for certa ..."
Abstract

Cited by 298 (31 self)
 Add to MetaCart
In the semantics of programming, nite data types such as finite lists, have traditionally been modelled by initial algebras. Later final coalgebras were used in order to deal with in finite data types. Coalgebras, which are the dual of algebras, turned out to be suited, moreover, as models for certain types of automata and more generally, for (transition and dynamical) systems. An important property of initial algebras is that they satisfy the familiar principle of induction. Such a principle was missing for coalgebras until the work of Aczel (NonWellFounded sets, CSLI Leethre Notes, Vol. 14, center for the study of Languages and information, Stanford, 1988) on a theory of nonwellfounded sets, in which he introduced a proof principle nowadays called coinduction. It was formulated in terms of bisimulation, a notion originally stemming from the world of concurrent programming languages. Using the notion of coalgebra homomorphism, the definition of bisimulation on coalgebras can be shown to be formally dual to that of congruence on algebras. Thus, the three basic notions of universal algebra: algebra, homomorphism of algebras, and congruence, turn out to correspond to coalgebra, homomorphism of coalgebras, and bisimulation, respectively. In this paper, the latter are taken
A DomainTheoretic Approach to Computability on the Real Line
, 1997
"... In recent years, there has been a considerable amount of work on using continuous domains in real analysis. Most notably are the development of the generalized Riemann integral with applications in fractal geometry, several extensions of the programming language PCF with a real number data type, and ..."
Abstract

Cited by 43 (8 self)
 Add to MetaCart
In recent years, there has been a considerable amount of work on using continuous domains in real analysis. Most notably are the development of the generalized Riemann integral with applications in fractal geometry, several extensions of the programming language PCF with a real number data type, and a framework and an implementation of a package for exact real number arithmetic. Based on recursion theory we present here a precise and direct formulation of effective representation of real numbers by continuous domains, which is equivalent to the representation of real numbers by algebraic domains as in the work of StoltenbergHansen and Tucker. We use basic ingredients of an effective theory of continuous domains to spell out notions of computability for the reals and for functions on the real line. We prove directly that our approach is equivalent to the established Turingmachine based approach which dates back to Grzegorczyk and Lacombe, is used by PourEl & Richards in their found...
Foundation of a Computable Solid Modelling
 Theoretical Computer Science
, 2002
"... Solid modelling and computational geometry are based on classical topology and geometry in which the basic predicates and operations, such as membership, subset inclusion, union and intersection, are not continuous and therefore not computable. But a sound computational framework for solids and g ..."
Abstract

Cited by 33 (13 self)
 Add to MetaCart
Solid modelling and computational geometry are based on classical topology and geometry in which the basic predicates and operations, such as membership, subset inclusion, union and intersection, are not continuous and therefore not computable. But a sound computational framework for solids and geometry can only be built in a framework with computable predicates and operations. In practice, correctness of algorithms in computational geometry is usually proved using the unrealistic Real RAM machine model of computation, which allows comparison of real numbers, with the undesirable result that correct algorithms, when implemented, turn into unreliable programs. Here, we use a domaintheoretic approach to recursive analysis to develop the basis of an eective and realistic framework for solid modelling. This framework is equipped with a welldened and realistic notion of computability which reects the observable properties of real solids. The basic predicates and operations o...
Abstract versus concrete computation on metric partial algebras
 ACM Transactions on Computational Logic
, 2004
"... Data types containing infinite data, such as the real numbers, functions, bit streams and waveforms, are modelled by topological manysorted algebras. In the theory of computation on topological algebras there is a considerable gap between socalled abstract and concrete models of computation. We pr ..."
Abstract

Cited by 28 (17 self)
 Add to MetaCart
Data types containing infinite data, such as the real numbers, functions, bit streams and waveforms, are modelled by topological manysorted algebras. In the theory of computation on topological algebras there is a considerable gap between socalled abstract and concrete models of computation. We prove theorems that bridge the gap in the case of metric algebras with partial operations. With an abstract model of computation on an algebra, the computations are invariant under isomorphisms and do not depend on any representation of the algebra. Examples of such models are the ‘while ’ programming language and the BCSS model. With a concrete model of computation, the computations depend on the choice of a representation of the algebra and are not invariant under isomorphisms. Usually, the representations are made from the set N of natural numbers, and computability is reduced to classical computability on N. Examples of such models are computability via effective metric spaces, effective domain representations, and type two enumerability. The theory of abstract models is stable: there are many models of computation, and
Formalising Ontologies and Their Relations
 In Proceedings of DEXA’99
, 1999
"... . Ontologies allow the abstract conceptualisation of domains, but a given domain can be conceptualised through many different ontologies, which can be problematic when ontologies are used to support knowledge sharing. We present a formal account of ontologies that is intended to support knowledg ..."
Abstract

Cited by 28 (1 self)
 Add to MetaCart
. Ontologies allow the abstract conceptualisation of domains, but a given domain can be conceptualised through many different ontologies, which can be problematic when ontologies are used to support knowledge sharing. We present a formal account of ontologies that is intended to support knowledge sharing through precise characterisations of relationships such as compatibility and refinement. We take an algebraic approach, in which ontologies are presented as logical theories. This allows us to characterise relations between ontologies as relations between their classes of models. A major result is cocompleteness of specifications, which supports merging of ontologies across shared subontologies. 1 Introduction Over the last decade ontologies  best characterised as explicit specifications of a conceptualisation of a domain [17]  have become increasingly important in the design and development of knowledge based systems, and for knowledge representations generally. They...
Explicit Graphs in a Functional Model for Spatial Databases
 IEEE TRANSACTIONS ON KNOWLEDGE AND DATA ENGINEERING
, 1994
"... Observing that networks are ubiquitous in applications for spatial databases, we define a new data model and query language that especially supports graph structures. This model integrates concepts of functional data modeling with ordersorted algebra. Besides object and data type hierarchies grap ..."
Abstract

Cited by 28 (9 self)
 Add to MetaCart
Observing that networks are ubiquitous in applications for spatial databases, we define a new data model and query language that especially supports graph structures. This model integrates concepts of functional data modeling with ordersorted algebra. Besides object and data type hierarchies graphs are available as an explicit modeling tool, and graph operations are part of the query language. Graphs have three classes of components, namely nodes, edges, and explicit paths. These are at the same time object types within the object type hierarchy and can be used like any other type. Explicit paths are useful because “real world ” objects often correspond to paths in a network. Furthermore, a dynamic generalization concept is introduced to handle heterogeneous collections of objects in a query. In connection with spatial data types this leads to powerful modeling and querying capabilities for spatial databases, in particular for spatially embedded networks such as highways, rivers, public transport, and so forth. We use multilevel ordersorted algebra as a formal framework for the specification of our model. Roughly spoken, the first level algebra defines types and operations of the query language whereas the second level algebra defines kinds (collections of types) and type constructors as functions between kinds and so provides the types that can be used at the first level.
Native Patterns
 Proceedings of the Fifth Working Conference on Reverse Engineering
, 1998
"... We generate a native pattern language from a contextfree grammar. So if we have the underlying grammar of code that needs to be analyzed, or renovated the pattern language comes for free. We use native patterns for recognition and renovation of code. The pattern language is global in the sense that ..."
Abstract

Cited by 24 (11 self)
 Add to MetaCart
We generate a native pattern language from a contextfree grammar. So if we have the underlying grammar of code that needs to be analyzed, or renovated the pattern language comes for free. We use native patterns for recognition and renovation of code. The pattern language is global in the sense that patterns can match entire programs. We illustrate native patterns by discussing a tool that remediates a notoriously difficult Year 2000 problem using native patterns. Categories and Subject Description: D.2.6 [Software Engineering ]: Programming EnvironmentsInteractive; D.2.7 [Software Engineering]: Distribution and Maintenance Restructuring; D.3.4. [Processors]: Parsing. Additional Key Words and Phrases: Reengineering, System renovation, Patterns, Plans, Clich'es, Native pattern language, Year 2000 problem, Leap year problem. 1 Introduction One key task in reengineering software is the recognition of problematic code. For example, for Year 2000 related remediation, it is necessa...
A Complete Calculus for Equational Deduction in Coalgebraic Specification
 Recent Trends in Algebraic Development Techniques, WADT 97, volume 1376 of LNCS
, 1997
"... The use of coalgebras for the specification of dynamical systems with a hidden state space is receiving more and more attention in the years, as a valid alternative to algebraic methods based on observational equivalences. However, to our knowledge, the coalgebraic framework is still lacking a compl ..."
Abstract

Cited by 17 (0 self)
 Add to MetaCart
The use of coalgebras for the specification of dynamical systems with a hidden state space is receiving more and more attention in the years, as a valid alternative to algebraic methods based on observational equivalences. However, to our knowledge, the coalgebraic framework is still lacking a complete equational deduction calculus which enjoys properties similar to those stated in Birkhoff's completeness theorem for the algebraic case. In this paper we present a sound and complete equational calculus for coalgebras of a restricted class of polynomial functors. This restriction allows us to borrow some "algebraic" notions for the formalization of the calculus. Additionally, we discuss the notion of colours as a suitable dualization of variables in the algebraic case. Then the completeness result is extended to the "nonground" or "coloured" case, which is shown to be expressive enough to deal with equations of hidden sort. Finally we discuss some weaknesses of the proposed results wit...
Transformations of Normal and Inverted Function Tables
 Formal Aspects of Programming
, 1994
"... We develop a theory of function tables, similar to, and inspired by, that given in the work of D. Parnas. We consider, in particular, two classes of function tables: normal and inverted. We study effective transformations between tables of these two classes, as well as transformations which change t ..."
Abstract

Cited by 15 (3 self)
 Add to MetaCart
We develop a theory of function tables, similar to, and inspired by, that given in the work of D. Parnas. We consider, in particular, two classes of function tables: normal and inverted. We study effective transformations between tables of these two classes, as well as transformations which change the dimension of a table. We also consider the interrelationship between these three types of transformation. 1 Research supported by grants from the Natural Sciences and Engineering Research Council of Canada, and by funding by the Telecommunications Research Institute of Ontario. Typeset by A M ST E X 2 0 Introduction The method of tabular representations, developed by David Parnas and his collaborators, has been found to be very useful for the formal documentation and inspection of software systems. The first application of this technique was in the documentation for the revised flight software for the US Navy's A7 aircraft in the late seventies ([Hen80], [HKP78]). Another large proj...
An abstract decision procedure for satisfiability in the theory of recursive data types
 In Proceedings of PDPAR
, 2006
"... Abstract The theory of recursive data types is a valuable modeling tool for software verification. In the past, decision procedures have been proposed for both the full theory and its universal fragment. However, previous work has been limited in various ways, including an inability to deal with mul ..."
Abstract

Cited by 15 (2 self)
 Add to MetaCart
Abstract The theory of recursive data types is a valuable modeling tool for software verification. In the past, decision procedures have been proposed for both the full theory and its universal fragment. However, previous work has been limited in various ways, including an inability to deal with multiple constructors, multisorted logic, and mutually recursive data types. More significantly, previous algorithms for the universal case have been based on inefficient nondeterministic guesses and have been described in fairly complex procedural terms. We present an algorithm which addresses these issues for the universal theory. The algorithm is presented declaratively as a set of abstract rules which are terminating, sound, and complete. We also describe strategies for applying the rules and explain why our recommended strategy is more efficient than those used by previous algorithms. Finally, we discuss how the algorithm can be used within a broader framework of cooperating decision procedures. 1 Introduction Recursive data types are commonly used in programming. In particular, functional languages support such structures explicitly. The same notion is also a convenient abstraction for common data types such as records and data structures such as linked lists used in more conventional programming languages. The ability to reason automatically and efficiently about recursive data types thus provides an important tool for the analysis and verification of programs. Perhaps the bestknown example of a simple recursive data type is the list type used in LISP. Lists are either the null list or are constructed from other lists using the constructor cons. This constructor takes two arguments and returns the result of prepending its first argument to the list in its second argument. In order to retrieve the elements of a list, a pair of selectors is provided: car returns the first element of a list and cdr returns the rest of the list.