Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Joseph M. Morris is active.

Publication


Featured researches published by Joseph M. Morris.


software engineering and formal methods | 2005

Software refinement with Perfect Developer

Gareth Carter; Rosemary Monahan; Joseph M. Morris

Perfect Developer is a software tool that supports the formal development of object-oriented programs by refinement, including formal verification of code. It is built around a single language that supports both specification and implementation. We critically examine how Perfect Developer supports programming by refinement, focusing on three refinement techniques: algorithm refinement, data refinement and delta refinement. In particular we examine the extent to which Perfect Developer provides formal verification for these techniques. We assess it as a tool for software construction and compare it with related tools.


mathematics of program construction | 2004

Augmenting Types with Unbounded Demonic and Angelic Nondeterminacy

Joseph M. Morris

We show how to introduce demonic and angelic nondeterminacy into the term language of each type in typical programming or specification language. For each type we introduce (binary infix) operators ⊓ and ⊔ on terms of the type, corresponding to demonic and angelic nondeterminacy, respectively. We generalise these operators to accommodate unbounded nondeterminacy. We axiomatise the operators and derive their important properties. We show that a suitable model for nondeterminacy is the free completely distributive complete lattice over a poset, and we use this to show that our axiomatisation is sound. In the process, we exhibit a strong relationship between nondeterminacy and free lattices that has not hitherto been evident. Although nondeterminacy arises naturally in specification and programming languages, we speculate that it combines fruitfully with function theory to the extent that it can play an important role in facilitating proofs of programs that have no apparent connection with nondeterminacy.


Acta Informatica | 2001

A theory of bunches

Joseph M. Morris; Alexander Bunkenburg

Abstract. A bunch is a simple data structure, similar in many respects to a set. However, bunches differ from sets in that the data is not packaged up or encapsulated, and in particular in that a bunch consisting of one element is the same as that element. Bunches are attractive for handling nondeterminacy and underspecification, by which is meant that for any particular input to the program or specification, the associated output is not fully determined. The acceptable outputs for any given input can be described by a bunch. This approach nicely generalises traditional single-output programs and specifications. We present a formal theory of bunches. It includes an axiomatisations of boolean and function types whose behaviour is well-known to be complicated by the presence of nondeterminacy. The axiomatisation of the booleans preserves most of the laws of classical predicate calculus. The axiomatisation of functions accommodates higher-order functions in all their generality, while avoiding the dangers of inconsistency when functions and nondeterminacy intermix. Our theory is presented as a Hilbert-style system of axioms and inference rules for a small specification language. We prove consistency.


ACM Transactions on Programming Languages and Systems | 2008

Dually nondeterministic functions

Joseph M. Morris; Malcolm Tyrrell

Nondeterminacy is a fundamental notion in computing. We show that it can be described by a general theory that accounts for it in the form in which it occurs in many programming contexts, among them specifications, competing agents, data refinement, abstract interpretation, imperative programming, process algebras, and recursion theory. Underpinning these applications is a theory of nondeterministic functions; we construct such a theory. The theory consists of an algebra with which practitioners can reason about nondeterministic functions, and a denotational model to establish the soundness of the theory. The model is based on the idea of free completely distributive lattices over partially ordered sets. We deduce the important properties of nondeterministic functions.


broadband communications, networks and systems | 2009

High performance Deep Packet Inspection on multi-core platform

Wang Cong; Joseph M. Morris; Wang Xiaojun

Deep Packet Inspection (DPI) provides the ability to perform Quality of Service (QoS) and Intrusion Detection on network packets. But since the explosive growth of Intrnet, performance and scalability issues have been raised due to the gap between network and end-system speeds. This article describles how a desirable DPI system with multi-gigabits throughput and good scalability should be like by exploiting parallelism on Network Interface Card, network stack and user applications. Connection-based Parallelism, Affinity-based Scheduling and Lock-free Data Structure are the main technologies introduced to alleviate the performance and scalability issues. A common DPI application L7-Filter is used as an example to illustrate the applicaiton level parallelism.


Science of Computer Programming | 2007

Terms with unbounded demonic and angelic nondeterminacy

Joseph M. Morris; Malcolm Tyrrell

We show how to introduce demonic and angelic nondeterminacy into the term language of each type in typical programming or specification language. For each type we introduce (binary infix) operators @? and @? on terms of the type, corresponding to demonic and angelic nondeterminacy, respectively. We generalise these operators to accommodate unbounded nondeterminacy. We axiomatise the operators and derive their important properties. We show that a suitable model for nondeterminacy is the free completely distributive complete lattice over a poset, and we use this to show that our axiomatisation is sound. In the process, we exhibit a strong relationship between nondeterminacy and free lattices that has not hitherto been evident.


Acta Informatica | 2007

Dual unbounded nondeterminacy, recursion, and fixpoints

Joseph M. Morris; Malcolm Tyrrell

In languages with unbounded demonic and angelic nondeterminacy, functions acquire a surprisingly rich set of fixpoints. We show how to construct these fixpoints, and describe which ones are suitable for giving a meaning to recursively defined functions. We present algebraic laws for reasoning about them at the language level, and construct a model to show that the laws are sound. The model employs a new kind of power domain-like construct for accommodating arbitrary nondeterminacy.


Science of Computer Programming | 2002

A source of inconsistency in theories of nondeterministic functions

Joseph M. Morris; Alexander Bunkenburg

Nondeterminacy is a useful feature of specification languages because it allows the customer to express that any of a range of outcomes is acceptable for a particular operation. However, the classical theory of functions becomes considerably complicated and counter-intuitive in the presence of nondeterminacy, and inconsistencies can easily creep in. All this is well known. In this paper, we describe a potential new source of inconsistency when functions and nondeterminacy are combined. We show that some existing theories fall foul of it, and show how to avoid it. The root cause of the problem is the substitution of a variable in a nonmonotonic position when the type of the variable is nonflat.


international colloquium on theoretical aspects of computing | 2006

A lattice-theoretic model for an algebra of communicating sequential processes

Malcolm Tyrrell; Joseph M. Morris; Andrew Butterfield; Arthur Hughes

We present a new lattice-theoretic model for communicating sequential processes. The model underpins a process algebra that is very close to CSP. It differs from CSP “at the edges” for the purposes of creating an elegant algebra of communicating processes. The one significant difference is that we postulate additional distributive properties for external choice. The shape of the algebra that emerges suggests a lattice-theoretic model, in contrast to traditional trace-theoretic models. We show how to build the new model in a mathematically clean step-by-step process. The essence of our approach is to model simple processes (i.e. those without choice, parallelism, or recursion) as a poset S of sequences, and then order-embed S into a complete (and completely distributive) lattice called the free completely distributive lattice over S. We explain the technique in detail and show that the resulting model does indeed capture our algebra of communicating sequential processes. The focus of the paper is not on the algebra per se, but on the model and the soundness of the algebra.


Acta Informatica | 2008

Modelling higher-order dual nondeterminacy

Joseph M. Morris; Malcolm Tyrrell

We investigate models for programming and specifying in which higher-order functions and nondeterminacy (both demonic and angelic) coexist. The models are built using predicate transformers, binary multirelations, state transformers, and free lattices over a poset. We show there exist suitable models in each approach, and that they are isomorphic. The models support an algebra of nondeterminacy which we use to prove that the classical list fusion law holds even in the presence of nondeterminacy.

Collaboration


Dive into the Joseph M. Morris's collaboration.

Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Wang Cong

Dublin City University

View shared research outputs
Top Co-Authors

Avatar
Researchain Logo
Decentralizing Knowledge