AGAPIA v0.1: A Programming Language for Interactive Systems and Its Typing System

A model (consisting of rv-systems), a core programming language (for developing rv-programs), several specification and analysis techniques appropriate for modeling, programming and reasoning about interactive computing systems have been recently introduced by Stefanescu using register machines and space-time duality, see [Stefanescu, G. Interactive systems with registers and voices. Fundamenta Informaticae 73 (2006), 285-306. (Early draft, School of Computing, National University of Singapore, July 2004.)]. After that, Dragoi and Stefanescu have developed structured programming techniques for rv-systems and their verification, see, e.g., [Dragoi, C., and G. Stefanescu. Structured programming for interactive rv-systems. Institute of Mathematics of the Romanian Academy, IMAR Preprint 9/2006, Bucharest 2006. Dragoi, C., and G. Stefanescu. Towards a Hoare-like logic for structured rv-programs. Institute of Mathematics of the Romanian Academy, IMAR Preprint 10/2006, Bucharest, 2006. Dragoi, C., and G. Stefanescu. Implementation and verification of ring termination detection protocols using structured rv-programs. Annals of University of Bucharest, Mathematics-Informatics Series, 55 (2006), 129-138. Dragoi, C., and G. Stefanescu. Structured interactive programs with registers and voices and their verification. Draft, Bucharest, January 2007. Dragoi, C., and G. Stefanescu. On compiling structured interactive programs with registers and voices. In: ''Proc. SOFSEM 2008,'' 259-270. LNCS 4910, Springer, 2008.]. In the present paper a kernel programming language AGAPIA v0.1 for interactive systems is introduced. The language contains definitions for complex spatial and temporal data, arithmetic and boolean expressions, modules, and while-programming statements with their temporal, spatial, and spatio-temporal versions. In AGAPIA v0.1 one can write programs for open processes located at various sites and having their temporal windows of adequate reaction to the environment. The main technical part of the paper describes a typing system for AGAPIA v0.1 programs.

[1]  Lmg Loe Feijs,et al.  Prisoner's dilemma in software testing , 2001 .

[2]  Viorel Preoteasa A Relation Between Unambiguous Regular Expressions and Abstract Data Types , 1999, Fundam. Informaticae.

[3]  Cristian S. Calude,et al.  Discrete Mathematics and Theoretical Computer Science , 2003, Lecture Notes in Computer Science.

[4]  Katsushi Inoue,et al.  A survey of two-dimensional automata theory , 1991, Inf. Sci..

[5]  Gheorghe Stefanescu,et al.  A sound spatio-temporal Hoare logic for the verification of structured interactive programs with registers and voices , 2008, ArXiv.

[6]  Radu Grosu,et al.  Mixed Relations as Enriched Semiringal Categories , 2000, J. Univers. Comput. Sci..

[7]  Gheorghe Ştefănescu,et al.  Implementation and verification of ring termination detection protocols using structured rv-programs , 2006 .

[8]  S Gheorghe,et al.  Towards a Floyd Logic for Interactive RV-Systems , 2004 .

[9]  Gheorghe Stefanescu,et al.  Towards a new algebraic foundation of flowchart scheme theory , 1990 .

[10]  William B. Ackerman,et al.  Scenarios: A Model of Non-Determinate Computation , 1981, ICFPC.

[11]  Gheorghe Stefanescu,et al.  Axiomatizing Mixed Relations , 1997, RelMiCS.

[12]  Bengt Jonsson,et al.  A fully abstract trace model for dataflow and asynchronous networks , 1994, Distributed Computing.

[13]  Ross Street,et al.  Traced monoidal categories , 1996 .

[14]  Gheorghe Stefanescu,et al.  Reaction and Control I. Mixing Additive and Multiplicative Network Algebras , 1998, Log. J. IGPL.

[15]  Virgil Emil Cazanescu,et al.  A General Result on Abstract Flowchart Schemes with Applications to the Study of Accessibility, Reduction and Minimization , 1992, Theor. Comput. Sci..

[16]  Martin Hofmann,et al.  Finite Dimensional Vector Spaces Are Complete for Traced Symmetric Monoidal Categories , 2008, Pillars of Computer Science.

[17]  J. Bergstra,et al.  Handbook of Process Algebra , 2001 .

[18]  Jan A. Bergstra,et al.  Process Algebra for Synchronous Communication , 1984, Inf. Control..

[19]  Manfred Broy,et al.  Trace-Oriented Models of Concurrency , 2001, Handbook of Process Algebra.

[20]  Manfred Broy,et al.  The algebra of stream processing functions , 2001, Theor. Comput. Sci..

[21]  Gheorghe Stefanescu,et al.  High-level Structured Interactive Programs with Registers and Voices , 2007, J. Univers. Comput. Sci..

[22]  Scott A. Smolka,et al.  Interactive Computation: The New Paradigm , 2006 .

[23]  Peter Wegner,et al.  Interactive , 2021, Encyclopedia of the UN Sustainable Development Goals.

[24]  Manfred Broy,et al.  Nondeterministic Data Flow Programs: How to Avoid the Merge Anomaly , 1988, Sci. Comput. Program..

[25]  Antonio Restivo,et al.  Monadic Second-Order Logic Over Rectangular Pictures and Recognizability by Tiling Systems , 1996, Inf. Comput..

[26]  Gheorghe Stefanescu,et al.  Interactive Systems with Registers and Voices , 2006, Fundam. Informaticae.

[27]  Fabio Gadducci,et al.  Rewriting on cyclic structures: Equivalence between the operational and the categorical description , 1999, RAIRO Theor. Informatics Appl..

[28]  Michel Latteux,et al.  Recognizable Picture Languages and Domino Tiling , 1997, Theor. Comput. Sci..

[29]  Michel Latteux,et al.  Context-Sensitive String Languages and Eecognizable Picture Languages , 1997, Inf. Comput..

[30]  Gul A. Agha,et al.  ACTORS - a model of concurrent computation in distributed systems , 1985, MIT Press series in artificial intelligence.

[31]  Oliver Matz,et al.  Regular Expressions and Context-Free Grammars for Picture Languages , 1997, STACS.

[32]  Grzegorz Rozenberg,et al.  Handbook of Formal Languages , 1997, Springer Berlin Heidelberg.

[33]  Gheorghe Stefanescu,et al.  Algebra of Networks , 2002 .

[34]  E. A. Ashcroft,et al.  LUCID: The data flow programming language , 1985 .

[35]  Fabio Gadducci,et al.  The tile model , 2000, Proof, Language, and Interaction.

[36]  Gheorghe Stefanescu On space-time duality in computing: Imperative programming versus wave computation , 1998, RelMiCS.

[37]  Gheorghe Ştefănescu,et al.  Structured programming for interactive rv-systems , 2006 .

[38]  Manfred Broy,et al.  Visual formalisms revisited , 1998, Proceedings 1998 International Conference on Application of Concurrency to System Design.

[39]  Sathya Peri,et al.  On Termination Detection in an Asynchronous Distributed System , 2004, PDCS.

[40]  真人 長谷川 Models of sharing graphs : a categorical semantics of let and letrec , 1999 .

[41]  Gheorghe Stefanescu,et al.  On Compiling Structured Interactive Programs with Registers and Voices , 2008, SOFSEM.

[42]  Jan A. Bergstra,et al.  Network algebra for asynchronous dataflow , 1997, Int. J. Comput. Math..

[43]  R. Bruni Tile Logic for Synchronized Rewriting of Concurrent Systems , 1999 .

[44]  Cristopher Moore,et al.  Complexity of Two-Dimensional Patterns , 1998 .

[45]  Benjamin C. Pierce,et al.  Types and programming languages: the next generation , 2003, 18th Annual IEEE Symposium of Logic in Computer Science, 2003. Proceedings..

[46]  Samson Abramsky,et al.  Retracing some paths in Process Algebra , 1996, CONCUR.

[47]  Antonio Restivo,et al.  Two-Dimensional Languages , 1997, Handbook of Formal Languages.

[48]  Robin Milner,et al.  Bigraphs and transitions , 2003, POPL '03.

[49]  William W. Wadge,et al.  Lucid, the dataflow programming language , 1985 .