Tutorials Overview
Morning tutorial sessions will start at 9:30 and end at 13:00.
Afternoon sessions will start at 14:00 and end at 17:30. There will be
coffee breaks at 11:00 - 11:30 and at 15:30 - 16:00.
Tutorial Abstracts
+ information of all tutorials
here
Monday, 5th
|
T1.
Verification and validation for reliable software systems
(Morning)
William Bail, The MITRE
CorporationIn the
development of software systems, the role of verification and
validation is often not formally recognized or applied. In fact,
throughout development, the roles of construction and
verification are intertwined. In this tutorial we examine the
nature of V&V as applied to software systems with high
expectations of dependability, and present techniques that have
been shown to increase quality and dependability. Rather than
being an exclusively “testing” activity, V&V consists of a wide
range of practices, each with strengths and weaknesses, that
support careful and considered development of software systems.
+ info
|
T2.
The Ada 2005 Standard Container Library (Afternoon)
Matthew Heaney, On2 Technologies
This tutorial provides an overview of the
standard container library, describing its design and philosophy
and presenting techniques for using the library most effectively.
Containers are divided into two main categories: sequence
containers, to insert elements at specified positions, and
associative containers, which insert elements in order by key.
The library includes vectors and lists (from the former category),
and hashed and sorted sets and maps (from the latter). All
containers have variants to support elements (or keys) that have
an indefinite subtype. Containers have various mechanisms (including
both active and passive iterators) for designating and accessing
container elements.
+ info
|
T3. Developing Web-aware Applications in Ada
with AWS (Full day)
Jean-Pierre Rosen, Adalog
This tutorial describes AWS, the Ada Web
Server, and how to use it for the development of web-aware
applications. It describes the principles of AWS, from the most
basic functionality to more advanced functions (authentication,
SOAP interface, session management, hotplugs, multi-server
applications, etc.). The seminar emphasises practical usage of
AWS, and presents design patterns that have proved effective for
developing existing applications.
It compares the development process with
AWS to other techniques. The tutorial provides attendees with
the information needed to assess whether AWS is appropriate to
their needs, and the necessary knowledge to start writing
fullscale Web applications.
+ info
|
T4. SAE Architecture Analysis and Design
Language (Full day)
Joyce L Tokar, Pyrrhus Software
The Architecture Analysis and Design Language
(AADL) is an architecture description language (ADL) that has
been developed under the auspices of the International Society
of Automotive Engineers (SAE), Avionics Systems Division (ASD)
Embedded Computing Systems Committee (AS-2). The AADL was
approved as an SAE standard in November of 2004. In 2005, the
SAE AADL standard was extended with the approval of four annexes:
Graphical AADL Notation, AADL Meta Model and Interchange Formats,
Language Compliance and Application Program Interface, and the
Error Model.
The AADL language has been defined to
provide a consistent and concise notation, both textual and
graphical, to be used to develop models of complex, real-time,
critical systems such as those used in automotive, avionics,
medical, robotic, and space-based systems. The AADL provides the
notation to perform various types of analysis of the complex
critical systems.
In the early stages of design, the AADL
enables the definition of the preliminary connectivity between
application and execution platform components. As an AADL model
is developed, additional components and properties are specified.
The properties provide the information needed by analysis tools
to determine the behaviour and performance of the system being
modelled. The AADL has been designed to facilitate the
development of tools that provide automatic code generation of
the system both in terms of the application software components
and the underlying execution environment. The AADL may be used
to verify an actual system against the specified model. With
automatic code generation, the AADL offers a system model that
maintains significant information about a system that is useful
throughout the lifetime of the system. Thus, the AADL offers
support for all stages of system development.
This tutorial will provide an introduction
to the AADL language from a textual and graphical perspective.
It will also give some guidelines regarding the relationship
between existing systems and the generation of AADL models. The
tutorial will present a mapping between programming languages
such as C and Ada and the AADL. Several uses of the AADL in the
design and analysis of safety-critical real-time systems will be
demonstrated along with the OSATE toolset.
Attendees may learn more about AADL at
www.aadl.info
+ info
|
Friday, 9th
|
T5. Model Driven Development with
the Unified Modeling Language (UML) 2.0™ and Ada (Morning)
Colin Coates, I-Logix UK
System and software development has become an
increasingly complex science. With so many emerging devices,
processors, systems specification languages, software
implementation languages, and tools for all of these, there
needs to be a common denominator in the development process that
brings focus back on the application. Model-Driven Development (MDD)
based on the UML has emerged as the preferred approach by a
growing number of systems engineers and software developers for
addressing this growing complexity. The UML has proven to be the
standard visual representation language capable of providing
both systems and software teams with a coherent set of
interchangeable artefacts that fully describe an application
with rich enough specification to be able to design and
implement it in Ada.
This tutorial will, through the use of worked
examples, demonstrate the pros and cons of using a Model Based
approach with the Ada language. It will examine how UML 2.0
concepts might be mapped into Ada code and how this process
might be automated through the use of model transformation.
+ info
|
T6.
Distribution in Ada 95 with PolyORB, A Schizophrenic Middleware
(Afternoon)
Jérôme Hugues, ENST
PolyORB is the reference implementation of
the "schizophrenic" middleware architecture. This innovative
architecture resolves middleware-to-middleware introperability
issues: it allows seamless integration of partitions in
heterogeneous distribution environments (CORBA, DSA, web
services) through the collaboration of multiple colocated
personalities. We first present the motivations and approaches
for developing distributed applications in Ada 95.
We then focus on two application fields
for PolyORB:
1. as a CORBA implementation, using the idlac IDL-to-Ada
compiler, allowing integration in multi-language distributed
applications;
2. as a supporting partition communication subsystem for the Ada
Distributed Systems Annex (annex E), using the gnatdist
partitioning tool.
We finally present the general principles
of schizophrenic middleware, and show how this architecture can
be leveraged to take advantage of both the CORBA and Ada DSA
distribution models. We also show how it can be adapted to meet
stringent application requirements, particularly in the context
of embedded, real-time systems.
PolyORB is developed by ENST, LIP6 and
AdaCore, and supported by AdaCore. The PolyORB project is a
member of the ObjectWeb consortium.
+ info
|
T7.
Requirements management for dependable systems (Full day)
William Bail, The MITRE
CorporationThe demands
of systems on which high expectations of dependability are
placed stress the normal techniques applied to requirements
engineering. These demands are exacerbated when the systems are
embedded and real-time. Considerations of fault tolerance,
graceful degradation, degraded performance modes, and temporal
challenges (latency and synchronization) fail to be fully
satisfied by normal practice. This tutorial examines these
challenges and provides a set of techniques and practices that
address these issues. It specifically addresses the issue of
stakeholder acceptability, allowing trade-offs of various system
qualities to determine overall system acceptance. The tutorial
does not describe in detail any specific techniques. Rather, it
describes the ways that requirements need to be handled to
ensure depen¬da¬bi¬lity. This tutorial has been updated
significantly from the version that was presented at Ada Europe
2005 by focusing on models of dependability and presenting a new
model of stakeholder acceptance.
+ info
|
T8.
Real-Time Java for Ada Programmers (Full day)
Benjamin M. Brosgol, AdaCore
Although the term "real-time Java" may sound
self-contradictory, serious technical activity has been underway
since early 1999 on extending the Java platform to satisfy the
requirements for real-time systems, and several implementations
exist. This work is relevant to the Ada community as both a
challenge and an opportunity: on the one hand, it may compete
with Ada in the real-time marketplace, but on the other hand
some of its ideas may be worthy of consideration in a future
version of the Ada language or as implementation-provided
libraries at present. This tutorial will focus on the Real-Time
Specification for Java ("RTSJ"), which was developed by the
Real-Time for Java Expert Group under the auspices of Sun
Microsystems' Java Community Process. The tutorial will analyze/critique
the Java platform with respect to real-time support, summarize/illustrate
the main elements of the RTSJ, and compare/contrast the design
with Ada’s real-time features (both in Ada 95 and Ada 2005). The
tutorial will also describe the ongoing work in developing
high-integrity profile for the RTSJ, and will provide a status
update on the real-time Java work and its usage and prospects.
+ info
|
|