| |
Publications 1999-Current
Some legal stuff
This material is presented to ensure timely
dissemination of scholarly and technical work. Copyright and all rights
therein are retained by authors or by other copyright holders. All
persons copying this information are expected to adhere to the terms
and constraints invoked by each author's copyright. In most cases,
these works may not be reposted without the explicit permission of the
copyright holder.
Modelling Mobile IP in Mobile Petri Nets
C.A. Lakos
Proceedings of Fourth International Workshop on Modelling of Objects, Components, and Agents (MOCA'06)(to appear), Turku, Finland, Department of Computer Science, University of Hamburg, 2006.
Mobile systems explore the interplay between locality and connectivity. A subsystem may have a connection to a remote subsystem and use this for communication. It may be necessary or desirable to move the subsystem close to the other in order to communicate. Alternatively, the method of communication may vary depending on proximity. This paper reviews a Petri Net formalisation for mobile systems which is intended to harness the intuitive graphical representation of Petri Nets and the long history of associated analysis techniques.
The main contribution of the current paper is to assess the above formalism by using it to model and simulate Mobile IP, an Internet standard which caters for mobile nodes using IP version 4 addresses. These addresses indicate a fixed point of connection to the internet and the protocol caters for nodes being away from home. By defining the model as a Mobile Petri Net, the graphical notation helps to convey the flow of information, and the executable nature of the model opens the way to simulation, state space exploration and model checking.
|
State Space Exploration of Object-Based Systems using Equivalence Reduction and the Sweepline Method
C.A. Lakos
Proceedings of 3rd International Symposium on Automated Technology for Verification and Analysis, Lecture Notes in Computer Science 3707, pp 187-201, Taipei, Taiwan, Springer, 2005.
Object-based systems present particular challenges for state space
exploration. Objects can be dynamically created and discarded, and can
be referenced via object identifiers. Consistent relabelling of object
identifiers in a state leads to a state that is superficially different
but behaviourally equivalent to the original. Similarly, object-based
systems can include garbage Ñ objects which cannot be accessed
from the root instance and cannot affect it. The presence of garbage
can also result in unnecessary differentiation of states. Both of these
factors can lead to state space explosion. This paper defines
object-based systems based on the Petri Net formalism and considers
both equivalence reduction and the sweep-line method for exploring the
state space of such systems. Experimental results are presented for the
case study of a communication protocol.
|
A Petri Net View of Mobility
C.A. Lakos
Proceedings of 25th IFIP WG 6.1 International Conference on Formal Techniques for Networked and Distributed Systems, Lecture Notes in Computer Science 3731, pp 174-188, Taipei, Taiwan, Springer, 2005.
Mobile systems explore the interplay between locality and connectivity.
A subsystem may have a connection to a remote subsystem and use this
for communication. Alternatively, it may be necessary or desirable to
move the subsystem close to the other in order to communicate. This
paper presents a Petri Net formalisation of mobile systems so as to
harness the intuitive graphical representation of Petri Nets and the
long history of associated analysis techniques. The proposed formalism
starts with modular Petri Nets, where a net is divided into modules
which can interact via place and transition fusion. The first change is
that the flat module structure is replaced by fully nested modules,
called locations. The nesting of locations provides a notion of
locality while their fusion context determines their connectivity. The
transitions constituting a location are constrained so that we can
determine when a location is occupied by a subsystem, and when the
subsystem shifts from one location to another. We present both a
colourless and a coloured version of the formalism. The colourless
version is conceptually simpler, while the coloured version makes it
easier to identify isolated subsystems for which garbage collection may
be appropriate.
|
Specification-based retrieval strategies
of component architectures
D. Hemer
In P. Strooper, Proc. of the Australian Software Engineering Conference
(ASWEC2005), pages 233-242, 2005.
|
Plug-in proof support for formal
development environments
D. Hemer, G. Long, P. Strooper
In M. Atkinson and F. Dehne eds., Proc. of Computing: The Australasian
Computing Symposium, Conferences in Research and Practice in
Information Technology, vol 41, pages 69-79, 2005.
|
A Formal Approach to Component Adaptation
and Composition
D. Hemer
In V. Estivill-Castro, Proc. of the Twenty-Eigth Australasian Computer
Science Conference (ACSC2005), Conferences in Research and Practice in
Information Technology, vol 38, pages 259-266, 2005.
|
A Method for Describing the Syntax
and Semantics of UML Statecharts
Yan Jin, Robert Esser and Jörn W. Janneck
to appear in
Journal of Software and Systems Modeling
Volume 2, Number 6, 2004
In this paper an approach for describing the
syntax and semantics of UML Statecharts is presented. It is an example
of a generic approach to integrating a visual language in a
heterogeneous modelling and simulation environment. A system
represented in a visual language is syntactically defined as an
attributed graph, with well-formedness rules specified by a set of
first-order predicates over the abstract syntax of the graph. The
language semantics are specified by an {\em Abstract State Machine}
(ASM) parameterized with syntactically-correct attributed graphs. In
this paper the key issues in the definition of UML statechart syntax
and semantics are highlighted.
|
Modular Analysis of Systems
Composed of Semiautonomous Subsystems
C. Lakos and L. Petrucci
to appear in
Proceedings of 4th International Conference on Application of
Concurrency to System Design
This paper reviews a proposal for the modular
analysis of Petri nets and its applicability to factory automation
systems. It presents new algorithms to harness this modular analysis in
the determination of reachable states with specified partial markings,
to determine possible deadlocks, both global and local, and also
liveness. These algorithms have been implemented in a prototype tool
which has then been used to solve a problem in factory automation
which, even for relatively simple configurations, can lead to state
spaces beyond the capabilities of many analysis tools.
|
Modular Consistency Analysis of
Component-Based Designs
Y. Jin, C. Lakos, and R. Esser
to appear in
Journal of Research and Practice in Information Technology 2004
In this article, we present a practical analysis
approach that makes use of the modular nature of component-based
designs to alleviate the state space explosion problem, a well-known
obstacle to system verification. The key is to specify interaction
protocols for components using a lightweight formal language and then
to utilise these protocols as contracts for independent analysis of the
components and their interactions. These protocols are often missing or
informally documented. It is demonstrated how consistency properties of
closed and open component-based designs can be verified using this
divide-and-conquer approach.
|
|
Verification of the Futurebus+
Cache Coherence protocol: A case study in model checking
Kylie Williams and Robert Esser
27th Australasian Computer Science Conference (ACSC2004)
18-22 January 2004, Dunedin, New Zealand
Available in PDF
(529k)
This paper presents a case study for
automatic verification using the Communicating Sequential Processes
formalism. The case study concerns the Futurebus+ cache coherency
standard; we develop a formal model of the protocol and perform some
verification tasks upon it. In the process of doing so, we extend the
previous solution by developing a formal specification of cache
coherence that is suitable for the verification of both directory and
snooping based cache coherence protocols.
|
|
Towards a Semantic Basis for
Rosetta
Catherine Menon, Charles Lakos, Cindy Kong
27th Australasian Computer Science Conference (ACSC2004)
18-22 January 2004, Dunedin, New Zealand
Rosetta is a specification language
for designing hardware and software systems with a view to being able
to consider multiple system perspectives concurrently (such as
functional correctioness, performance constraints, and physical
constraints). It also provides the capability to integrate components
from heterogeneous domains, such as software and reconfigurable systems
and digital and analog hardware.
This paper explores a semantic
framework for Rosetta in terms of category theory. We outline how a
specification can be equated with a theory, and the different
components which satisfy a specification can be equated with the
algebras which satisfy this theory. From this, we define a category
consisting of all legal specifications in a given language, and then
show how the notions of extension and interaction of specifications can
be modelled by means of colimits within this category. This requires a
consideration of the different notions of equivalence of
specifications, including behavioural equivalence, axiom abstraction
and signature abstraction. Finally, we briefly outline how information
hiding might be included in the construction of objects within the
category of theories.
While the motivation for this work is
the semantics of Rosetta, the approach adopted can be applied to other
specification languages which support multi-faceted, heterogenous
specifications.
|
Defining a Formal Coalgebraic
Semantics for The Rosetta Specification Language
C. Kong and P. Alexander and C. Menon
Journal of Universal Computer Science, Vol. 9, No. 11, PP1322-1349
November 2003.
Available at http://www.jucs.org/jucs_9_11/defining_a_formal_coalgebraic
Rosetta is a systems level design language that
allows algebraic specification of systems through facets. The usual
approach to formally describe a specification is to define an algebra
that satisfies the specification. Although it is possible to formally
describe Rosetta facets with the use of algebras, we choose to use the
dual of algebra, i.e. coalgebra, to do so. Coalgebras are particularly
suited for describing state-based systems. This makes formally defining
state-based Rosetta quite straightforward. For non-state-based Rosetta,
the formalization is not as direct, but can still be done with
coalgebras by focusing on the behaviors of systems specified. We use
denotational semantics to map Rosetta syntactic constructs into a
language understood by the coalgebras.
|
Component-based Design and
Analysis: A Case Study
Yan Jin, Charles Lakos and Robert Esser
Software Engineering and Formal Methods
22nd - 27th September, 2003, Brisbane - Australia
In this paper, we introduce a component-based
design methodology and present a practical analysis approach that makes
use of the modular nature of component-based designs to alleviate the
state space explosion problem, a well-known obstacle to system
verification. In addition, the approach is illustrated by application
to a non-trivial case study: the production cell. It is shown that not
only the basic consistency property, viz. the freedom from unexpected
reception and deadlock, but also other important safety properties in
the design can be proved.
|
Modular Analysis of Dataflow
Process Networks
Yan Jin, Robert Esser, Charles Lakos and
Jörn Janneck
6th International Conference of Fundamental Approaches to Software
Engineering (FASE 2003),
European Joint Conferences on Theory And Practice of Software (ETAPS),
April 5 - 13, 2003, Warsaw, Poland
Available in gzipped
Postscript (112k)
In Lecture Notes in
Computer Science, Fundamental Approaches to Software Engineering,
LNCS 2621, PP 184-199, Springer
Process networks are popular for modelling
distributed computing and signal processing applications, and
multi-processor architectures. At the architecture description level,
they have the flexibility to model actual processes using various
formalisms. This is especially important where the systems are composed
of parts with different characteristics, e.g. control-based or
dataflow-oriented. However, this heterogeneity of processes presents a
challenge for the analysis of process networks. This research proposes
a lightweight method for analysing properties of such networks, such as
freedom from unexpected reception and deadlock. The method employs
interface automata as a bridge between the architectural model and
heterogeneous processes. Thus, the properties are determined by a
series of small tasks at both the architecture level and the process
level. This separation of concerns simplifies the handling of
heterogeneous processes and alleviates the potential state space
explosion problem when analysing large systems.
|
Lightweight Consistency Analysis
of Dataflow Process Networks
Yan Jin, Robert Esser and Charles Lakos
Twenty-Sixth Australasian Computer Science Conference (ACSC2003)
Adelaide Australia.
In Conferences in
Research and Practice in Information Technology.
Volume 16. M. Oudshoorn, Ed
4th - 7th February, 2003 |
Higher-order Petri net modelling
- techniques and applications
Jörn W. Janneck and Robert Esser
Workshop on Software Engineering and Formal Methods
In Formal Methods in Software Engineering
and Defence Systems 2002,
Conferences in Research and Practice in Information Technology, Vol.
12, PP 17-25
Australian Computer Society,
June 2002
Higher-order Petri nets are a class of high-level
Petri nets, in which Petri nets themselves are first-class objects.
Here tokens may represent Petri nets and Petri nets may be the values
of parameters and variables, as well as the result of computations
performed during the occurrence of transitions. These features
facilitate a number of very powerful higher-order modelling techniques,
making Petri nets much more flexible, compositional, and the resulting
models more reusable. This work explores the usefulness of some of
these techniques by looking at them from an application point of view
and by illustrating them with small to medium-sized application
examples.
|
Higher-order modeling and
automated design-space exploration
Jörn W. Janneck and Robert Esser
In the Proceedings of the High Performance Computing Symposium 2002
-HPC 2002
PP 320-327, ISBN 1-56555-250-4
San Diego, USA
April 14-18, 2002
An important part of the design of complex systems
is the evaluation of the large number of potential alternative designs.
Due to the number and complexity of design parameters, this design
space is potentially huge and very complex. Automating part of the
design exploration task can be an invaluable help in finding the
optimal or near optimal settings of design parameters. The choice of
the most appropriate exploration strategy depends on the nature of the
parameters, such as their role in the model, the dimensionality and
structure of the design space including the number and location of
local optima, etc. This paper advocates the use of higher-order
modeling techniques to express exploration strategies. This allows
users to formulate them in the same set of languages used to model the
original system. Hence the set of design space exploration tools can be
extended and parameterized as easily as the model itself. In this paper
a higher-order modeling langage is presented. As an example a number of
simple exploration tools are modeled and applied to a small
optimization problem.
|
Validation Led Development of
Software Specifications
C.A. Lakos and V.M. Malhotra
Workshop on Software Engineering and Formal Methods
International Journal of Modelling and Simulation, Vol. 22, No. 1, pp
57-74 (2002).
ACTA Press, Anaheim,
A software development methodology is defined
that integrates software specification and validation efforts. The
integration helps in achieving the twin goals of correct software with
well-defined specifications that document it. The major focus of the
paper is on dynamic life-cycle models. We indicate how language
analysis of the problem description can be extended to derive not only
a static class model for the system but also an initial dynamic
life-cycle model. Consistency and completeness checks are provided that
further drive the requirements elicitation. A case study is presented
that clearly demonstrates the methodology.
|
|
Describing the Syntax and
Semantics of UML Statecharts in a Heterogeneous Modelling Environment
Yan Jin, Robert Esser and Jörn W. Janneck
Diagrams 2002 - Second International Conference on Theory and
Application of Diagrams
Callaway Gardens, Georgia, USA
April 18-20, 2002
Available in pdf
(524k)
In Lecture
Notes in Artifical Intelligence, Vol. 2317, PP 320-334, Springer
In this paper UML statechart diagrams
are used as an example of a generic approach to integrating a visual
language in a heterogeneous modelling and simulation environment. A
system represented in a visual language is syntactically defined as an
attributed graph, with well-formedness rules specified by a set of
first-order predicates over the abstract syntax of the graph. The
language semantics are specified by an {\em Abstract State Machine}
(ASM) parameterized with syntactically-correct attributed graphs. In
this paper the key issues in the definition of UML statechart semantics
are highlighted.
|
|
A Framework for Defining
Domain-Specific Visual Languages
Robert Esser and Jörn W. Janneck
Workshop on Domain Specific Visual Languages,
ACM Conference on Object-Oriented Programming, Systems ,languages and
Applications OOPSLA-2001
Tampa Bay, Florida, USA
October 14, 2001
http://www.isis.vanderbilt.edu/oopsla2k1
Available in pdf
(424k)
For many problem domains
domain-specific language} (DSLs) offer users more appropriate notations
and abstractions in which to model systems when compared with general
purpose programming languages. These benefits can often be amplified if
a visual notation is used instead of textual notations. In many problem
domains visual notations are preferred by practitioners as they often
are the most intuitive representation of a problem. However, the lack
of supporting infrastructure for constructing, implementing, and
maintaining visual languages in general and domain-specific visual
languages (DSVLs) in particular has been an impediment to gaining wider
acceptance. This paper describes techniques used in the Moses
tool-suite for defining the syntax and semantics of DSVLs, which are
very general, yet are built on a few very simple concepts and are
therefore easy to apply.
|
Incremental State Space
Construction for Coloured Petri Nets
G.A. Lewis and C.A. Lakos
Proceedings of International Conference on the Application and Theory
of Petri Nets 2001, Lecture Notes in Computer Science (to appear),
Newcastle, U.K., Springer (2001). |
Object-Oriented Modelling with
Object Petri Nets
C.A. Lakos
Concurrent Object-Oriented Programming and Petri Nets, G. Agha, F.D.
Cindio, and G. Rozenberg (eds.), Lecture Notes in Computer Science 2001
(to appear), Springer-Verlag (2001). |
|
Moses - A Tool Suite for Visual
Modelling of Discrete-Event Systems
Robert Esser and Jörn W. Janneck
Symposium on Visual/Multimedia Approaches to Programming and Software
Engineering, HCC01
Stresa, Italy
September 5-7, 2001
Available in pdf
(600k)
This paper gives an overview of the
Moses tool suite, a set of tools for visual language programming. In
Moses, visual language syntax is defined by first-order predicates over
the abstract syntax of a picture, represented by an attributed graph.
One way of specifying language semantics in Moses is by writing an
Abstract State Machine that interprets a given attributed graph. This
paper shows how the editor is parameterized with a description of a
visual language, and discusses briefly the generic architecture used to
animate and debug visual programs.
|
|
A Predicate-Based Approach to
Defining Visual Language Syntax
Jörn W. Janneck and Robert Esser
Symposium on Visual Languages and Formal Methods, HCC01
Stresa, Italy
September 5-7, 2001
Available in pdf
(413k)
This paper presents an approach to
the specification of visual language syntax. Based on attributed graphs
as the notion of abstract syntax, syntactical correctness is specified
by a set of predicates over that structure. The proposed technique
facilitates the natural embedding of other visual and textual
notations, the definition of complex syntactic and static-semantic
properties, as well as precise error diagnosis and localization. An
editing environment supporting this technique is briefly discussed.
|
|
Polymorphic CSP Type Checking
Ping Gao and Robert Esser
Twenty-Fourth Australasian Computer Science Conference (ACSC2001)
Bond University, Gold Coast, Queensland
29th January - 2nd February, 2001
Available in gzipped
postscript (36k)
Communicating Sequential Processes
(CSP) is a language used to describe and reason about concurrent
systems. It consists of a process algebra combined with a functional
language. This combination poses unique problems when attempting to
design a type checker. In this paper the differences between a
conventional functional language type checker and a type checker for
the CSP language are discussed. This type checker was developed to
identify polymorphic types, an important first step towards the goal of
automating data independence. The result of this work has been
incorporated into the Adelaide Refinement Checker (ARC) - a CSP based
tool suite for model checking concurrent systems.
|
|
Exploratory performance evaluation
using dynamic and parametric Petri nets
Robert Esser and Jörn W. Janneck
Proceedings of the HPC 2000
Pages 357-364. Society for Computer Simulation, April 2000
An approach, called exploratory
simulation, is presented that facilitates the automatic exploration
through the configuration and design alternatives of a system. The
approach builds upon a few extensions to an otherwise conventional
high-level Petri net formalism. As an example, a generic and fully
parametric simulation environment is created with this modeling
language and subsequently used to automatically evaluate the
performance of a simple system.
|
Composing Abstractions of Coloured
Petri Nets
C.A. Lakos
Proceedings of International Conference on the Application and Theory
of Petri Nets, Lecture Notes in Computer Science 1825, pp 323-342,
Aarhus, Denmark, Springer (2000). |
Behaviour Inheritance for Object
Lifecycles
C.A. Lakos and G.A. Lewis
Proceedings of European Conference on the Technology of Object-oriented
Languages and Systems33, pp 262-275, Mont St Michel, France, IEEE
Computer Society (2000). |
A Practical Approach to
Incremental Specification
C.A. Lakos and G.A. Lewis
Proceedings of Fourth International Conference on Formal Methods for
Open Object-based Distributed Systems, pp 233-256, Stanford,
California, Kluwer (2000). |
|
Communication and Synchronization
using Bounded Channels in SUAVE
Peter J. Ashenden, Robert Esser and Philip A.
Wilsey
Proceedings of the 1999 International
Hardware Description Languages Conference and Exhibit (HDLCON '99)
(honourable mention paper).
Made available with permission from Accellera Organization Inc pdf
(60k)
This paper described improvements to
the abstract interprocess communication features added to VHDL as part
of the SUAVE language design. Channel type declarations are extended to
allow specification of bounded message buffers. This allows the
designer to choose between asynchronous or synchronous message passing
semantics. The latter makes models more amenable to formal verification
based on state-space exploration. The language is also extended to
allow specification of timeout intervals in select statements. This
change makes the language more widely applicable, including for
description of telecommunication protocols.
|
The Incremental Modelling of the
Z39.50 Protocol with Object Petri Nets
C.A. Lakos and J.W. Lamp
Advances in Petri Nets, J. Billington and M. Diaz (eds.), Lecture Notes
in Computer Science 1605, pp 37-68, Springer-Verlag (1999). |
A Practical Approach to
Behavioural Inheritance in the Context of Coloured Petri Nets
C.A. Lakos and G.A. Lewis
Proceedings of Workshop on Semantics of Objects As Processes, BRICS
Notes Series NS-99-2, pp 21-29, Lisbon, Portugal (1999). |
The Compositionality of
Abstraction for Coloured Petri Nets
C.A. Lakos
Technical Report TR99-01, Department of Computer Science, University of
Adelaide (1999). |
A Catalogue of Incremental Changes
for Coloured Petri Nets
C.A. Lakos and G.A. Lewis
Technical Report TR99-02, Department of Computer Science, University of
Adelaide (1999). |
Incremental Reachability Algorithms
G. Lewis and C. Lakos
Technical Report TR99-1, Department of Electrical Engineering and
Computer Science, University of Tasmania (1999). |
|