Abstract. This paper introduces DUALITY, a design model that provides
a more structured style of parallel programming and refines causal- ity from concurrency. We investigate semantic and syntactic transforma- tions that support identifying the structure of a parallel program, as the basis for reducing the design complexity. The initial focus is on specifi- cation and correctness, then gradually adding architectural details and finally addressing efficiency. A parallel program is viewed as a Meta- Program -the result of causally composing an architecture-independent algorithm -the specification, with an architecture-dependent program -the mapping. This approach supports the derivation of efficient parallel implementations from program specifications. Consequently, trans- parent and architecture-independent specifications can be transformed into forms that match particular target architectures. Correctness of the implementation is inferred from correctness of the specification, by gradually imposing temporal and causal order and by transforming any property of the specification into a property of the parallel program. DUALITY relates data and process parallelism and aims to reuse de- sign knowledge from sequential patterns. DUALITY is developed in the context of the UNITY formalism and the principle and algebraic laws of Communication Closed Layers (CCL), and illustrated through the algo- rithm of all-points shortest path.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Chandy, K., Misra, J.: Parallel Programs Design: A Foundation. Addison-Wesley, New York, N.Y.,(1988).
Bouge, Luc: The Data Parallel Programming Model: A Semantic Perspective. Research Report-96–27, LIP, Lyon, (1996).
Elrad, T., Francez, N.: Decomposition of Distributed Programs into Communication Closed Layers. Science of Programming, 2, N.H., (1982) 155–173
Elrad, T., K, Nambi, K.: Scheduling Cooperative Work: Viewing Distributed Systems as Both CSP and SCL. In Proceedings of the 13th International Conference on Distributed Computing Systems, Pittsburgh, May (1993)
Emerson, A.: Temporal and Modal Logic. Handbook of Theoretical Computer Science, Elsevier Science Publisher B.V., (1990)
Godefroid, P., Peled, D., Staskauskas, M.: Using Partial-Order Methods in the Formal Validation of Industrial Concurrent Programs. IEEE Transactions on Software Engineering, 2:7, (1996) 496-507
Janssen, W., Poel, M, Zwiers, J.: Actions System and Action Refinement in the Development of Parallel Systems. In Proc. of CONCUR’91, SpringerbooVerlag, LNCS 527, (1991) 298–316
Katz, S., Peled, D.: Interleaving Set Temporal Logic. Theoretical Computer Science, 75(2), (1990)
Poel, M, Zwiers, J.: Layering Techniques for Development of Parallel Systems. Proc. of ACM PODC, (1992)
Sanders, B., Meyer, D.: Composing Lead-to Properties. Technical Report, UFCISE, ftp://ftp.cise.ufl.edu/cis/tech-reports/tr96/tr96-013.ps, (1996)
Snyder, L.: Applications of the phase abstraction for portable and scalable parallel programming. Languages, Compilers and Run-Time Environments, (1992)
Stomp, F.A., de Roever, W.P.: Designing distributed algorithms by means of formally phased reasoning. Proc. of the 3rd International Workshop on Distributed Algorithms, LNCS 392, Springer-Verlag, (1989) 242–253
Warshall, S.: A Theorem on Boolean Matrices. Journal of the ACM, 9, (1962) 11–12
Zlatea, C., Elrad, T.: Brief Announcement: A Design Methodology for Mobile Distributed Applications based on UNITY Formalism and Communication Closed Layering, Proc. of 18th Symposium ACM PODC, Atlanta, May (1999)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1999 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Zlatea, C., Elrad, T. (1999). DUALITY: An Architecture Independent Design Model for Parallel Systems Based on Partial Order Semantics. In: Jayanti, P. (eds) Distributed Computing. DISC 1999. Lecture Notes in Computer Science, vol 1693. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-48169-9_16
Download citation
DOI: https://doi.org/10.1007/3-540-48169-9_16
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-66531-1
Online ISBN: 978-3-540-48169-0
eBook Packages: Springer Book Archive