From: tencate@ph.tn.tudelft.nl (Eric ten Cate)
Subject: summary of call for parallel progr. environments and specification tool
Organization: Delft University of Technology
Date: Thu, 20 Aug 1992 07:13:16 GMT


Hello everybody,

	Here's a summary of responses I received to my call for information on 
parallel programming environments and specification tools. I would like to 
thank all those who responded for their time.

	There are entries with respect to 'Linda', the Myrias environment, HeNCE 
and VERIFY. Furthermore, there are three responses to my remark with respect to 
LOTOS. I took the liberty of editing some of the responses a little if I felt 
that it was not useful to pass on everything in it. 

	First, let me give some references to the environments I mentioned in my 
posting, as requested by several responders.  Information on PPSE and Integral 
can be found in [Harrison 90]. PIE is described briefly in [Harrison 90] and more 
elaborately in [Segall 85]. CODE is described in [Browne 89] and in [Browne 90]. 
I am aware of the fact that these articles come almost uniquely from one magazine; 
this is not because I did not check other magazines!

Regards,

	Mark Roest				phone : 15-785805
	TWI/TA, Parallel Algorithms Group	e-mail: tencate@ph.tn.tudelft.nl 
	Delft University of Technology			
	Mekelweg 4
	2628 CD  DELFT
	the Netherlands


References
----------

[Harrison 90]	W. Harrison,"Tools for Multiple-CPE environments," IEEE Software, 
		May 1990, pp. 45-51. 
[Segall 85]	Z. Segall, L. Rudolph,"PIE: A Programming Environment for Parallel 
		Processing", IEEE Software, November 1985, pp. 23-37. 
[Browne 89]	J.C. Browne, M. Azam, S. Sobek,"CODE: A Unified Approach to Parallel
		Programming," IEEE Software, July 1989, pp. 11-18.
[Browne 90]	J. C. Browne, T. Lee, J. Werth,"Experimental Evaluation of a 
		Reusability Oriented Parallel Programming Environment," IEEE Trans. 
		on Software Engineering, Vol. 16, No. 2, February 1990, pp. 111-120.

--------------------------------------------------------------------------------
------------------------------- R E S P O N S E S ------------------------------
--------------------------------------------------------------------------------

From: Sudy Bharadwaj (sudy@sca.com):

We (Scientific Computing Associates, Ed.) have an environment called Linda, which 
may provide you what you need.  

--------------------------------------------------------------------------------

From: Brian Lake (bhl@myrias.ab.ca):

Myrias has developed a programming environment where determinism is
easily achieved, and the programmer may construct programs where
deadlock and starvation is not possible. To achieve these properties,
the programmer may not use global shared memory/semaphores or message
passing, but restrict themselves to 'merged' memory. 

In the Myrias model, do-loops in fortran & C may be changed to
'parallel-do' loops, where virtual copies of a parent address space
are inherited for each iteration(or portion) of a loop. There is no
sibling communication, but when the parent resumes it's address space
reflects all of the (independent) changes made by all siblings. The
end result is a programming model where your program is capable of
producing the same results every time it is run, independent of the
processor count used between runs. Race conditions and other timing
problems cannot happen. 

Determinism may be defeated by doing computation's based upon the time
of day, or by using file I/O to achieve inter sibling communication,
or by using non-deterministic features like semaphores/shared memory
mentioned above, but hey, buyer beware!

The Myrias distributed virtual memory system supports transparent
scalability and automatic load balancing. The system is real;
scalability to 1044 nodes has been demonstrated. 

--------------------------------------------------------------------------------

From: Adam Beguelin (adamb@DAO.NECTAR.CS.CMU.EDU):

HeNCE (Heterogeneous Network Computing Environment) supports the 
graphical specification of parallel programs. HeNCE is available 
from netlib.  You can get the source and manuals by sending email 
to netlib@ornl.gov with the message 'send index from hence'


--------------------------------------------------------------------------------

From: "Jonathan Ostroff" (jonathan@cs.yorku.ca):

The VERIFY tool is mainly for real-time systems, and therefore may not
be suitable for numerical software development. It is not industrial
strength but is intended for smaller systems - on the other hand
verification of large systems is still theoretically quite difficult.
VERIFY requires Quintus Prolog 3.0. 

VERIFY is part of the StateTime toolset. A visual front-end executable
model builder has been developed, and we are extending the range of
the verification techniques.

--------------------------------------------------------------------------------

From: Jeroen van Lagemaat (lagemaat@cs.utwente.nl):


The myth about LOTOS keeps popping-up!

What is LOTOS really? Language Of Temporal Ordening Specification is a
description technique based on the temporal ordening of observational behaviour.
So what can be specified: 
- events, i.e. actions performed at gates (IO points)
- ordening of events
- data involved in events
- structering of events in processes
- hiding of events
- etc.., see ISO 8807!
What can be done with it:
- specification of systems at several levels, i.e. from user-requirements
  to description of implementations, using different specification styles
How is it supported:
- Several tools have been developed to:
  * write specs
  * validate/verify specs
  * compile specs to C, Ada
  * transform specs, e.g. user-requirements in system architecture
  Most of the tools have been incorporated in a coherent toolset (lite)
- At several countries centres of expertise are available (Spain, Italy, Germany
  France, The Netherlands ...).
How is this possible: 
The formal basis of LOTOS (formally defined syntax and semantics) allows both the unique
interpretation of specifications as well as building of the tools. Even these tools can be
tested for Conformance to the language.

Where does the myth come from:
LOTOS was developed within ISO as part of the work of JTC1 (TC97 in the past)
in SC21 (Information Processing Systems), the group responsible for OSI.
LOTOS was applied there mainly to communication protocols, e.g. Transport
Protocol and Service of OSI are described in LOTOS and published as Technical
Reports TR 10023 and 10024 last month.
Also, most of the work done in the area of Conformance Testing in ISO is now based on LOTOS.

What is it used for now? I know of the following applications:
- Manufacturing Control, design of a plant for CAD/CAM
- Safety regulations
- Space on-board systems
- Safety critical hard and software systems
- OSI protocols and ISDN protocols and end-systems
- Multi-media information systems
- ....

I challenge you: show me where LOTOS can not be applied succesfully!
NOTE: LOTOS does not all of the job, complementary methods and tools are needed
      for succesful design and implementation of systems, not to forget the      
      designers creativity.


--------------------------------------------------------------------------------

From: Colm Toomey (H236_010@ccvax.ucd.ie):

        Don't know much about LOTOS but do know it's an ISO standard and there
seem to be tools available for compiling specifications to code. A recent post to
comp.specification (July 22) from Arturo Azcorro (azcorro@dit.upm.es) of UPM,
Madrid was a questionnaire for a LOTOS tool survey. 
 
--------------------------------------------------------------------------------

From: Martin Weigele (martin@weigele.de):

I cannot say much about Lotos, since I haven't used it. However, from my 
industrial experience with "ISO and conformance testing", e.g. an ill-designed 
ISO test specification language, I can only warn you:

Be suspicious of any (ISO, or other "official") standard in computing that has  
been developed by committee. Before adopting its use, unless you absolutely  
have to, check carefully by applying common sense and independent judgement.  
Don't forget: We just got rid of a whole political empire where everything was  
to work according to "equal standards" and did not, so don't let the "ISO"  
stamp impress you! Most good standards are approved de-facto standards that  
were already there.

Development by standardization committee often means the least common  
denominator with regard to quality and clarity of the object under development,  
not to speak about intentional bugs and fuzziness introduced into standards by  
participating companies for the sake of their business advantage. 

Besides, the crucial thing about Formal Methods is "What tool support is  
available" - and be suspicious of "tools" as well!! There are few real good  
ones.
--------------------------------------------------------------------------------
 
Note: Jeroen Lagemaat reacted to Martin Weigele's posting. I didn't think it
useful in this context to include the whole discussion. (Ed.)
Newsgroups: comp.specification