Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1007/978-3-642-24206-9_16guideproceedingsArticle/Chapter ViewAbstractPublication PagesConference Proceedingsacm-pubtype
Article

Dedalus: datalog in time and space

Published: 16 March 2010 Publication History

Abstract

Recent research has explored using Datalog-based languages to express a distributed system as a set of logical invariants. Two properties of distributed systems proved difficult to model in Datalog. First, the state of any such system evolves with its execution. Second, deductions in these systems may be arbitrarily delayed, dropped, or reordered by the unreliable network links they must traverse. Previous efforts addressed the former by extending Datalog to include updates, key constraints, persistence and events, and the latter by assuming ordered and reliable delivery while ignoring delay. These details have a semantics outside Datalog, which increases the complexity of the language and its interpretation, and forces programmers to think operationally. We argue that the missing component from these previous languages is a notion of time.
In this paper we present Dedalus, a foundation language for programming and reasoning about distributed systems. Dedalus reduces to a subset of Datalog with negation, aggregate functions, successor and choice, and adds an explicit notion of logical time to the language. We show that Dedalus provides a declarative foundation for the two signature features of distributed systems: mutable state, and asynchronous processing and communication. Given these two features, we address two important properties of programs in a domain-specific manner: a notion of safety appropriate to non-terminating computations, and stratified monotonic reasoning with negation over time. We also provide conservative syntactic checks for our temporal notions of safety and stratification. Our experience implementing full-featured systems in variants of Datalog suggests that Dedalus is well-suited to the specification of rich distributed services and protocols, and provides both cleaner semantics and richer tests of correctness.

References

[1]
Abelson, H., Sussman, G. J. (eds.): Structure and Interpretation of Computer Programs, 2nd edn. McGraw Hill, New York (1996)
[2]
Alvaro, P., Condie, T., Conway, N., Elmeleegy, K., Hellerstein, J. M., Sears, R.C.: BOOMAnalytics: Exploring Data-centric, Declarative Programming for the Cloud. In: EuroSys (2010)
[3]
Alvaro, P., Condie, T., Conway, N., Hellerstein, J. M., Sears, R.: I Do Declare: Consensus in a logic language. In: NetDB (2009)
[4]
Ashley-Rollman, M. P., et al.: Declarative programming for modular robots. In:Workshop on Self-Reconfigurable Robots/Systems and Applications (2007)
[5]
Belaramani, N., Zheng, J., Nayate, A., Soulé, R., Dahlin, M., Grimm, R.: PADS: A policy architecture for distributed storage systems. In: NSDI (2009)
[6]
Bertino, E., Catania, B., Gori, R.: Enhancing the Expressive Power of the U-Datalog Language. Theory and Practice of Logic Programming 1(1), 105-122 (2001)
[7]
Chimenti, D., Gamboa, R., Krishnamurthy, R., Naqvi, S., Tsur, S., Zaniolo, C.: The LDL System Prototype. IEEE Trans. on Knowl. and Data Eng. 2(1), 76-90 (1990)
[8]
Chu, D.C., Popa, L., Tavakoli, A., Hellerstein, J. M., Levis, P., Shenker, S., Stoica, I.: The design and implementation of a declarative sensor network system. In: 5th ACM Conference on Embedded Networked Sensor Systems, SenSys (2007)
[9]
Cleary, J. G., Utting, M., Clayton, R.: Data Structures Considered Harmful. In: Australasian Workshop on Computational Logic (2000)
[10]
Derr, M. A., Morishita, S., Phipps, G.: The Glue-Nail Deductive Database System: Design, Implementation, and Evaluation. The VLDB Journal 3, 123-160 (1994)
[11]
Eisner, J., Goldlust, E., Smith, N. A.: Dyna: a declarative language for implementing dynamic programs. In: Proc. ACL (2004)
[12]
Georg Lausen, W. M., Ludäscher, B.: On active deductive databases: The statelog approach. In: Kifer, M., Voronkov, A., Freitag, B., Decker, H. (eds.) Dagstuhl Seminar 1997, DYNAMICS 1997, and ILPS-WS 1997. LNCS, vol. 1472, pp. 69-106. Springer, Heidelberg (1998)
[13]
Greco, S., Zaniolo, C.: Greedy Algorithms in Datalog with Choice and Negation. In: Proceedings of the Joint International Conference and Symposium on Logic Programming, pp. 294-309 (1998)
[14]
Jim, T.: Sd3: A trust management system with certified evaluation. In: IEEE Symposium on Security and Privacy, pp. 106-115 (2001)
[15]
Lam, M. S., Whaley, J., Livshits, V. B., Martin, M.C., Avots, D., Carbin, M., Unkel, C.: Context-sensitive program analysis as database queries. In: PODS (2005)
[16]
Lamport, L.: Time, Clocks, and the Ordering of Events in a Distributed System. Communications of the ACM 21(7), 558-565 (1978)
[17]
Lamport, L.: The temporal logic of actions. ACM Toplas 16(3), 872-923 (1994)
[18]
Li, N., Mitchell, J.: Datalog with constraints: A foundation for trust-management languages. In: Dahl, V. (ed.) PADL 2003. LNCS, vol. 2562, pp. 58-73. Springer, Heidelberg (2002)
[19]
Liu, M., Cleary, J.: Declarative Updates in Deductive Databases. Journal of Computing and Information 1, 1435-1446 (1994)
[20]
Loo, B. T., Condie, T., Garofalakis, M., Gay, D. E., Hellerstein, J. M., Maniatis, P., Ramakrishnan, R., Roscoe, T., Stoica, I.: Declarative Networking. Communications of the ACM52(11), 87-95 (2009)
[21]
Loo, B. T., Hellerstein, J. M., Stoica, I., Ramakrishnan, R.: Declarative routing: Extensible routing with declarative queries. In: SIGCOMM (2005)
[22]
Lu, L., Cleary, J. G.: An Operational Semantics of Starlog. In: Nadathur, G. (ed.) PPDP 1999. LNCS, vol. 1702, pp. 131-162. Springer, Heidelberg (1999)
[23]
Mao, Y.: On the declarativity of declarative networking. In: NetDB (2009)
[24]
Mullender, S. (ed.): Distributed Systems, 2nd edn. Addison-Wesley, Reading (1993)
[25]
Mumick, I. S., Shmueli, O.: How expressive is stratified aggregation? Annals of Mathematics and Artificial Intelligence 15(3-4), 407-435 (1995)
[26]
Navarro, J. A., Rybalchenko, A.: Operational Semantics for Declarative Networking. In: Gill, A., Swift, T. (eds.) PADL 2009. LNCS, vol. 5418, pp. 76-90. Springer, Heidelberg (2008)
[27]
Przymusinski, T.C.: On the Declarative Semantics of Deductive Databases and Logic Programs. In: Minker, J. (ed.) Foundations of Deductive Databases and Logic Programming, pp. 193-216. Morgan Kaufmann, Los Altos (1988)
[28]
Saraswat, V., Jagadeesan, R., Gupta, V.: Timed Default Concurrent Constraint Programming. Journal of Symbolic Computation 22(5-6), 475-520 (1996)
[29]
Saraswat, V. A., Jagadeesan, R., Gupta, V.: Foundations of Timed Concurrent Constraint Programming. In: LICS, pp. 71-80 (1994)
[30]
Ullman, J. D.: Principles of Database and Knowledge-Base Systems. The New Technologies, vol. II. W. H. Freeman & Co., New York (1990)
[31]
White, W., et al.: Scaling games to epic proportions. In: SIGMOD (2007)
[32]
Zhou, W., Mao, Y., Loo, B. T., Abadi, M.: Unified declarative platform for secure netwoked information systems. In: ICDE, pp. 150-161 (2009)

Cited By

View all
  • (2024)Efficient Enumeration of Recursive Plans in Transformation-Based Query OptimizersProceedings of the VLDB Endowment10.14778/3681954.368198617:11(3095-3108)Online publication date: 1-Jul-2024
  • (2024)A Typed Multi-level Datalog IR and Its Compiler FrameworkProceedings of the ACM on Programming Languages10.1145/36897678:OOPSLA2(1586-1614)Online publication date: 8-Oct-2024
  • (2024)Making Formulog Fast: An Argument for Unconventional Datalog EvaluationProceedings of the ACM on Programming Languages10.1145/36897548:OOPSLA2(1219-1248)Online publication date: 8-Oct-2024
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image Guide Proceedings
Datalog'10: Proceedings of the First international conference on Datalog Reloaded
March 2010
398 pages
ISBN:9783642242052
  • Editors:
  • Oege Moor,
  • Georg Gottlob,
  • Tim Furche,
  • Andrew Sellers

Sponsors

  • Springer
  • LogicBlox: LogicBlox Inc.
  • Oxford University Computing Laboratory: Oxford University Computing Laboratory
  • Semmle: Semmle Ltd.
  • Magdalen College: Magdalen College, Oxford

Publisher

Springer-Verlag

Berlin, Heidelberg

Publication History

Published: 16 March 2010

Author Tags

  1. datalog
  2. distributed systems
  3. logic programming
  4. temporal logic

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 23 Dec 2024

Other Metrics

Citations

Cited By

View all
  • (2024)Efficient Enumeration of Recursive Plans in Transformation-Based Query OptimizersProceedings of the VLDB Endowment10.14778/3681954.368198617:11(3095-3108)Online publication date: 1-Jul-2024
  • (2024)A Typed Multi-level Datalog IR and Its Compiler FrameworkProceedings of the ACM on Programming Languages10.1145/36897678:OOPSLA2(1586-1614)Online publication date: 8-Oct-2024
  • (2024)Making Formulog Fast: An Argument for Unconventional Datalog EvaluationProceedings of the ACM on Programming Languages10.1145/36897548:OOPSLA2(1219-1248)Online publication date: 8-Oct-2024
  • (2024)Object-Oriented Fixpoint Programming with DatalogProceedings of the ACM on Programming Languages10.1145/36897138:OOPSLA2(60-86)Online publication date: 8-Oct-2024
  • (2024)Separate Compilation and Partial Linking: Modules for Datalog IRProceedings of the 23rd ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences10.1145/3689484.3690737(94-106)Online publication date: 21-Oct-2024
  • (2024)Bigger, not Badder: Safely Scaling BFT ProtocolsProceedings of the 11th Workshop on Principles and Practice of Consistency for Distributed Data10.1145/3642976.3653033(30-36)Online publication date: 22-Apr-2024
  • (2024)Optimizing Distributed Protocols with Query RewritesProceedings of the ACM on Management of Data10.1145/36392572:1(1-25)Online publication date: 26-Mar-2024
  • (2024)CyberDS: Auditable Monitoring in the CloudComputer Safety, Reliability, and Security10.1007/978-3-031-68606-1_7(100-115)Online publication date: 17-Sep-2024
  • (2023)Towards Auto-Generated Data SystemsProceedings of the VLDB Endowment10.14778/3611540.361163516:12(4116-4129)Online publication date: 1-Aug-2023
  • (2023)Specification and Runtime Checking of Derecho, A Protocol for Fast Replication for Cloud ServicesProceedings of the 5th workshop on Advanced tools, programming languages, and PLatforms for Implementing and Evaluating algorithms for Distributed systems10.1145/3584684.3597275(1-10)Online publication date: 19-Jun-2023
  • Show More Cited By

View Options

View options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media