Abstract
This paper introduces a tool that automatically translates a concrete form of specifications into C code linked with BSPlib. The translation tool is rigorously developed with important safety properties proved. A Logs specification for Bulk-Synchronous Parallelism is a relation of an initial state, a final state and some intermediate states. Nondeterminism and parallelism correspond to disjunction and conjunction respectively. Various advanced specification commands can be derived from the basic ones. The translator checks syntax, freedom of communication interference, type consistency and communication dependencies before generating the target code. Static analysis (including both static checkings and translation) is presented in abstract interpretation. It is shown that a few laws are complete for transforming any specification into a normal form. These laws are satisfied by the abstract functions. We demonstrate the actual effects of the abstract functions by applying them on the normal form. The approach has been implemented using an object-oriented language.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Chen, Y.: A language of flexible objects. Technical Report 29, Department of Computer Science, Leicester University (2004)
Chen, Y., Sanders, J.W.: Top-down design of BSP programs. Parallel Processing Letters 13(3), 389–400 (2003)
Chen, Y., Sanders, J.W.: Logic of global synchrony. ACM Transactions on Programming Languages and Systems 26(2), 221–262 (2004)
Cousot, P.: Types as abstract interpretations. In: Proceedings of POPL, pp. 316–331. ACM, New York (1997)
Cousot, P.: Abstract interpretation based formal methods and future challenges. In: Wilhelm, R. (ed.) Informatics: 10 Years Back, 10 Years Ahead. LNCS, vol. 2000, pp. 138–156. Springer, Heidelberg (2001)
Cousot, P., Cousot, R.: Abstract interpretation: A unified lattice model for static analysis of programs by construction or approximation of fixedpoints. In: Proceedings of 4th POPL, pp. 238–252. ACM, New York (1977)
Fortune, S., Wyllie, J.: Parallelism in random access machines. In: 10th Annual ACM Symposium on Theory of Computing, pp. 114–118. ACM Press, New York (1978)
He, J., Miller, Q., Chen, L.: Algebraic laws for BSP programming. In: Fraigniaud, P., Mignotte, A., Robert, Y., Bougé, L. (eds.) Euro-Par 1996. LNCS, vol. 1124, pp. 359–367. Springer, Heidelberg (1996)
Hill, J.M.D., et al.: BSPlib: The BSP programming library. Parallel Computing 24(14), 1927–2148 (1998)
Hoare, C.A.R., et al.: Laws of programming. Communications of the ACM 30(8), 672–686 (1987)
Hoare, C.A.R., He, J.: Unifying Theories of Programming. Prentice Hall, Englewood Cliffs (1998)
McColl, W.F.: Compositional systems. In: Symposium in Celebration of the work of C.A.R. Hoare (1999)
Valiant, L.G.: A bridging model for parallel computation. Communications of the ACM 33(8), 103–111 (1990)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2005 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Zhou, J., Chen, Y. (2005). Generating C Code from LOGS Specifications. In: Van Hung, D., Wirsing, M. (eds) Theoretical Aspects of Computing – ICTAC 2005. ICTAC 2005. Lecture Notes in Computer Science, vol 3722. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11560647_13
Download citation
DOI: https://doi.org/10.1007/11560647_13
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-29107-7
Online ISBN: 978-3-540-32072-2
eBook Packages: Computer ScienceComputer Science (R0)