On the Implementation of a Cloud-Based Computing Test Bench Environment for Prolog Systems †
Abstract
:1. Introduction
2. Background
2.1. Logic Programming, Prolog and Tabling
2.2. Plugin Development and Security in Jenkins
- Security: enable.
- Jenkins’ own user database: allow users to sign up.
- Project-based Matrix Authorization Strategy: add the users with the desired permissions.
3. Yet Another Prolog Test Bench Environment
3.1. Cloud-Based Architecture
3.2. Services
4. Implementation Details
4.1. Job Scheduling
4.2. Our Plugin Approach to Integrate Jenkins with YAPTBE
4.2.1. Administrator Dashboard
4.2.2. Developer Dashboard
5. Test-Driving YAPTBE
6. Further Work
7. Conclusions
Acknowledgments
Author Contributions
Conflicts of Interest
References
- Myers, G.J.; Sandler, C.; Badgett, T. The Art of Software Testing, 3rd ed.; Wiley Publishing: Hoboken, NJ, USA, 2011. [Google Scholar]
- Duvall, P.; Matyas, S.M.; Glover, A. Continuous Integration: Improving Software Quality and Reducing Risk; The Addison-Wesley Signature Series; Addison-Wesley Professional: Boston, MA, USA, 2007. [Google Scholar]
- Zhou, N.F. The Language Features and Architecture of B-Prolog. Theory Pract. Log. Program. 2012, 12, 189–218. [Google Scholar] [CrossRef]
- Hermenegildo, M.V.; Bueno, F.; Carro, M.; López-García, P.; Mera, E.; Morales, J.F.; Puebla, G. An Overview of Ciao and its Design Philosophy. Theory Pract. Log. Program. 2012, 12, 219–252. [Google Scholar] [CrossRef]
- Somogyi, Z.; Sagonas, K. Tabling in Mercury: Design and Implementation. In Proceedings of the International Symposium on Practical Aspects of Declarative Languages, Charleston, SC, USA, 9–10 January 2006; Springer: Berlin/Heidelberg, Germany, 2006; pp. 150–167. [Google Scholar]
- Zhou, N.F.; Kjellerstrand, H.; Fruhman, J. Constraint Solving and Planning with Picat; Springer: Berlin/Heidelberg, Germany, 2015. [Google Scholar]
- Carlsson, M.; Mildner, P. SICStus Prolog—The first 25 years. Theory Pract. Log. Program. 2012, 12, 35–66. [Google Scholar] [CrossRef]
- Wielemaker, J.; Schrijvers, T.; Triska, M.; Lager, T. SWI-Prolog. Theory Pract. Log. Program. 2012, 12, 67–96. [Google Scholar] [CrossRef]
- Swift, T.; Warren, D.S. XSB: Extending Prolog with Tabled Logic Programming. Theory Pract Log. Program. 2012, 12, 157–187. [Google Scholar] [CrossRef]
- Santos Costa, V.; Rocha, R.; Damas, L. The YAP Prolog System. Theory Pract. Log. Program. 2012, 12, 5–34. [Google Scholar] [CrossRef]
- ISO. ISO/IEC 13211-1:1995: Information Technology—Programming Languages—Prolog—Part 1: General Core; ISO: Geneva, Switzerland, 1995; pp. 1–199. [Google Scholar]
- Wielemaker, J. SWI-Prolog version 7 extensions. In Proceedings of the International Joint Workshop on Implementation of Constraint and Logic Programming Systems and Logic-Based Methods in Programming Environments, Vienna, Austria, 17–18 July 2014; pp. 109–123. [Google Scholar]
- Wielemaker, J.; Costa, V.S. Portability of Prolog programs: Theory and case-studies. CoRR 2010, arXiv:1009.3796. [Google Scholar]
- Wielemaker, J.; Costa, V.S. On the Portability of Prolog Applications. In Proceedings of the 13th International Symposium on Practical Aspects of Declarative Languages, Austin, TX, USA, 24–25 January 2011; Springer: Berlin/Heidelberg, Germany, 2011; pp. 69–83. [Google Scholar]
- Bothe, K. A Prolog Space Benchmark Suite: A New Tool to Compare Prolog Implementations. SIGPLAN Not. 1990, 25, 54–60. [Google Scholar] [CrossRef]
- Haygood, R. A Prolog Benchmark Suite for Aquarius; Technical Report; University of California at Berkeley: Berkeley, CA, USA, 1989. [Google Scholar]
- Bagnara, R. China—A Data-Flow Analyzer for CLP Languages. Available online: http://www.cs.unipr.it/China/ (accessed on 5 March 2017).
- Liang, S.; Fodor, P.; Wan, H.; Kifer, M. OpenRuleBench: An Analysis of the Performance of Rule Engines. In Proceedings of the Internacional World Wide Web Conference, Madrid, Spain, 20–24 April 2009; ACM: New York, NY, USA, 2009; pp. 601–610. [Google Scholar]
- Areias, M.; Rocha, R. On Combining Linear-Based Strategies for Tabled Evaluation of Logic Programs. Theory Pract. Log. Program. 2011, 11, 681–696. [Google Scholar] [CrossRef]
- Areias, M.; Rocha, R. On Extending a Linear Tabling Framework to Support Batched Scheduling. In Proceedings of the Symposium on Languages, Applications and Technologies, Braga, Portugal, 21–22 June 2012; Simões, A., Queirós, R., Cruz, D., Eds.; 2012; pp. 9–24. [Google Scholar]
- Gonçalves, R.; Areias, M.; Rocha, R. Towards an Automated Test Bench Environment for Prolog Systems. In Proceedings of the Symposium on Languages, Applications and Technologies, Vila do Conde, Portugal, 26–27 June 2017. [Google Scholar]
- Armbrust, M.; Fox, A.; Griffith, R.; Joseph, A.D.; Katz, R.; Konwinski, A.; Lee, G.; Patterson, D.; Rabkin, A.; Stoica, I.; Zaharia, M. A View of Cloud Computing. Commun. ACM 2010, 53, 50–58. [Google Scholar] [CrossRef]
- Smart, J.F. Jenkins: The Definitive Guide; O’Reilly Media, Inc.: Sebastopol, CA, USA, 2011. [Google Scholar]
- Torvalds, L. Git—Version Control System. Available online: https://git-scm.com/ (accessed on 5 March 2017).
- Colmerauer, A.; Kanoui, H.; Pasero, R.; Roussel, P. Un système de Communication Homme-Machine en Français; Technical Report cri 72-18; Groupe Intelligence Artificielle, Université Aix-Marseille II: Marseille, France, 1973. [Google Scholar]
- Warren, D.H.D. An Abstract Prolog Instruction Set; Technical Note 309; SRI International: Menlo Park, CA, USA, 1983. [Google Scholar]
- Zhou, N.F. Parameter Passing and Control Stack Management in Prolog Implementation Revisited. ACM Trans. Program. Lang. Syst. 1996, 18, 752–779. [Google Scholar] [CrossRef]
- Demoen, B.; Nguyen, P. So Many WAM Variations, So Little Time. In Computational Logic; Springer: Berlin/Heidelberg, Germany, 2000; Volume 1861, pp. 1240–1254. [Google Scholar]
- Roy, P.V. 1983–1993: The wonder years of sequential Prolog implementation. J. Log. Program. 1994, 19, 385–441. [Google Scholar]
- Lloyd, J.W. Foundations of Logic Programming; Springer: Berlin/Heidelberg, Germany, 1987. [Google Scholar]
- Chen, W.; Warren, D.S. Tabled Evaluation with Delaying for General Logic Programs. J. ACM 1996, 43, 20–74. [Google Scholar] [CrossRef]
- Sagonas, K.; Swift, T. An Abstract Machine for Tabled Execution of Fixed-Order Stratified Logic Programs. ACM Trans. Program. Lang. Syst. 1998, 20, 586–634. [Google Scholar] [CrossRef] [Green Version]
- Zhou, N.F.; Shen, Y.D.; Yuan, L.Y.; You, J.H. Implementation of a Linear Tabling Mechanism. In Practical Aspects of Declarative Languages; Springer: Berlin/Heidelberg, Germany, 2000; pp. 109–123. [Google Scholar]
- De Guzmán, P.C.; Carro, M.; Hermenegildo, M.V. Towards a Complete Scheme for Tabled Execution Based on Program Transformation. In Proceedings of the International Symposium on Practical Aspects of Declarative Languages, Savannah, GA, USA, 19–20 January 2009; Springer: Berlin/Heidelberg, Germany, 2009; pp. 224–238. [Google Scholar]
- Rocha, R.; Silva, F.; Santos Costa, V. YapTab: A Tabling Engine Designed to Support Parallelism. In Proceedings of the Conference on Tabulation in Parsing and Deduction, Vigo, Spain, 19–21 September 2000; pp. 77–87. [Google Scholar]
- Moura, P. ISO/IEC DTR 13211-5:2007 Prolog Multi-Threading Predicates; Universidade da Beira Interior: Covilhã, Portugal, 2008. [Google Scholar]
- Areias, M.; Rocha, R. Towards Multi-Threaded Local Tabling Using a Common Table Space. J. Theory Pract. Log. Program. 2012, 12, 427–443. [Google Scholar] [CrossRef]
- Areias, M.; Rocha, R. On Scaling Dynamic Programming Problems with a Multithreaded Tabling System. J. Syst. Softw. 2017, 125, 417–426. [Google Scholar] [CrossRef]
© 2017 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).
Share and Cite
Gonçalves, R.; Areias, M.; Rocha, R. On the Implementation of a Cloud-Based Computing Test Bench Environment for Prolog Systems. Information 2017, 8, 129. https://doi.org/10.3390/info8040129
Gonçalves R, Areias M, Rocha R. On the Implementation of a Cloud-Based Computing Test Bench Environment for Prolog Systems. Information. 2017; 8(4):129. https://doi.org/10.3390/info8040129
Chicago/Turabian StyleGonçalves, Ricardo, Miguel Areias, and Ricardo Rocha. 2017. "On the Implementation of a Cloud-Based Computing Test Bench Environment for Prolog Systems" Information 8, no. 4: 129. https://doi.org/10.3390/info8040129
APA StyleGonçalves, R., Areias, M., & Rocha, R. (2017). On the Implementation of a Cloud-Based Computing Test Bench Environment for Prolog Systems. Information, 8(4), 129. https://doi.org/10.3390/info8040129