[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to main content

Algorithm Design Through the Optimization of Reuse-Based Generation

  • Conference paper
  • First Online:
Theoretical Computer Science (NCTCS 2020)

Part of the book series: Communications in Computer and Information Science ((CCIS,volume 1352))

Included in the following conference series:

Abstract

It has been suggested that the notion of reuse be introduced to the formal process of generating algorithms from their specifications so that the programs can be developed automatically with low costs. Through studying algorithm generation under guidance of formal method we develop reuse-based techniques for reliable algorithm generation by reusing subsets of formal processes. We formalize the concepts and definitions for the approach via the language of category theory. The proposed method minimizes the process for the generation of a series of reliable algorithms for problems with linear structures, and transfers algorithm design tasks into routine work that can be implemented automatically. Furthermore, under the proposed framework, a series of algorithm variants for an ordered searching problem and a new sorting algorithm are generated, which demonstrate the effectiveness of the technique as well as its capacity to produce new advanced algorithms that have different structures from existing ones.

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

Access this chapter

Subscribe and save

Springer+ Basic
£29.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Chapter
GBP 19.95
Price includes VAT (United Kingdom)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
GBP 35.99
Price includes VAT (United Kingdom)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
GBP 44.99
Price includes VAT (United Kingdom)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Similar content being viewed by others

References

  1. Hoare, T.: The verifying compiler: a grand challenge for computing research. J. ACM. 50(1), 63–69 (2003)

    Article  Google Scholar 

  2. Harel, D., Feldman, Y.: Algorithmics: The Spirit of Computing, 3rd edn. Addison-Wesley, Upper Saddle River (2004)

    MATH  Google Scholar 

  3. Hoare, C.A.R.: An axiomatic basis for computer programming. Commun. ACM 12(10), 576–585 (1969)

    Article  Google Scholar 

  4. Dijkstra, E.W.: A Discipline of Programmin. Prentice-Hall Inc, Upper Saddle River (1976)

    Google Scholar 

  5. Milner, R.: Fully abstract models of typed lambda-calculi. Theor. Comput. Sci. 4(1), 1–22 (1977)

    Article  Google Scholar 

  6. Pnueli, A.: The temporal logic of programs. In: Proceedings of the 18th IEEE. FOCS, pp. 46–57 (1977)

    Google Scholar 

  7. Gries, D.: The Science of Programming. Springer, New York (1981). https://doi.org/10.1007/978-1-4612-5983-1

    Book  MATH  Google Scholar 

  8. Gray, J.: What next? a dozen information-technology research goals. J. ACM. 50(1), 41–57 (2003)

    Article  Google Scholar 

  9. Selby, R.W.: Enabling reuse-based software development of large-scale systems. IEEE T. Software Eng. 31(6), 495–510 (2005)

    Article  Google Scholar 

  10. Franssen, M.: Cocktail: a Tool for Deriving Correct Programs. Ph.D. diss., Eindhoven University of Technology (2000)

    Google Scholar 

  11. Smith, D.R.: Generating Programs plus Proofs by Refinement. In: Meyer, B., Woodcock, J. (eds.) Verified Software: Theories, Tools, Experiments, pp. 182–188. Springer-Verlag, New York (2008). https://doi.org/10.1007/978-3-540-69149-5_20

    Chapter  Google Scholar 

  12. Yakhnis, V.R., Farrell, J.A., Shultz, S.S.: Deriving programs using generic algorithms. IBM Syst. J. 33(1), 158–181 (1994)

    Article  Google Scholar 

  13. Novak, G.: Software reuse by specialization of generic procedures through views. IEEE T. Software Eng. 23(7), 401–417 (1997)

    Article  Google Scholar 

  14. Zheng, Y., Xu, C., Xue, J.: A simple greedy algorithm for a class of shuttle transportation problems. Optim. Lett. 3(4), 491–497 (2009)

    Article  MathSciNet  Google Scholar 

  15. Gonçalves, J., Storer, R., Gondzio, J.: A family of linear programming algorithms based on an algorithm by von Neumann. Optim. Method. Softw. 24(3), 461–478 (2009)

    Article  MathSciNet  Google Scholar 

  16. Breitenreichera, D., Lellmanna, J., Schnörra, C.: COAL: a generic modelling and prototyping framework for convex optimization problems of variational image analysis. Optim. Method. Softw. 28(5), 1081–1094 (2013)

    Article  MathSciNet  Google Scholar 

  17. Idate, S., Patil, S.H., Mali, D.J.: Automated code generation using generative programming approach for a mathematical expression. In: Proceedings of the International Conference Systemics, Cybernetics and Informatics, pp. 134–137 (2008)

    Google Scholar 

  18. Nedunuri, S., Cook, W.R.: Synthesis of fast programs for maximum segment sum problems. In: Proceedings of the 8th International Conference on Generative Programming and Component Engineering, pp. 117–126 (2009)

    Google Scholar 

  19. Robidoux, R., Xu, H., Xing, L., Zhou, M.: Automated modeling of dynamic reliability block diagrams using colored petri nets. IEEE Trans. Syst. Man Cybern. A Syst. Hum. 40(2), 337–351 (2010)

    Google Scholar 

  20. Bolton, M.L., Siminiceanu, R.I., Bass, E.J.: A systematic approach to model checking human-automation interaction using task-analytic models. IEEE Trans. Syst. Man Cybern. A Syst. Hum. 41(5), 961–976 (2011)

    Google Scholar 

  21. Bolton, M.L., Bass, E.J., Siminiceanu, R.I.: Using formal verification to evaluate human-automation interaction: a review. IEEE Trans. Syst. Man Cybern. Syst. 43(3), 488–503 (2013)

    Google Scholar 

  22. Liu, Y.A.: Systematic Program Design— from Clarity to Efficiency. Cambridge University Press, Cambridge (2013)

    Google Scholar 

  23. Knuth, D.: The Art of Computer Programming, vol. 3: Sorting and Searching, third ed. Addison-Wesley, Massachusetts (1998)

    Google Scholar 

  24. Clark, K., Darlington, J.: Algorithm classification through synthesis. Comput. J. 23(1), 61–65 (1980)

    Article  MathSciNet  Google Scholar 

  25. Xue, J.: A unified approach for developing efficient algorithmic programs. J. Comput. Sci. Tech-CH. 12(4), 314–329 (1997)

    Article  MathSciNet  Google Scholar 

  26. Xue, J., Davis, R.: A derivation and proof of Knuth’s binary to decimal program. Software-Conc. Tool 18, 149–156 (1997)

    Google Scholar 

  27. Xue, J.: Formal derivation of graph algorithmic programs using partition-and-recur. J. Comput. Sci. Tech-CH. 13(6), 553–561 (1998)

    Article  MathSciNet  Google Scholar 

  28. Xue, J., Yang, B., Zuo, Z.: A linear in-situ algorithm for the power of cyclic permutation. In: Proceeding of the s 2nd International Frontiers. Algorithmics, pp. 113–123 (2008)

    Google Scholar 

  29. Xue, J., Zheng, Y., Hu, Q., et al.: PAR: a practicable formal method and its supporting platform. In: Sun, J., Sun, M. (eds.), ICFEM 2018. LNCS, vol. 11232. Springer, Cham (2018). https://doi.org/10.1007/978-3-030-02450-5_5

  30. Asperti, A., Longo, G.: Categories, Types and Structures: An Introduction to Category Theory for the Working Computer Scientist. MIT Press, Cambridge (1991)

    MATH  Google Scholar 

  31. Goguen, J.A.: A categorical manifesto. Math. Struct. Comput. Sci. 1, 49–67 (1991)

    Article  MathSciNet  Google Scholar 

Download references

Acknowledgments

This work was funded by the National Natural Science Foundation of China under Grant No.62062039, and the Natural Science Foundation of Jiangxi Province under Grant No.20202BAB202024.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Haihe Shi .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2021 Springer Nature Singapore Pte Ltd.

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Shi, H., Shi, H., Xu, S. (2021). Algorithm Design Through the Optimization of Reuse-Based Generation. In: He, K., Zhong, C., Cai, Z., Yin, Y. (eds) Theoretical Computer Science. NCTCS 2020. Communications in Computer and Information Science, vol 1352. Springer, Singapore. https://doi.org/10.1007/978-981-16-1877-2_2

Download citation

  • DOI: https://doi.org/10.1007/978-981-16-1877-2_2

  • Published:

  • Publisher Name: Springer, Singapore

  • Print ISBN: 978-981-16-1876-5

  • Online ISBN: 978-981-16-1877-2

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics