Dobbings
Michell
Pritchett
Mills & Peterson
Kernel Ada to Unify Hardware and Software Design
This paper is a call to SIGAda members to make
a determined thrust to broaden Ada usage in the commercial world,
particularly within the semi-conductor design
communities. More specifically the Electronic Design Automation (EDA)
industry widely uses VHDL (Ref.[2]) as a hardware
description language (HDL), mixed with C/C++ for simulations and
other software programming functions.
This paper briefly traces the history of VHDL
development. We show that VHDL is not appropriate for software
programming. We then provide a few simple examples
of VHDL code with comparable Ada code, to show SIGAda members
the effectiveness and simplicity of using Ada
as an HDL. Thus, (a kernel of) Ada constructs can unify hardware and software
design.
The Rendezvous
is Dead - Long Live the Protected Object
This paper outlines the short-comings of rendezvous
and the advantages of protected objects as a means of synchronization in
Ada 95. A common Ada benchmark suites, ACES,
gives the misleading impression that protected objects are cheaper per
se.
This work shows that the main benefit of protected
objects stems from the potential to reduce the number of context switches.
Based on the latter observation, a general model
to translate rendezvous into protected objects is developed. This model
is
further refined to replace entire server tasks
that make calls to or accept rendezvous. A quantitative evaluation shows
the
benefits of protected objects for each approach
and illustrates that the number of context switches can be reduced at least
by
50% when tasks with rendezvous are replaced by
protected objects resulting in significant execution time savings for
applications requiring many synchronizations.
The Evolution of a Data Flow Model
This paper presents the stages of growth for a
design of a concurrent data flow program. A sequence of models will be
presented in increasing order of complexity,
demonstrating the values and shortcomings of each until eventually arriving
at a robust model. Protected objects are instrumental
to its construction as are other Ada 95 features.
Implementing shared passive packages using multicast technology
Shared passive packages in Ada95 have been clearly
designed with shared memory and multi-processors in mind: only
partitions located on the same host are entitled
to use such a package. We are currently extending this model to provide
end-users with distributed virtual shared memory
available from all the partitions in a distributed system, whether these
partitions are located on the same host or not.
This extension will be implemented in GLADE , the only implementation of
the
distributed systems annex.
This extended abstract describes the preliminary
design of new features that are going to be implemented by a research team
of the ENST in GNAT , the GNU Ada compiler (
ENST and ACT are the joint authors of GLADE ). This hot work is
currently in progress and the design will be
completed for May, 21 1998. The first experiments and results will occur
during
the first two weeks of June 1998 and will hence
be available for the full paper.
Pinho & Vasques
Wednesday,
November 11
11:00am - 12:30pm
Chamillard
Jarc
An
Outcome-Based Comparison of Ada and Pascal in an
Introductory Computer Science
Course
Pascal’s long and successful run at West Point
illustrated Winston Churchill’s dictum that, "The absence of alternatives
clears the mind wonderfully." However, by the mid-90s, the United States
Military Academy was finding that Pascal, long the educational workhorse,
was no longer the clear choice for serious computer science education.
The decision was taken to evaluate alternatives to Pascal. The criteria
selected for programming language evaluation were student learning outcomes
based on course goals and objectives. The controlled
educational environment of a service academy provides an excellent opportunity
to conduct research using control groups and experimental groups. We conducted
a side by side comparison of the use of Pascal, which was specifically
designed for instructional purposes, and Ada in an introductory course.
The experiment demonstrated that students were much more successful in
Ada than in Pascal, and led to the revision of the
Academy core curriculum to use Ada 95 in our
introductory computer science class. This paper discusses the details of
our comparison, citing specific examples to illustrate a rational basis
for evaluating programming language features against course objectives.
Nathan Fleener, Laura Moody, and Mary
Stewart (Boeing Company)
Patterns, Architectures, and Reuse
The Harris Distributed Reuse System (HDRS) supports more than document reuse. The ability to reuse software architectures is being inserted into HDRS. However, reuse of architectures needs more than simple indexing and component grouping technology. Reviewing the descriptive document of the architecture is not always enough. Re-users also examine the architecture's model for usage patterns.
Populating an architecture model with pattern information has many benefits to architecture reuse. It enables reusers to identify the plugability of the architecture. It enables integrators to understand how to interface to the architecture. It enables developers to understand how to maintain and extend the architecture.
The HDRS places architecture information at the reuser’s fingertips. Architecture models are indexed, patterns within architectures are indexed, and architecture documents are indexed. Searches return individual assets as well as bundled architectures. This paper describes the reuse enabling benefits of describing architectures with patterns.
Keywords:
Reuse, Patterns, Architecture, Web
Arthur G. Duncan (Rensselaer Polytechnic Institute,
NY)
Ada in Scientific Applications
John Reisner, Zeenat Lainwala, Tom Peters, Steven Demurjian, Sr. (University of Connecticut)
Robert C. Leif and Suzanne B. Leif (Ada_Med)
John P. Woodruff (Lawrence Livermore National Laboratory)