PAL CARD CATALOG ENTRY

SHORT DESCRIPTION

Example programs and AdaS concurrency simulator


MOVEMENT WITHIN THE PAL CARD CATALOG
Move to top-level taxonomy
Move to keyword list

ASSET PROFILE

UNIT NAME
PCDP - AdaS
VERSION
1.0
REVIEW CODE
NR
INET ADDRESS
benari@datasrv.co.il
AUTHOR
M. Ben-Ari
POB 1603, Rehovot 76115, Israel
Tel: 972-8-470-793, Fax: 972-8-466-831
RIGHTS
Approved for Public Release; Distribution Unlimited
COPYRIGHT
Copyright 1990 M. Ben-Ari
DATE CREATED
1990
DATE RELEASED
1990
DATE LAST UPDATED
1990
LOCATION
PAL
ENVIRONMENT
Examples are standard Ada.
AdaS concurrency simulator requires IBM/PC/DOS/Turbo Pascal.
LIMITATIONS
AdaS concurrency simulator requires Borland Turbo Pascal to compile.
CERTIFICATION
Ada System Certifier_1 1.1
Date/Time of Processing: Monday    17 July      1995 11:03:41Pm
Overall Assessment of System: OK
Classification of System: C
Basis of Classification --
Syntax Errors                               PASS
Completeness                                PASS
Independence from External Libraries        FAIL
Independence from a Specific Ada Compiler   FAIL

Explanations for failures --
System withs non-standard library units that are not provided
System contains compiler-specific pragmas or uses Machine_Code

Number of ...
Files              50
Library Units      63
Lines            3058
Statements       1992
Comments            0

Unidentified Withed Units --
1 unidentified withed units
Subunits and Parent Units --
3 parent program units
0 missing parent units
9 subunits
0 subunits found but not specified
0 subunits specified but not found

FILE LISTING

Directory Display


languages/ada/crsware/pcdp:
  File Name                 Size
  ---------                 ----
  README                   2,165
  pcdp.zip                55,017


Totals
  ==============  ==============
    2 Files               57,182

ABSTRACT

                 Ada Programs 
                    for
   Principles of Concurrent and Distributed Programming
                 M. Ben-Ari
         Prentice-Hall International
                   1989

These programs are Ada implementations of concurrent and distributed
algorithms. They can be studied as laboratory exercises or used as a
framework for implementing other algorithms. The programs are written in
(standard) Ada and will run on any (validated) Ada compiler, however,
the implementation of concurrency is not prescribed by the standard and
thus there may be variations in the behavior of the programs. In any
case, the user or instructor must be familiar with implementation-
specific commands relating to tasking.

The behavior of the programs can be followed by inserting print
statements within the tasks. It is possible to influence the execution
of the programs by changing task priorities or introducting delay
statements. A good on-line debugger is extremely helpful.

The AdaS program simulates concurrent execution of several processes
written in Ada syntax. There are two principle reasons for using AdaS,
even if a true Ada compiler is available:

  a. Some Ada compilers may not implement time slicing. Therefore, they
cannot execute the common memory algorithms.

  b. Even if time-slicing is implemented, the user may not be able to
control the scheduler in sufficient detail to demonstrate the
pathological behavior described in the book.

For example, AdaS can demonstrate livelock in the fourth example of
Chapter 3 which is caused by perfect interleaving of the instructions of
two processes.

AdaS is NOT an Ada interpreter. It accepts only very small fragment of
the language, it does not reject all incorrect programs and there are
some deviations from Ada semantics. It is best used as a laboratory
instrument where an example program is initially written using a true
compiler and then transfered to AdaS for microscopic examination.


REVISION HISTORY

Originally released on diskette through Prentice-Hall International,
1990.  Posted in 1994.


RELEASE NOTICE

This prologue must be included in all copies of this software.
Restrictions on use or distribution: Software available for free use
by owners of the book.


DISCLAIMER

        This software and its documentation are provided "AS IS" and
without any expressed or implied warranties whatsoever.  No warranties
as to performance, merchantability, or fitness for a particular
purpose exist.
        The user is advised to test the software thoroughly before
relying on it.  The user must assume the entire risk and liability of
using this software.  In no event shall any person or organization of
people be held responsible for any direct, indirect, consequential or
inconsequential damages or lost profits.