Open Access Open Access  Restricted Access Subscription Access

Syntax and Semantics for Cinnamon Programming


Affiliations
1 Department of Software Engineering, Yaşar University, Izmir, Turkey
 

Cinnamons are a new computation model intended to form a theoretical foundation for Control Network Programming (CNP). CNP has established itself as a programming approach combining declarative and imperative features. It supports powerful tools for control of the computation process; in particular, these tools allow easy, intuitive, visual development of heuristic, nondeterministic, or randomized solutions. The paper providesrigorous definitions of the syntax and semantics of the new model of computation, at the same time trying to keep the intuition behind clear. The purposely simplified theoretical model is then compared to both WHILE-programs (thus demonstrating its Turing completeness), and the “real” CNP. Finally, future research possibilities are mentioned that would eventually extend the cinnamon programming and its theoretical foundation into the directions of nondeterminism, randomness and fuzziness.

Keywords

Control Network Programming, CNP, Programming Languages, Programming Paradigms, Computation Models, While Programs, Theoretical Computer Science, Recursive Automata, Nondeterminism, Semantics.
User
Notifications
Font Size

  • K. Kratchanov (2017), Cinnamons: A Computational Model Underlying Control Network Programming. In: Computer Science and Information Technology, v. 73, 7th Intl Conf. on Computer Science, Engineering & Applications (ICCSEA 2017), Copenhagen, Denmark (N. Meghanathan & D. Wyld – eds.), AIRCC Publ. Co., pp. 1-20. (http://airccj.org/CSCP/vol7/csit77301.pdf)
  • K. Kratchanov, E.Golemanova and T. Golemanov (2008),“Control Network Programming Illustrated: Solving Problems With Inherent Graph-Like Structure”, In: Proc. 7th IEEE/ACIS Int. Conf. on Computer and Information Science (ICIS 2008), May 2008, Portland, Oregon, USA, 453-459.
  • K. Kratchanov, E. Golemanova and T. Golemanov (2009),“Control Network Programs and Their Execution”, In: Proc. 8thWSEAS Int. Conf. on AI, Knowledge Engineering & Data Bases (AIKED ’09), Feb 2009, Cambridge, UK, 417-422.
  • K. Kratchanov, E. Golemanova, T. Golemanov and Y. Gökçen (2012),“Implementing Search Strategies in Winspider II: Declarative, Procedural, and Hybrid Approaches”, In: I. Stanev and K. Grigorova (eds.): Knowledge-Based Automated Software Engineering, Cambridge Scholars Publ., 115-135.
  • E. Golemanova (2013),“Declarative Implementations of Search Strategies for Solving CSPs in Control Network Programming”, WSEAS Transactions on Computers, 12 (4), 174-183.
  • K. Kratchanov, T. Golemanov, B. Yüksel and E. Golemanova (2014),“Control network programming development environments”,WSEAS Transactions on Computers, 13, 645-659.
  • T. Golemanov (2012), “SpiderSNP: An Integrated Environment for Visual Control Network Programming”, Annals of Ruse University, 51, ser. 3.2, 123-127 (in Bulgarian).
  • T. Golemanov (2014), Development and Study of an Integrated Development Environment for Control Network Programming, Ph.D. Dissertation, Ruse Univ.
  • K. Kratchanov, B. Yüksel, T. Golemanov, and E. Golemanova (2014), Learning Control Network Programming withthe Bouquet Cloud Compiler. In: Recent Advances in Educational Technologies and Education, Proc. 2014 Intl. Conf. on Educational Technologies and Education (ETE 2014), Interlaken, Switzerland, February 22-24, 2014, 29-36. Also: http://www.inase.org/library/2014/interlaken/bypaper/EDU/EDU-02.pdf
  • K.Kratchanov, T.Golemanov and E.Golemanova (2009). “Control Network Programming: Static Search Control with System Options”, In: Proc. 8thWSEAS Int. Conf. on AI, Knowledge Engineering & Data Bases (AIKED ’09), Feb 2009, Cambridge, UK, 423-428.
  • K.Kratchanov, T.GolemanovE.Golemanova and T.Ercan (2010),“Control Network Programming with SPIDER: Dynamic Search Control”, In: Knowledge-Based and Intelligent Information and Engineering Systems, Proc. 14thIntl. Conf. (KES 2010), Cardiff, UK, Sep 2010, Part II, Lect. Notes in Computer Science (Lect. Notes in Artificial Intelligence), v.6277, Springer, 253-262.
  • N. Jones (1997), Computability and Complexity from a Programming Perspective, MIT Press.
  • A. Kfoury, R. Moll and M. Arbib (1982, reprints 2011, 2013), A Programming Approach to Computability, Springer.
  • M. Fitting (1987), Computability Theory, Semantics, and Logic Programming, Oxford Univ. Press.
  • C. Moore and S. Martens (2011), The Nature of Computation, Oxford Univ. Press.
  • K. Slonneger and B. Kurtz (1995), Formal Syntax and Semantics of Programming Languages: A Laboratory Based Approach, Addison-Wesley.
  • O. Goldreich (2010), P, NP, and NP-Completeness: The Basics of Computational Complexity, Cambridge Univ. Press.
  • D. Kozen (2006), Theory of Computation, Springer.
  • W. Woods (1970), “Transition Network Grammars of Natural Language Analysis”, Comm. Of the ACM, 13, 591-606.
  • E. Popov and G. Firdman (1976), Algorithmic Foundations of Intelligent Robots and Artificial Intelligence, Nauka (in Russian).
  • A. Barr and E. Feigenbaum (eds.) (1981), The Handbook of Artificial Intelligence, v. 1, Pitman.
  • K. Kratchanov (1985), On the Foundations of Rule-Based Systems, Dpt. Comp. Sci. Techn. Report CSTR 34/85, Brunel Univ., Uxbridge, UK.
  • K. Gough (1988), Syntax Analysis and Software Tools, Addison-Wesley.
  • R. Alur, M. Benedikt, K. Etessami, P. Godefroid, T. Reps, and M. Yannakakis (2005), “Analysis of recursive state machines”,ACM Trans. on Programming Languages and Systems, 27(4):786–818.
  • I. Tellier (2006), “Learning Recursive Automata from Positive Examples”, RSTI – RIA – 20(2006) New Methods in Machine Learning, 775-804.
  • S. Chaudhuri (2008), “Subcubic Algorithms for Recursive State Machines”, https://www.cs.rice.edu/~sc40/pubs/popl08.pdf.
  • S. LaValle (2009), “Recursive Automata”, https://courses.engr.illinois.edu/cs373/fa2009/recaut.pdf.
  • K.Kratchanov, E.Golemanova, T.Golemanov and T,Ercan (2010), “Non-Procedural Implementation of Local Heuristic Search in Control Network Programming”, In: Knowledge-Based and Intelligent Information and Engineering Systems, Proc. 14thIntl. Conf. (KES 2010), Cardiff, UK, Sep 2010, Part II, Lect. Notes in Computer Science (Lect. Notes in Artificial Intelligence), v.6277, Springer, 263272.
  • K. Kratchanov, E. Golemanova, T. Golemanov and B. Külahçıoğlu (2012), “Using Control Network Programming in Teaching Nondeterminism”, In: Proc. 13thInt. Conf. on Computer Systems and Technologies (CompSysTech’12), Ruse, (B. Rachev, A. Smrikarov – eds.), ACM Press, New York, 391-398.
  • K. Kratchanov, E. Golemanova, T. Golemanov and B. Külahçıoğlu (2012),“Using Control Network Programming in Teaching Randomization”, In: Proc. Int. Conf. Electronics, Information and Communication Engineering, Macau (EICE 2012), ASME, 67-71.
  • E. Dijkstra (1975),“Guarded Commands, Nondeterminacy and Formal Derivations of Programs”, Comm. of the ACM, 18, 453-457. Also: E. Dijkstra. “Guarded Commands. Non-Determinacy and a Calculus for the Derivation of Programs” (EWD418), 1974 https://www.cs.utexas.edu/users/EWD/transcriptions/EWD04xx/EWD418.html
  • G. Mascari and M. Zilli (1985),“While Programs with Nondeterministic Assignments and the Logic ALNA”,Theoretical Computer Science, 40, 211-235.
  • J. van Leeuwen (Ed.) (1990, 1992), Handbook of Theoretical Computer Science, v. B: Formal Models and Semantics. Elsevier and MIT Press.
  • K. Apt, F, de Boer, E. Olderog (2010), Verification of Sequential and Concurrent Programs, 3rd ed., Springer.
  • K. Mamouras (2015),“Synthesis of Strategies and the Hoare Logic of Angelic Nondeterminism”, In: Foundations of Software Science and Computation Structures. 18thInt. Conf. FOSSACS 2015 Held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2015, London, 11-18 Apr 2015, Proc. LNCS 9034, Springer 2015 (A. Pitts – ed.), 25-40.
  • R. Motwani, P. Raghavan. Randomized Algorithms. Cambridge Univ. Press, 1995.
  • S. Arora, B. Barak. Computational Complexity: A Modern Approach, Cambridge Uni. Press, 2009.
  • D. Antonova, D. Kunkle. Theory of Randomized Computation. 2005. http://www.ccs.neu.edu/home/kunkle/papers/techreports/randAlgo.pdf.
  • K. Kratchanov (1985), Towards the Fundamentals of Fuzzy Rule-Based Systems, CSTR 35/85, Dept. Comp. Sci., Brunel Univ., Uxbridge, UK

Abstract Views: 305

PDF Views: 134




  • Syntax and Semantics for Cinnamon Programming

Abstract Views: 305  |  PDF Views: 134

Authors

Kostadin Kratchanov
Department of Software Engineering, Yaşar University, Izmir, Turkey

Abstract


Cinnamons are a new computation model intended to form a theoretical foundation for Control Network Programming (CNP). CNP has established itself as a programming approach combining declarative and imperative features. It supports powerful tools for control of the computation process; in particular, these tools allow easy, intuitive, visual development of heuristic, nondeterministic, or randomized solutions. The paper providesrigorous definitions of the syntax and semantics of the new model of computation, at the same time trying to keep the intuition behind clear. The purposely simplified theoretical model is then compared to both WHILE-programs (thus demonstrating its Turing completeness), and the “real” CNP. Finally, future research possibilities are mentioned that would eventually extend the cinnamon programming and its theoretical foundation into the directions of nondeterminism, randomness and fuzziness.

Keywords


Control Network Programming, CNP, Programming Languages, Programming Paradigms, Computation Models, While Programs, Theoretical Computer Science, Recursive Automata, Nondeterminism, Semantics.

References