Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to main content

Generating C Code from LOGS Specifications

  • Conference paper
Theoretical Aspects of Computing – ICTAC 2005 (ICTAC 2005)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 3722))

Included in the following conference series:

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Similar content being viewed by others

References

  1. Chen, Y.: A language of flexible objects. Technical Report 29, Department of Computer Science, Leicester University (2004)

    Google Scholar 

  2. Chen, Y., Sanders, J.W.: Top-down design of BSP programs. Parallel Processing Letters 13(3), 389–400 (2003)

    Article  MathSciNet  Google Scholar 

  3. Chen, Y., Sanders, J.W.: Logic of global synchrony. ACM Transactions on Programming Languages and Systems 26(2), 221–262 (2004)

    Article  Google Scholar 

  4. Cousot, P.: Types as abstract interpretations. In: Proceedings of POPL, pp. 316–331. ACM, New York (1997)

    Google Scholar 

  5. 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)

    Chapter  Google Scholar 

  6. 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)

    Google Scholar 

  7. 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)

    Chapter  Google Scholar 

  8. 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)

    Chapter  Google Scholar 

  9. Hill, J.M.D., et al.: BSPlib: The BSP programming library. Parallel Computing 24(14), 1927–2148 (1998)

    Article  MathSciNet  Google Scholar 

  10. Hoare, C.A.R., et al.: Laws of programming. Communications of the ACM 30(8), 672–686 (1987)

    Article  MATH  MathSciNet  Google Scholar 

  11. Hoare, C.A.R., He, J.: Unifying Theories of Programming. Prentice Hall, Englewood Cliffs (1998)

    Google Scholar 

  12. McColl, W.F.: Compositional systems. In: Symposium in Celebration of the work of C.A.R. Hoare (1999)

    Google Scholar 

  13. Valiant, L.G.: A bridging model for parallel computation. Communications of the ACM 33(8), 103–111 (1990)

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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)

Publish with us

Policies and ethics