Afternoon Tutorials - October
the 31st
Tutorial 1-2: Model-based design and
analysis of concurrent and distributed programs
The wide acceptance of the
Java programming language with its built-in concurrency constructs
means that concurrent programming is no longer restricted to the
minority of programmers involved in operating systems & embedded
real-time applications. Concurrency is useful in a wide range of
applications. Errors in these applications and systems may be life
threatening, adversely affect our quality of life or may have severe
financial implications. An understanding of the principles of
concurrent programming and an appreciation of how it is practiced is
essential for software engineering professionals. This tutorial takes a
model-based approach to the design of concurrent and distributed
programs. The models, based on finite state machines, provide insight
into the composite behaviour of the programs, and can be automatically
analyzed to check various properties before implementation. The
approach, concurrency concepts and analysis will be demonstrated
through a series of examples and using the LTSA toolkit. In addition,
current research work in the area will be discussed & demonstrated.
Jeffrey Kramer, UK
Hall 1