Object-based modeling of parallel programs

The Parse Project has been investigating software development issues covering a range of parallel applications. Parse itself is an object-based design methodology that incorporates design management strategies based on data and function encapsulation, hierarchical decomposition, and staged refinement. Parse represents parallel software designs with a graphical notation called process graphs. After capturing a design's important structural features, this notation systematically derives the design's skeletal dynamic properties. For this, it can use either a behavioral specification language or formal methods such as CSP (Communicating Sequential Processes) or Petri nets. Parse builds on existing parallel software design techniques that are based on dataflow and object-oriented approaches. Parse attempts to capture precise object interactions and synchronization in an abstract, architecture-independent notation. To do so, it combines the strengths of various object-oriented techniques and extends the abilities of real-time design methodologies. The Parse project has tried to promote recognized software engineering techniques and extend them to incorporate high-level abstractions for parallel software design. Using systematic transformation techniques, system designers then can methodically refine their designs into formal notations to promote verification and into programming languages for easy implementation. >

[1]  Stefano Russo,et al.  Software Architecture of the EPOCA Integrated Environment , 1994, Computer Performance Evaluation.

[2]  Ian Gorton Parallel program design using high-level Petri nets , 1993, Concurr. Pract. Exp..

[3]  Jeff Kramer,et al.  Distributed software engineering , 1994, Proceedings of 16th International Conference on Software Engineering.

[4]  Ivar Jacobson,et al.  Object-oriented software engineering - a use case driven approach , 1993, TOOLS.

[5]  Cherri M. Pancake,et al.  Where are we headed? , 1991, CACM.

[6]  Peter R. Croll,et al.  Modelling the client-server behaviour of parallel real-time systems using Petri nets , 1995, Proceedings of the Twenty-Eighth Annual Hawaii International Conference on System Sciences.

[7]  Paul T. Ward,et al.  The transformation schema: An extension of the data flow diagram to represent control and timing , 1986, IEEE Transactions on Software Engineering.

[8]  Ian Gorton,et al.  Engineering High Quality Parallel Software Using PARSE , 1994, CONPAR.

[9]  Peter H. Welch,et al.  Higher-Level Paradigms for Deadlock-Free High-Performance Systems , 1993 .

[10]  Chris Knowles,et al.  Parallel software development using an object-oriented modelling technique , 1994, Inf. Softw. Technol..

[11]  Andrew S. Grimshaw,et al.  Dynamic, object-oriented parallel processing , 1993, IEEE Parallel & Distributed Technology: Systems & Applications.

[12]  Hassan Gomaa Software design methods for concurrent and real-time systems , 1993, SEI series in software engineering.

[13]  Grady Booch,et al.  Object-Oriented Design with Applications , 1990 .

[14]  David C. DiNucci,et al.  Development of Portable Parallel Programs with Large-Grain Data Flow 2 , 1990, CONPAR.

[15]  Ian Gorton,et al.  Software engineering for parallel systems , 1994, Inf. Softw. Technol..

[16]  Ian Gorton,et al.  Designing parallel database programs using PARSE , 1993, Proceedings of 1993 IEEE 17th International Computer Software and Applications Conference COMPSAC '93.