Negation as failure for first-order queries
PODS '86 Proceedings of the fifth ACM SIGACT-SIGMOD symposium on Principles of database systems
SIGNAL: A declarative language for synchronous programming of real-time systems
Proc. of a conference on Functional programming languages and computer architecture
LUSTRE: a declarative language for real-time programming
POPL '87 Proceedings of the 14th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Principles of database and knowledge-base systems, Vol. I
Principles of database and knowledge-base systems, Vol. I
Towards a theory of declarative knowledge
Foundations of deductive databases and logic programming
A logical language for data and knowledge bases
A logical language for data and knowledge bases
On the development of reactive systems
Logics and models of concurrent systems
The ESTEREL synchronous programming language: design, semantics, implementation
Science of Computer Programming
A calculus of mobile processes, II
Information and Computation
Semantics for update rule programs and implementation in a relational database management system
ACM Transactions on Database Systems (TODS)
ACM Computing Surveys (CSUR) - Special issue: position statements on strategic directions in computing research
KLAIM: A Kernel Language for Agents Interaction and Mobility
IEEE Transactions on Software Engineering
Workflow, transactions and datalog
PODS '99 Proceedings of the eighteenth ACM SIGMOD-SIGACT-SIGART symposium on Principles of database systems
Procedural and declarative database update languages
Proceedings of the seventh ACM SIGACT-SIGMOD-SIGART symposium on Principles of database systems
Database updates in logic programming
Proceedings of the seventh ACM SIGACT-SIGMOD-SIGART symposium on Principles of database systems
ACM Computing Surveys (CSUR)
Foundations of Databases: The Logical Level
Foundations of Databases: The Logical Level
Extending Datalog with Declarative Updates
Journal of Intelligent Information Systems
Transactions and Updates in Deductive Databases
IEEE Transactions on Knowledge and Data Engineering
Incremental Evaluation of Datalog Queries
ICDT '92 Proceedings of the 4th International Conference on Database Theory
On the Unification of Active Databases and Deductive databases
BNCOD 11 Proceedings of the 11th British National Conference on Databases: Advances in Databases
Architectural styles and the design of network-based software architectures
Architectural styles and the design of network-based software architectures
A foundation for actor computation
Journal of Functional Programming
Composable memory transactions
Proceedings of the tenth ACM SIGPLAN symposium on Principles and practice of parallel programming
Service-Oriented Architecture: Concepts, Technology, and Design
Service-Oriented Architecture: Concepts, Technology, and Design
Reactors: a data-oriented synchronous/asynchronous programming model for distributed applications
COORDINATION'07 Proceedings of the 9th international conference on Coordination models and languages
Links: web programming without tiers
FMCO'06 Proceedings of the 5th international conference on Formal methods for components and objects
COORDINATION'08 Proceedings of the 10th international conference on Coordination models and languages
Argos: an automaton-based synchronous language
Computer Languages
Enhancing a smart space with answer set programming
RuleML'10 Proceedings of the 2010 international conference on Semantic web rules
A rule-based language for web data management
Proceedings of the thirtieth ACM SIGMOD-SIGACT-SIGART symposium on Principles of database systems
Statelets: coordination of social collaboration processes
COORDINATION'12 Proceedings of the 14th international conference on Coordination Models and Languages
A balance of power: expressive, analyzable controller programming
Proceedings of the second ACM SIGCOMM workshop on Hot topics in software defined networking
Model-based, event-driven programming paradigm for interactive web applications
Proceedings of the 2013 ACM international symposium on New ideas, new paradigms, and reflections on programming & software
Hi-index | 5.23 |
Our aim is to define the kernel of a simple and uniform programming model-the reactor model-which can serve as a foundation for building and evolving internet-scale programs. Such programs are characterized by collections of loosely-coupled distributed components that are assembled on the fly to produce a composite application. A reactor consists of two principal components: mutable state, in the form of a fixed collection of relations, and code, in the form of a fixed collection of rules in the style of Datalog. A reactor's code is executed in response to an external stimulus, which takes the form of an attempted update to the reactor's state. As in classical process calculi, the reactor model accommodates collections of distributed, concurrently executing processes. However, unlike classical process calculi, our observable behaviors are sequences of states, rather than sequences of messages. Similarly, the interface to a reactor is simply its state, rather than a collection of message channels, ports, or methods. One novel feature of our model is the ability to compose behaviors both synchronously and asynchronously. Also, our use of Datalog-style rules allows aspect-like composition of separately-specified functional concerns in a natural way.