TRI-Ada '96 features the following presentation tracks:

Real-Time Track

WE1 - Wednesday, 11:00 AM - 12:30 PM

Salon F

Priority Ceiling Protocol in Ada.
Dr. Kwok-bun Yue, University of Houston - Clear Lake.

This presentation discusses an implementation of the priority ceiling protocol in Ada 95. It reviews the implementation design and the Ada 95 features that enable the implementation.

Vender presentation GNAT Support for Real-Time Software Development
Robert Dewar, Ada Core Technologies, Inc..

The GNAT compilation system can be used to develop real-time applications. This presentation describes the GNAT implementation support core language features such as protected types, and for the Real-Time Annex. The focus is on how the GNAT technology addresses the sometimes conflicting goals of portability and run time efficiency.

Prototyping a Parallel Discrete Event Simulation System in Ada. Professors Helge Hagenauer and Werner Pohlmann, Universitat Salzburg.

Software engineers have used Ada in recent research on designing simulation models for parallel execution. This presentation explores the "split-queue time warp" simulation algorithm. It also discusses the interaction between the definition of logical processes, the underlying simulation algorithm, and attainable efficiency.

WE4 - Wednesday, 4:00 PM - 5:30 PM

Salons B-C

Vendor presentation: AdaTest 95 - A Verification Tool for Ada 95
Ian Gilchrist, Quality Checked Software

Ada 95 offers some powerful new facilities enabling software developers to "do more, better" than with Ada 83. However, the problem of verification still remains; that is, how to show your new code does what you intend it to do. This presentation describes AdaTest 95, a derivative of the earlier Ada 83-based AdaTest tool, and shows how it can be used for software verification applications.

A Comparison of Different Tasking Architectures Used in Mobile Satellite Communication Ground Station Software.
Karl Gramp, Computer Sciences Corporation.

Three mobile, satellite-based telecommunication software designs offer a comparison of approaches to using threads (tasks) in real-time systems. The first uses single-threaded programs; the second uses a thread for each hardware component, giving hundreds of threads; and the last uses individual threads for each action, leading to tens of thousands of threads. This presentation discusses Ada tasking facilities for creating a controlled and well-defined use of threads with extensive error checking both at compile and run time.

Design and Test Strategies for a Safety-Critical Real-Time Embedded Executive for a New Space Shuttle Display System. Charles Meyer and Michael Reznick, Intermetrics, Inc.

This presentation describes the design decisions, prototyping techniques, and test methods employed to build a successfully delivered executive for a future space shuttle, cockpit-display system. It discusses debugging software on unique hardware, evaluating a COTS Ada run-time environment, and challenges posed by complex hardware and software interfaces.

TH1 - Thursday, 11:00 AM - 12:30 PM

Salon E

Vendor presentation Orbix/Ada Overview
Objective Interface Systems

This presentation describes Orbix/Ada, an Ada 95 COTS CORBA 2.0-compliant Object Request Broker. This tool helps developers build distributed applications across operating systems, processors, wire protocols, and even programming languages.

Providing Fault-Tolerant Services to Distributed Ada 95 Applications. Dr. Yvon Kermarrec and Laurent Nana, ENST de Bretagne; Dr. Laurent Pautet, Telecom Paris.

This paper presents various techniques and approaches for fault tolerance. It considers recovery blocks, a mechanism already implemented in an Ada 95 environment. It also extends the use of recovery blocks to deal with distributed applications.

Using Ada 95 for the Design of Distributed Real-Time Systems. Robert Pettit, Software Productivity Consortium.

This presentation describes Ada 95 Distributed Systems Annex for message communication between distributed partitions in an ADARTSSM design. It uses a case study of an air-traffic, display/collision, warning-monitor system.

TH4 - Thursday, 4:00 PM - 5:30 PM

Salon E

Interpartition Communication with Shared Active Packages. Pascal Ledru, Aerospatiale, Inc.

This presentation offers a technique for porting an application based on a tightly coupled distributed system to a loosely coupled system. It discusses the Shared Active packages for making use of protected objects with entries in a loosely coupled distributed system.

GNATDIST: a Configuration Language for Distributed Ada 95 Applications. Dr. Yvon Kermarrec and Laurent Nana, ENST de Bretagne; Dr. Laurent Pautet, Telecom Paris.

This presentation proposes a language for configuring distributed Ada 95 programs. The goal is realizing the advantages offered by distributed platforms, which include performance and high availability. Parts of this language have been implemented in an effort to make GNAT an environment for programming distributed systems.

A Comparison of Two Approaches to Distributed Application Development in Ada. John Riley, CACI, Inc.Federal.

Two approaches to distributed-application development with Ada show contrasting characteristics. One approach uses an object request broker based on the Common Object Request Broker Architecture (Corba). The other approach builds on the Ada Distributed Systems annex. The paper discusses the strengths and weaknesses of these approaches in the context of various problem domains.

Object-Oriented Development Track

WE3 - Wednesday, 11:00 A M- 12:30 PM

Salon E

The Situation in Object-Oriented Specification and Design. George Cherry, Thought**Tools.

This paper proposes a radical answer to: "Why is OO development so successful?" It uses this answer as the basis for an OO method that is more intuitive and more rigorous than other methods. Every object is an implicit mathematical function from its domain of situations onto its range of reactions. Objects go about their business by perceiving, classifying, and reacting to situations. Making explicit an object's domain of situations and its mapping onto reactions significantly enhances intuitions about objects, classes, and inheritance.

ADAM: A Language-Independent, Object-Oriented, Design Environment for Modeling Inheritance and Relationship Variants in Ada 95, C++, and Eiffel. Steve Demurjian, University of Connecticut, Computer Science & Engineering Dept.

The ADAM environment provides a language-independent, OO platform from which software engineers can automatically generate Ada 95, C++, and/or Eiffel code from a single design. ADAM offers design capabilities that support variants of inheritance and relationships, from different perspectives. These alternatives during design result in behavior that more precisely matches an application's requirements. This promotes a more disciplined approach to design and development.

Vendor presentation Development TrackThe ObjectAda Development Environment for Ada 95
Steve Blake, Aonix (formerly Thomson Software Products)

ObjectAda is an integrated set of Ada language support tools, on-line reference material, and supplemental bindings, surrounding a validated Ada 95 compiler. This presentation describes the system components and their technology, showing how they address developers' requirements on a variety of platforms and through all phases of Ada software construction.

WE6 - Wednesday, 4:00 PM - 5:30 PM

Salon E

Active Information Systems, From Object-Oriented design to Ada 95. Moncef Bari, Centre de Recherche Informatique de Montreal.

To build Active Information Systems, this session presents an OO design model and its mapping to Ada 95. It offers part of a methodology based, for each step of the software life cycle, on a model and a step-by-step process. Analysis is based on (1) an extended Entity/Relationship model for the static aspects and (2) an event-driven model for the dynamic aspects. Design is based on a particular OO model. Set up is based on Ada. The main benefit of this approach is to bring traceability into operation and to favor weak coupling between software components.

Vendor presentation Rational Apex for Ada 95
Gene Ouye, Rational Software Corporation

With the advent of Ada 95 and its support for Object-Oriented Programming, software developers face unique challenges in exploiting and managing this new technology. This presentation explains how the latest Rational Apex Ada 95 products help developers take a total lifecycle approach to projects using Object Technology for large, complex and/or safety critical Ada applications.

Object-Oriented Formal Specification to Support Ada 95 Reuse. Huiming Yu, NC A&T State University, Department of Computer Science, College of Engineering.

This presentation examines OO system development, the features of Ada 95 that facilitate reuse, and the importance of formal specification for reuse. It will develop a Black Box Reuse (BBR). The new approach allows designers to describe inherited objects and aggregation frameworks in a unique way. Clients can use these objects and frameworks correctly without involving implementation details. Several examples show that BBR is straightforward and relates intuitively to Ada 95 syntax and semantics.

Ada 95 Design Track

WE5 - Wednesday, 4:00 PM - 5:30 PM

Salon I

The State-Machine Pattern.
Dr. Bo Sanden, Colorado Technical University

In concurrent software design in Ada 95, a pattern is a group of tasks and protected units that is useful in different applications. State machines are common in real-time software. The State-Machine pattern captures the various constellations of tasks and protected units that software engineers can use to represent a state machine and its associated activities.

Control Structure Diagrams for Ada 95. Dr. James Cross, Auburn University, Computer Science and Engineering.

GRASP (Graphical Representations of Algorithms, Structures, and Processes) is a software engineering tool that generates Control Structure Diagrams (CSDs) from Ada 95 source code. CSDs make Ada 95 source code more comprehensible. They are useful both when designing and implementing new software, as well as when reading existing source code. GRASP also serves as a graphical interface to GNAT (GNU Ada Translator), an Ada 95 compiler used by many companies, universities and colleges. Programmers may create and edit source files, generate CSDs for source code, print source code and CSDs, and compile and run Ada programs, all from within the GRASP environment.

Vender presentation High Intensity Ada 95: The Spark Approach
Bernard Carre, Praxis Critical Systems

Spark assists high-integrity software development through a system of Ada design rules and code annotations, supported by analysis and verification tools. This presentation shows how Ada 95 has allowed streamlining of Spark, further facilitating good design and verification practice. Experience with Spark is described, including a summary of cost benefits.

Education/Training Track

TH3 - Thursday, 11:00 AM - 12:30 PM

Salons A-B

Ada Training and Education in the U.S. Army and U.S. Air Force. John A. Hamilton, US Military Academy; Maj. David Cook, Air Force Institute for Technology.

This presentation looks at the Army and the Air Force's commitment to Ada, as evidenced by their pervasive use of Ada in service academies, technical training schools, and graduate school. Ada has not only helped them meet operational military requirements, but also served them from a pedagogical standpoint. Academically, AFIT and the service academies resemble other collegiate environments. The U.S. Army's Computer Science School and Air Force's Keesler Technical Training Center are more akin to training institutions.

Vendor presentation AdaMentor 95: an Internet-based Ada 95 Training Tool
Jerry Horsewood, AdaSoft, Inc.

AdaMentor 95 is an on-line interactive computer-based training product that runs on the Internet through a Web browser. Based on John Barnes' textbook "Programming in Ada 95", the courseware comprises lessons on Ada technical subjects, as well as programming and comprehension exercises. This presentation describes the tool and shows how it may be adapted to meet an organization's training requirements.

Active Learning and Process Assessment: Two Experiments in an Ada-Based Software Engineering Course. Dr. Allen Parrish, University of Alabama, Department of Computer Science.

In a junior-level software engineering course at the University of Alabama, students learn Ada for the first time. Tasks include very small programs to larger applications. Students widely perceive this course as difficult, and think of it as a "weed-out" course for computer science majors. To increase student retention, we are using cooperative learning techniques, and are assessing the student programming process. This paper reports on results from these experiments.

Ada 95 Toolkits Track

TH5 - Thursday, 4:00 PM - 5:30 PM

Salon F

TASH: A Free Platform, Independent Graphical User Interface Development Toolkit for Ada. Terry Westley, Calspan SRL Corporation.

TASH is a platform-independent Application Programming Interface (API) for developing Graphical User Interfaces (GUI). This API includes a complete "thin" binding to Tcl and an experimental "thick" binding to Tk from Ada 95. Several features of Ada 95 such as access to subprograms, tagged types, and interface to C prove useful in this binding.

An Application-Independent Concurrency Skeleton in Ada 95. Dr. Matthew Dwyer, Kansas State University, Department of Computing and Information.

Ada 95 allows software engineers to construct coordination abstractions, also known as concurrency skeletons. Just as a data abstraction hides the details of a type's implementation, a coordination abstraction hides the details of the coordination activities that are inherent in a concurrent computation. These details include the communication, synchronization, and topology of the computation. An application is built from such abstractions by instantiation using data and computational components specific to each application. The presentation describes a concurrency skeleton construction and its application to a wide variety of problems.

Towards an Ada Basis for KBSE: Refine-Ada 95 Conversion. Professor Paul Bailes, Centre for Software Maintenance, Department of Computer Science, The University of Queensland.

Accessible enabling technology facilitates Knowledge-Based Software Engineering (KBSE). Ada 95 is now universally accessible, as will be KBSE if Ada 95 is seen to support it. An automatic conversion from the Refine programming language component of the Software Refinery KBSE environment exposes the strengths and weaknesses of Ada 95's support for KBSE. At the very least, Ada 95 enables the more widespread distribution of KBSE applications developed with Software Refinery.

Reuse Track

TH6 - Thursday, 4:00 PM - 5:30 PM

Salons A-B

Vendor presentation Visualization and Metrics Analysis using the McCabe Visual Testing Toolset for Ada
McCabe & Associates, Inc.

This presentation describes an interactive and visually guided toolset for testing Ada programs. Statically, the toolset generates complexity metrics and test cases for Ada modules. Dynamically, the tools report the coverage analysis after test execution.

Learning to Use Ada 95 Components Using HTML Linking. Dr. Bohdan Nebesh, George Washington University.

One of the major obstacles to wide-spread software reuse is learning how to take advantage of components from a software library. To help, we built a tool that automatically embeds Hypertext Markup Language (HTML) links in Ada 95 specification files. The tool links derived types their parent types, child packages to their parents, and all subprogram parameter and return types to their declarations. Our preliminary results indicate that our techniques are effective in aiding programmers in learning to use library components.

Reuse/Ada. Dr. John Beidler, Computing Science Department, University of Scranton.

Despite promises at various levels, reuse will never achieve its true potential until resources become available that assist software developers in locating, interfacing, and applying reusable resources in a productive and convenient manner. This presentation describes two such resources. One tool is a client-configurable, source-code development environment. The second is a web-based approach currently under construction.

FR3 - Friday, 11:00 AM - 12:30 PM

Salon B

Migrating Well-Engineered Ada 83 Applications into Newer Architecture and Reuse based on Ada 95. Scott Moody, Boeing Defense & Space - Systematic Reuse Group.

The time is right for the vast number of existing Ada systems to migrate to Ada 95. A necessary set of infrastructure tools and bindings is in-place, and experience has highlighted the challenges. The step is not a translation because straight code conversion does not exploit the advanced features of the new language and is not always possible because of the reliance on external products that lack Ada 95 bindings.

DAGAR: A Process for Domain Architecture Definition and Asset Implementation. Carol Klingler, Lockheed Martin Tactical Defense Systems.

Few domain modeling methods couple domain architecture engineering. This presentation describes the DAGAR (Domain Architecture-Based Generation for Ada Reuse) process, a method that supports the Organization Domain Modeling (ODM) method. DAGAR is a repeatable, documented process with accompanying tools based on the GenVoca domain architecture process developed by Dr. Don Batory and colleagues at the University of Texas. DAGAR develops domain architecture, assets implementation within the architecture, and domain application. A real-world, military application (the Army STARS Project) has used DAGAR.

Vendor presentation Management Introduction to Software Reuse
Kevin McGinty, Army Reuse Center

This presentation addresses the management issues surrounding the introduction of reuse in a software development organization. It covers requirements, implementation strategies, advantages, and also pitfalls, and shows how to realize savings of 20 to 40%.

Using Ada 95 Track

FR2 - Friday, 11:00 AM - 12:30 PM

Salon A

Ada and ASIS: Justification for Differences in Terminology and Mechanisms. Dr. Sergey Rybin, Scientific Research Computer Center, Moscow State University.

The Ada Semantic Interface Specification (ASIS) is the basis for implementing portable tools aimed at analyzing static properties of Ada source code. Ada language definition specifies the legality of compilation units and the behavior of a program at run-time. While Ada and ASIS have aspects in common, the different goals also justify some specific terminology and mechanisms in ASIS. This presentation also deals with some issues still to be resolved to prepare ASIS for standardization.

Vendor presentation Opening Windows with Ada: A Real-World Example of a Successful Ada/Windows Development Project. Mark Miller, Strictly Business Computer Systems

This presentation describes experience gathered on a successful project for the U.S. Army Corps of Engineers, a client-server application produced by a geographically distributed development team. The software comprises an Oracle 7 database server with networked clients running Windows 3.1, Windows 95, and Windows NT. The team adapted traditional development methods into an iterative approach, resulting in significant and measurable productivity improvements.

COREMO: A Corba Real-Time Extension Model and its Ada 95 Implementation. Dr. Zied Choukair, Department Informatique, Telecom Bretagne.

This presentation addresses distributed OO computing with real-time constraints in an open environment. The Corba (Common Object Request Broker Architecture) released by the OMG (Object Management Group) is the selected open object bus. It provides distribution transparency and interoperability between heterogeneous systems. We implemented the Corba core in Ada 95 and developed a real-time extension to the model called COREMO. This extensions will provide Corba applications with quality of service as well as the opportunity for real-time application developers to use the Corba paradigms. Preliminary experimentation showed that when configuring a COREMO server adequately with appropriate real-time policies, we improve its QoS.