Network


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

Hotspot


Dive into the research topics where Roger Duke is active.

Publication


Featured researches published by Roger Duke.


Computer Standards & Interfaces | 1995

Object-Z: a specification language advocated for the description of standards

Roger Duke; Gordon A. Rose; Graeme Smith

The importance of formalising the specification of standards has been recognised for a number of years. This paper advocates the use of the formal specification language Object-Z in the definition of standards. Object-Z is an extension to the Z language specifically to facilitate specification in an object-oriented style. First, the syntax and semantics of Object-Z are described informally. Then the use of Object-Z in formalising standards is demonstrated by presenting a case study based on the ODP Trader. Finally, a formal semantics is introduced that suggests an approach to the standardisation of Object-Z itself. Because standards are typically large complex systems, the extra structuring afforded by the Object-Z class construct and operation expressions enables the various hierarchical relationships and the communication between objects in a system to be succinctly specified.


formal methods | 1990

Towards a Semantics for Object-Z

David J. Duke; Roger Duke

Object-Z is a notation based on Z but with extensions to more fully support an object-oriented style of specification. Object-Z uses the class concept to incorporate a description of an objects state with related operations. In this paper we introduce an underlying set-theoretic model for classes and so give a formal semantics for classes which extends the semantics of schemas in Z. Our model for a class is based on the idea of a history which captures the sequence of operations and state changes undergone by an instance (object) of the class. Part of the specification of a class can involve predicates which restrict the possible histories of an object.


australasian computing education conference | 2000

Teaching programming to beginners - choosing the language is just the first step

Roger Duke; Eric J. Salzman; Jay Burmeister; Josiah Poon; Leesa Murray

Over the years there has been an ongoing debate about which computer language to adopt for a first programming subject. Although some may not agree, the current consensus is that the object-oriented languages are winning the argument, and Java has increasingly become the language of choice for teaching beginners. But choosing the language is only the first step in designing a first programming subject. The adoption of an object-oriented language such as Java offers an opportunity to completely rethink our approach to teaching first-year programming, an opportunity that should not be missed. In this paper we identify what we see as the non language-specific core issues, and discuss how we approached these issues when designing and teaching a programming subject for beginners.


international parallel and distributed processing symposium | 2004

Mutation-based exploration of a method for verifying concurrent Java components

Brad Long; Roger Duke; Doug Goldson; Paul A. Strooper; Luke Wildman

Summary form only given. The Java programming language supports concurrency. Concurrent programs are harder to verify than their sequential counterparts due to their inherent nondeterminism and a number of specific concurrency problems such as interference and deadlock. In previous work, we proposed a method for verifying concurrent Java components based on a mix of code inspection, static analysis tools, and the ConAn testing tool. The method was derived from an analysis of concurrency failures in Java components, but was not applied in practice. In this paper, we explore the method by applying it to an implementation of the well-known readers-writers problem and a number of mutants of that implementation. We only apply it to a single, well-known example, and so we do not attempt to draw any general conclusions about the applicability or effectiveness of the method. However, the exploration does point out several strengths and weaknesses in the method, which enable us to fine-tune the method before we carry out a more formal evaluation on other, more realistic components.


international conference on engineering of complex computer systems | 2005

Integrating Object-Z with timed automata

Jin Song Dong; Roger Duke; Ping Hao

When designing a complex system, Object-Z is a powerful logic-based language for modeling the system state aspects, and timed automata is an excellent graph-based notation for capturing timed control behaviour of the system. This paper presents an effective combination of the two techniques with novel composition and communication mechanisms. The combined notation enhances Object-Z with realtime modeling capability and also extends timed automata with enhanced structure and state modeling features.


australian software engineering conference | 2005

A UML approach to the generation of test sequences for Java-based concurrent systems

Soon-Kyeong Kim; Luke Wildman; Roger Duke

Starting with a UML specification that captures the underlying functionality of some given Java-based concurrent system, we describe a systematic way to construct, from this specification, test sequences for validating an implementation of the system. The approach is to first extend the specification to create UML state machines that directly address those aspects of the system we wish to test. To be specific, the extended UML state machines can capture state information about the number of waiting threads or the number of threads blocked on a given object. Using the SAL model checker we can generate from the extended UML state machines sequences that cover all the various possibilities of events and states. These sequences can then be directly transformed into test sequences suitable for input into a testing tool such as ConAn. As an illustration, the methodology is applied to generate sequences for testing a Java implementation of the producer-consumer system.


international conference on engineering of complex computer systems | 1995

The role of secondary attributes in formal object modelling

Jin Song Dong; Gordon A. Rose; Roger Duke

When modelling a large and complex system, clarity of the specification becomes an important factor. In object-oriented specification, the states of individual objects are captured by the values of their attributes. Frequently however, there are dependencies between the attributes of an object. An appropriate indication of which attributes are primary (independent) and which are secondary (dependent) can add significantly to clarity. This paper details the notion of secondary attributes, their roles and implications in formal object-oriented specification.


integrated formal methods | 2002

Model Checking Object-Z Using ASM

Kirsten Winter; Roger Duke

A major problem with creating tools for Object-Z is that its high-level abstractions are difficult to deal with directly. Integrating Object-Z with a more concrete notation is a sound strategy. With this in mind, in this paper we introduce an approach to model-checking Object-Z specifications based on first integrating Object-Z with the Abstract State Machine (ASM) notation to get the notation OZ-ASM. We show that this notation can be readily translated into the specification language ASM-SL, a language that can be automatically translated into the language of the temporal logic model checker SMV.


software engineering and formal methods | 2003

Modelling Java concurrency with Object-Z

Roger Duke; Luke Wildman; Brad Long

In this paper, we present a formal model of Java concurrency using the Object-Z specification language. This model captures the Java thread synchronization concepts of locking, blocking, waiting and notification. In the model, we take a viewpoints approach, first capturing the role of the objects and threads, and then taking a system view where we capture the way the objects and threads cooperate and communicate. As a simple illustration of how the model can, in general be applied, we use Object-Z inheritance to integrate the model with the classical producer-consumer system to create a specification directly incorporating the Java concurrency constructs.


Formal Aspects of Computing | 1996

A blocking model for reactive objects

Roger Duke; Cecily Bailes; Graeme Smith

Objects can be viewed as entities reacting concurrently with their environment through the sending and receiving of messages. In this paper a model for such reactive objects is constructed where messages may be blocked either by the object or by the environment. This model differentiates between output messages controlled by the object, and input messages controlled by the environment. The model is applied to define an object compatibility lattice structure enabling the construction of objects satisfying best possible compatibility requirements.

Collaboration


Dive into the Roger Duke's collaboration.

Top Co-Authors

Avatar

Gordon A. Rose

University of Queensland

View shared research outputs
Top Co-Authors

Avatar

Jin Song Dong

National University of Singapore

View shared research outputs
Top Co-Authors

Avatar

Graeme Smith

University of Queensland

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Luke Wildman

University of Queensland

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Kirsten Winter

University of Queensland

View shared research outputs
Top Co-Authors

Avatar

Brad Long

University of Queensland

View shared research outputs
Top Co-Authors

Avatar

Cecily Bailes

University of Queensland

View shared research outputs
Top Co-Authors

Avatar

David J. Duke

University of Queensland

View shared research outputs
Researchain Logo
Decentralizing Knowledge