TRI-Ada '95 Tutorial Program

RI-Ada '95 will offer two days of outstanding technical tutorials led by some of the most respected speakers in the industry. More than 25 half and full-day sessions have been organized for the novice, intermediate, or experienced Ada user. Our tutorial program features a full line-up of Ada 95 and object-oriented technology sessions and covers a broad range of disciplines including systems and software engineering, military and commercial standards-based development, architecture, software ethics, artificial intelligence, and the World Wide Web.

S1 Ada Design
Kary Adams and Pat Lawlis, C.J. Kemp Systems
Sunday, Full Day
Provide information pertinent to the design issues involved in performing preliminary and detailed software design with the knowledge that an Ada implementation will follow. Prerequisites: Understanding of basic software-engineering-based design concepts.

S2 Ada-Based Personal Software Process
Dan Roy, Software Technology, Process and People
Sunday, Full Day
This tutorial is designed to introduce practitioners to a personal framework for the continuous monitoring and improvement of individual software practice. It is organized around the principles of the Capability Maturity Model (CMM) and the experience factory (the Goal Question Metric paradigm and the Plan Do Check Act cycle).

S3 ADEPT - Ada Distributed Execution and Partitioning Tools
Anthony Gargaro, Computer Sciences Corporation; Yvon Kemarrec and Pautet Laurent, Télécom Bretagne; Richard Volz, Texas A&M University
Sunday, Full Day
This tutorial will present an introduction to distributed programming in Ada, and an overview of the design of ADEPT for implementing the Ada Distributed Systems Annex, the implementation of the ADEPT Partition Communication subsystem, and a description of the tool that provides for partitioning and configuring a distributed Ada application. Prerequisites: Familiar with Ada and some experience in distributed applications

S4 Design of Concurrent Software
Bo Sanden, George Mason University
Sunday, Full Day
This tutorial presents a direct approach to the design of concurrent software in Ada. Participants will learn how to construct simple, elegant, and deadlock-free concurrent systems. Illustrations are given both in Ada 83 and Ada 95. Prerequisites: Experience with Ada tasking

S5 Object-Oriented Analysis and Design for Ada 95 with Colbert's Object-Oriented Software Development Method
Edward Colbert, Absolute Software Co.
Sunday, Full Day
This tutorial explores Colbert's Object- Oriented Software Development method, and its support for Ada. It addresses real-time issues and discusses reuse of both design and code. Case studies are included. Prerequisites: General familiarity with O-O concepts and languages such as Ada 83

S6 Object-Oriented Programming in Ada 95 using GNAT
Ed Schonberg and Robert Dewar, New York University
Sunday, Full Day
An introduction to Ada 95 and object-oriented programming, using SGI machines and the Fast App tool. This is an elementary tutorial, aimed at beginners in Ada. This tutorial covers the basics of object-oriented programming including type extensions, dynamic dispatching, classwide programming, and hierarchical libraries. This is a hands-on tutorial with small programming exercises.

S7 Teaching Programming for Reuse: Generics for Educators
Suzanne Pawlan-Levy, Allan Hancock College; John McCormick, State University of New York at Plattsburgh
Sunday Morning
This tutorial will introduce educators to Ada's generic model and show how it can be taught and used in undergraduate classes. Prerequisites: Educators who are not currently familiar with Ada's generic capabilities.

S8 Process Management and Metrics
Dave Moeller, Northrop Grumman
Sunday Morning
The goal of Process Management and Metrics is to help you improve your organization's performance. This tutorial provides methods, used to develop reliable metrics, collect data needed to make effective business decisions and improve process performance.

S9 Conversion to Ada and Ada 95: A Software Re-engineering Approach
Arthur G. Duncan, A. G. Duncan and Associates
Sunday Morning
This tutorial will focus on the problem of converting to Ada and Ada 95, with emphasis on how to preserve legacy code. The presenter will discuss the transition to Ada from two points of view - the creation of new systems and the re-engineering of existing systems. The thrust of this tutorial is that it is not sufficient merely to produce Ada code that is functionally equivalent to legacy code in another language, but that the new code must be readable idiomatic Ada that embodies the design principles espoused by the Ada and Ada 95 language designers.

S10 The GNU Ada 95 Booch Components
David Weller, Hughes Training Co.
Sunday Morning
This tutorial presents the Booch Components for Ada 95. Part 1 of this tutorial discusses the history and patterns of the Booch Components, and Part 2 discusses the implementation. A graphics application will be used as a case study. Prereq-uisites: Introductory Knowledge of Ada 95

S11 CORBA and the Future of Application Development
Bill Beckwith, Objective Interface Systems, Inc.
Sunday Afternoon
Recognizing the urgent need for a high-level interoperability standard, the software industry has formed a concensus, via the Object Management Group (OMG), called the Common Object Request Broker Architecture (CORBA) specification. CORBA is proclaimed by many as the next-generation application architecture. As part of CORBA, the OMG-developed Interface Definition Language (IDL) defines the mechanisms for transparent access to objects in a network. This tutorial will present an overview of CORBA, its vast array of uses in system integration projects, and an IDL to Ada 95 mapping that is cleaner and simpler than the IDL to C++ mapping. Prerequisites: This tutorial is appropriate for both managers and software engineers.

S12 Using MIL-STD-498 and EIA IS 640/IEEE STD-1498 for Ada Software
Lewis Gray, Ada PROS, Inc.
Sunday Afternoon
This standard introduces MIL-STD-498 (the replacement for MIL-STD-2167A). This tutorial shows how Ada can be used effectively with the new standard, and shows that the new standard is compatible with both Ada 83 and Ada 95. Prerequisites: Experience in software development in Ada

S13 Paradigms and Patterns for Using Ada 95
Brad Balfour, CACI and Mark Gerhardt, Loral Space and Range Systems
Sunday Afternoon
This tutorial will focus on ways of using the new features that Ada 95 provides. Examples will take the form of complete programs and the form of program frameworks. Topics to be addressed include: kinds of inheritance (visible and private); the interactions between tagged types and child libraries; protected types; multiple inheritance; mix-ins and generics. Prerequisites: Basic experience or knowledge of Ada 95

S14 Information is Power: Current and Future Directions on the World Wide Web

Here we see Hamid playing with the SGI VideoCam while trying to talk his wife into letting him stay at work just a little longer.

Hamid Samadani, CACI
Sunday Afternoon

From hypertext markup language (HTML) to virtual reality modeling language (VRML), the World Wide Web has been accelerating at break-neck speed. This tutorial, powered by Silicon Graphics, will offer a view of the past, current and future state of the Web. The instructor will create a Web site for a hypothetical company and in the process examine practical issues such as getting a server, designing a navigational and logical architecture, and marketing the Web site. As a bonus, attendees will receive free Internet software so they can go home and immediately begin "surfing the Web." Prerequisites: For anyone who wants to learn about the Web or formalize their current understanding and get a glimpse into the future

Download an electronic copy of the PowerPoint slides given by Hamid Samadani. John Landwehr's slide will be available on the NeXT Web site.

M1 Intelligent Systems and Ada 95
Janet Johns, MITRE; J.L. Diaz-Herrera, Carnegie Mellon University
Monday, Full Day
This tutorial bridges the gap between the Ada and the AI cultures. It addresses the unique challenges brought about by the integration of AI components into conventional embedded systems. It also discusses Ada approaches and Ada implementations of AI components. Prerequisites: General understanding of Ada and general interest in AI

M2 Advanced Object-Oriented Features and Programming in Ada 95
Stephane Barbey, Magnus Kempe, and Alfred Strohmeier, Swiss Federal Institute of Technology
Monday, Full Day
This tutorial provides a comprehensive view of object-oriented programming with Ada. It covers three parts: the new object-oriented features of the language; how to integrate these mechanisms into good programming practices; and a complete application demonstrating the proper use of the new language features. Prerequisites: Familiarity with Ada, also of interest to programmers familiar with other object-oriented languages

M3 Hypertext, Hypermedia and the Web
Bob Munck, Unisys
Monday, Full Day
This tutorial covers the base technology of the Web, and the principles of building a good hypertext or hypermedia. It also discusses the use of Web facilities for particular software engineering activities, such as domain and process modeling using IDEF, hypertext implementation, and HyperAda. Prerequisites: Some experience with the Internet and the Web

M4 Software Architecture and Iterative Development Process
Philippe Kruchten, Rational
Monday, Full Day
This tutorial introduces the concept of software architecture, its motivation, and offers some practical means to tackle the task of developing from scratch a software architecture: a model, a notation, a process, and an organization. Prerequisites: General knowledge of software engineering

M5 Implementing Concurrent Programs in Ada 95
instructor: Bryce M. Bardin, Ada consulting and Training
Monday, Full Day
The goal of this tutorial is for attendees to learn how to write concurrent programs in Ada 95. Upon completion of this unit, students will understand the fundamentals of the core language Ada tasking model and how it applies to both monoprocessor and multiprocessor targets. In particular, they will learn about the Ada constructs that support concurrency--tasks and protected objects; the way that Ada tasks are scheduled for execution; and the manner in which tasks interact with both other tasks and protected objects. They will understand the importance of conformance to the Real-Time Systems Annex and how it augments the core language for practical real-time program design. Prerequisites: A basic understanding of the non-concurrent parts of Ada

M6 Teaching Object Programming with Ada 95
Mike Feldman, George Washington University, and Jack Beidler, University of Scranton
Monday, Full Day
Ada 95 provides the instructor with the opportunity to teach alternative program design disciplines. Ada 83 allows teaching using composition (layered abstractions and static polymorphism) rather than classification (inheritance and dynamic polymorphism). This tutorial will, through a series of carefully programmed exercises, lead the participants through alternative designs for generic reusable components (including classical data structures), partial algorithms (iterators), and finite-state machines (scanners). It is recommended that participants take the "Teaching Programming for Reuse: Generics for Educators" tutorial on the previous day. Prerequisites: College/university faculty

M7 Systems Engineering Capability Maturity Model and Assessment
Hal Pierson, SPC and Ilene Minnich, SECAT
Monday, Full Day
The Systems Engineering Capability Maturity Model (SE-CMM) has been created by collaborating companies and organizations to meet the need for a model of process capability that supports industry-wide improvement of systems engineering activities and provides an accepted frame of reference for the appraisal of an organization's systems engineering capabilities. Participants will learn the architecture and structure of the SE-CMM model, as well as the use of the assessment method including lessons learned from performing SE-CMM appraisals at organizations. Prerequisites: A general familiarity with Capability Maturity Models is recommended

M8 Programming in Ada 95
John Barnes, Author
Monday, Full Day
This tutorial will illustrate the use of a range of interesting Ada 95 techniques, concentrating on the new O-O features. This tutorial will commence with a brief overview of the key ideas in Ada 95, including a number of examples chosen for the insight they give on the underlying concepts. Topics covered will include: when to dispatch; using extension to encapsulate non-local data; iterators; containers such as lists and trees; what access parameters and discriminants are for; the packaging of generic parameters; and tasking. Prerequisites: Basic familiarity with Ada 83/Ada 95

M9 Software Specification and Design with Ada: A Disciplined Approach
Ken Shumate, Hughes Aircraft Company
Monday Morning
This tutorial addresses both the specification and design of software. It has an important focus on the transition from requirements to the design. It includes case studies, and covers both real-time and object-oriented techniques. The case studies include guidelines, hints, rules and heuristics. Prerequisites: Basic familiarity with Ada and system design

M10 O4S (Objects for Systems): Tailoring MIL-STD-498 for Efficiency
Ingmar Ogren, Romet AB
Monday Morning
This tutorial covers the O4S (Objects for Systems) tool (made for the Swedish DOD) and evaluates it on a real-life 30,000 line project. It also covers the need for standards, known problems, alternative ways to handle the standard, experiences, and practical tailoring. Prerequisites: Some knowledge of MIL-STD-498 and/or DOD-STD-2167A

M11 Object-Oriented System Design: A New Approach to System Engineering
Keith Hines, Motorola
Monday Morning
This tutorial gives an in-depth process for performing system engineering using object-oriented development methods. All phases of development are addressed, and all methods are given with step-by-step instructions. Examples will be presented with each phase and method description. Prerequisites: Intermediate experience with systems engineering

M12 Software Engineering: Standards, Principles, Practices, Procedures and Ethics
Bruce Krell, Consultant
Monday Afternoon
This tutorial presents software engineering principles that effectively deal with a wide variety of problems in various languages. The purpose of this tutorial is to clearly communicate both the principles and the language effectiveness with real, multi-lingual examples.

M13 GNAT Internals
Ed Schonberg and Robert Dewar, New York University
Monday Afternoon
This tutorial covers file organization, internal data structures, parameterization of machine dependencies, and the use of the GCC system as a cross-compiler. Prerequisites: This tutorial is addressed to compiler constructors and implementors who want to port, modify, or extend GNAT

M14 Managing Ada Projects
Don Reifer
Monday Afternoon
The focus of this presentation is on perceived risks and how to combat them. This issue-oriented tutorial will draw conclusions from a wide range of project experiences. Focus is placed on how Ada may be used to deliver the promises that object-oriented techniques, case tools and systematic reuse have to offer. Participants will be provided with proven approaches for handling typical risks that plague projects. Prerequisites: Generally targets middle managers

M15 Fresco - the Next Generation of GUI's
Bill Beckwith, Objective Interface Systems, Inc.
Monday Afternoon
This tutorial will present an overview of Fresco and will discuss experiences reimplementing the sample C++ implementation of Fresco in Ada 95. Fresco is an object-oriented application programming interface (API) for graphical user interfaces, covering functionality in Xlib and Xt, and adding structured graphics and application embedding. A CORBA interface will allow Ada 95 Fresco applications to interoperate transparently with Fresco/C++ applications. Developers using Fresco in Ada 95 can not only use components built with non-Ada language code, but can build graphical widgets and systems in Ada 95 that are usable from non-Ada language code.


Go back to the top of this page.

TRI-Ada logo. . . Home

Please email comments about this site.