Webmaster: Alessandro Lanza Last updated: May 5, 2008
|
13th International Conference on Reliable Software Technologies - Ada-Europe 2008 16-20 June 2008, Venice, Italy | |
Tutorial Details
T1 | | AADL: Architecture Analysis and Design Language |
Monday full day | Jean-Pierre Rosen (Adalog, France) | This tutorial describes AADL, the Architecture Analysis and Design Language. Version 1 of AADL is already an SAE standard, and the design committee is preparing version 2. 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. With a number of tools available, both free and proprietary, AADL is an effective solution for system design. The tutorial provides an introduction to the AADL language from a textual and graphical perspective, with an emphasis on the principles that are behind the language itself, in order to understand the goals and usage of AADL. Attendees will understand the benefits of using a system design language and can assess whether AADL is appropriate to their needs. |
T2 | | The best of Ada 2005 |
Monday morning | John Barnes (John Barnes Informatics, UK) | There have been three versions of Ada: Ada 83, Ada 95 and now Ada 2005. Ada 95 was a huge leap forward from Ada 83. Ada 2005 is not such a giant leap forward but aims rather to round off Ada 95 to provide the community with a language suited for the demanding applications of the 21st century. It has been said that the best bits of Ada 2005 are Ada 95 and the best bits of Ada 95 are Ada 83. John will explain the main themes of Ada as a whole and outline the key new features of Ada 2005. There are new features in the OO model with the introduction of interfaces and in the real-time area with more control over timing and scheduling plus much more in the predefined library. But there are other improvements as well in areas such as visibility control, exceptions and generics. And of course also downward closures so that Ada is at last as good as Algol 60 in that area. This tutorial will concentrate on aspects of Ada 2005 other than the OO model which is covered by another tutorial. |
T3 | | Object-Oriented Programming in Ada 2005 |
Monday afternoon | Matthew Heaney (On2 Technologies, USA) | This tutorial discusses object-oriented programming in Ada05. In addition to discussing classic features such as tagged types, class-wide programming, and access discriminants, the tutorial will include information about new procedure-call syntax, interface types, anonymous access types and anonymous subprogram parameters, extended return statements, limited-with and private-with package dependencies, and limited aggregates. The tutorial will also present idioms for implementing a type, constructing and destroying instances, designing subsystems, and for fully integrating concurrency into the object model. |
T4 | | | Preserving Model-Asserted Real-Time Properties at Execution Level for High-Integrity Systems |
Monday morning | Tullio Vardanega (University of Padua, Italy) | Juan Antonio de la Puente (Technical University of Madrid, Spain) | The tutorial will describe a novel approach to warranting the preservation of real-time properties of systems in a correctness-by-construction setting. The back end of the approach is based on a set of code patterns that rely on the Ada Ravenscar profile for tasking plus some additional real-time mechanisms introduced in Ada 2005. The generation of the chosen code patterns for ensuring temporal execution behavior and for deadline and execution-time monitoring will be described in detail and illustrated with a case-study taken from a real satellite control system. The use of tools, including a tailored version of GNAT running on ORK+, a specialized real-time kernel, together with static timing analysis tools, will also be described and exemplified on the case study. |
T5 | | Technical Basis of Model Driven Engineering |
Monday afternoon | William Bail (The MITRE Corporation, USA) | Model Driven Engineering (MDE) is an approach to software development that has matured significantly over the past few years, and as a consequence has become much more widely used throughout industry. It is referred to in many ways, including Model Driven Architecture ®). Some practitioners are claiming significant gains in productivity and product quality, while others cite more modest benefits. This tutorial examines MDE, looking at the mechanics of its process, revealing its constituent elements, and describing how it automates portions of the development process. It analyzes the parts of the process where the productivity and quality gains are realized, and also takes a critical look at the various claims that are being made about its benefits. The tutorial provides an objective assessment of the maturity of MDE, and objectively assesses the potential benefits of using this technology. The tutorial does describe any specific tool but rather describes the underlying technical basis.
|
T6 | | | A Practical Introduction to Model-Driven Software Development using Eclipse |
Friday full day | Cristina Vicente-Chicote (Universidad Politécnica de Cartagena, Spain) | Diego Alonso-Cáceres (Universidad Politécnica de Cartagena, Spain) | This tutorial will provide the audience with a general overview of the Model-Driven Engineering (MDE) approach to software development, and with a practical introduction to some of the MDE tools currently available for the Eclipse platform. |
T7 | | Languages for Safety-Critical Software: Issues and Assessment |
Friday morning | Benjamin Brosgol (AdaCore, USA) | Safety-critical systems (whose anomalous behavior could have catastrophic consequences such as loss of human life) are becoming increasingly prevalent. Standards such as DO-178B, originally developed for the certification of commercial avionics, are attracting attention in other communities. The requirement to comply with such standards imposes constraints on quality assurance, traceability, etc., much beyond what is typical for Commercial-Off-The-Shelf Software. One of the major decisions affecting the development of safety-critical software is the choice of programming language(s). Specific language features, either by their presence of absence, may make certification easier or harder. Indeed, full general-purpose languages are almost always too complex, and restricted subsets are required. This tutorial first summarizes DO-178B as an example of a safety-critical standard and identifies how it relates to language feature usage, with a special focus on Object Oriented Programming. It then compares several languages currently in use or under consideration for safety-critical systems -- C (and also C++), Ada, and Java -- and assesses them with respect to their suitability to be constrained for use for such purposes. It specifically examines the MISRA C subset, SPARK, and the in-progress effort to develop a safety-critical profile of the Real-Time Specification for Java. |
T8 | | Service-Oriented Architecture Concepts and Implementations |
Friday afternoon | Ricky Sward (The MITRE Corporation, USA) | This tutorial covers the principles of Service-Oriented Architectures (SOA) including loose coupling, encapsulation, reusability, composibility, etc. The attendee will learn about the Ada Web Server (AWS) and how SOA interfaces, session management, etc. are implemented using AWS. The tutorial will also cover the fundamentals of the Enterprise Service Bus (ESB), a key enabling component of the SOA. Attendees will learn about ESB endpoints, data routing, automatic translations, etc. They will also learn how to connect Ada web services to an ESB, how to expose the web services, and how to use AWS with the ESB through in-class exercises and demonstrations. |
T9 | | Verification Techniques for Dependable Systems |
Friday morning | William Bail (The MITRE Corporation, USA) | The practice of verification and validation (V&V) is a key aspect of any software development effort, and is tightly intertwined with the construction of the software. 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. We emphasize that V&V is more than just a “testing” activity, and includes practices that include testing as well as other valuable techniques, such as reviews, inspections, and audits. We describe these practices, point out their individual strengths and weaknesses, and provide advice on how to select the appropriate practices based on the nature of the system under development. A key aspect of this selection process is correlating the techniques to the different types of requirements, recognizing that the requirements define the desired attributes of the system. We describe some challenges in applying V&V, and describe how to approach these challenges to improve the results. We also contrast “normal” V&V with “Independent V&V” (IV&V), an approach often used for large software development efforts. |
T10 | | About Real Time Scheduling Analysis of Ada Applications |
Friday afternoon | Frank Singhoff (University of Brest, France) | This tutorial will be organized in two parts: First, we define what a real-time system is and then, the theoretical results of the real-time scheduling theory are presented. The basic task models and schedulers are explained (their behavior and their properties). The tutorial focuses on fixed-priority scheduler and its feasibility tests (eg. Rate monotonic and how to compute worst case task response times) which is the most useful scheduler with current applications. However, a dynamic priority scheduler is also presented (eg. EDF). At the end of this first part, attendees should understand what a feasibility test is and how it can help them to predict performances of their real time applications. A short introduction on shared resource support will be also presented (eg. what a priority inversion is, how PIP/PCP work). This part will be concluded by a demonstration of a simulation and analysis tool implementing the explained algebraic methods. Second, we show how real-time scheduling features are taken into account in Ada international standards such as ISO/IEC Ada 1995/2005 (eg. Ravenscar) and the POSIX 1003 Ada binding. In this part, we show the relationships between the real time scheduling theory and the implementation of real time schedulers into practical systems. Some Ada program examples are also presented and explained. |
|
|
|