Skip to main content

\(\mathbb{K}\) Framework Distilled

  • Conference paper

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 7571))

Abstract

\(\mathbb{K}\) is a rewrite-based executable semantic framework in which programming languages, type systems, and formal analysis tools can be defined using configurations, computations and rules. Configurations organize the state in units called cells, which are labeled and can be nested. Computations are special nested list structures sequentializing computational tasks, such as fragments of program. \(\mathbb{K}\) (rewrite) rules make it explicit which parts of the term they read-only, write-only, read-write, or do not care about. This makes \(\mathbb{K}\) suitable for defining truly concurrent languages even in the presence of sharing. Computations are like any other terms in a rewriting environment: they can be matched, moved from one place to another, modified, or deleted. This makes \(\mathbb{K}\) suitable for defining control-intensive features such as abrupt termination, exceptions or call/cc. This paper presents an overview of \(\mathbb{K}\) Framework and the \(\mathbb{K}\) Tool, focusing on the interaction between the \(\mathbb{K}\) Tool and Maude.

This work is supported by Contract 161/15.06.2010, SMISCSNR 602-12516 (DAK).

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   49.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Roşu, G.: CS322, Fall 2003 - Programming Language Design: Lecture Notes. Technical Report UIUCDCS-R-2003-2897, University of Illinos at Urbana Champaign. Lecture notes of a course taught at UIUC (December 2003)

    Google Scholar 

  2. Roşu, G., Şerbănuţă, T.F.: An overview of the K semantic framework. Journal of Logic and Algebraic Programming 79(6), 397–434 (2010)

    Article  MathSciNet  MATH  Google Scholar 

  3. Serbanuta, T.F., Arusoaie, A., Lazar, D., Ellison, C., Lucanu, D., Rosu, G.: The K primer (version 2.5). In: Hills, M. (ed.) Proceedings of the Second International K Workshop, K 2011. Electronic Notes in Theoretical Computer Science (to appear, 2012)

    Google Scholar 

  4. Clavel, M., Durán, F., Eker, S., Lincoln, P., Martí-Oliet, N., Meseguer, J., Talcott, C.: All About Maude - A High-Performance Logical Framework. LNCS, vol. 4350. Springer, Heidelberg (2007)

    MATH  Google Scholar 

  5. Meseguer, J., Roşu, G.: Rewriting Logic Semantics: From Language Specifications to Formal Analysis Tools. In: Basin, D., Rusinowitch, M. (eds.) IJCAR 2004. LNCS (LNAI), vol. 3097, pp. 1–44. Springer, Heidelberg (2004)

    Chapter  Google Scholar 

  6. Meseguer, J., Roşu, G.: The rewriting logic semantics project. The rewriting logic semantics project 373(3), 213–237 (2007)

    MATH  Google Scholar 

  7. Meseguer, J., Roşu, G.: The Rewriting Logic Semantics Project: A Progress Report. In: Owe, O., Steffen, M., Telle, J.A. (eds.) FCT 2011. LNCS, vol. 6914, pp. 1–37. Springer, Heidelberg (2011)

    Chapter  Google Scholar 

  8. Lucanu, D., Şerbănuţă, T.F.: Cink - an exercise of thinking in K. Technical Report TR12-03, Department of Computer Science, Alexandru Ioan Cuza University of Iaşi (2012), http://thor.info.uaic.ro/~tr/tr.pl.cgi

  9. Meseguer, J.: Conditional rewriting logic as a unified model of concurrency. Theoretical Computer Science 96(1), 73–155 (1992)

    Article  MathSciNet  MATH  Google Scholar 

  10. Meseguer, J., Palomino, M., Martí-Oliet, N.: Equational abstractions. Theoretical Computer Science 403(2-3), 239–264 (2008)

    Article  MathSciNet  MATH  Google Scholar 

  11. Farzan, A., Chen, F., Meseguer, J., Roşu, G.: Formal Analysis of Java Programs in JavaFAN. In: Alur, R., Peled, D.A. (eds.) CAV 2004. LNCS, vol. 3114, pp. 501–505. Springer, Heidelberg (2004)

    Chapter  Google Scholar 

  12. Havelund, K., Pressburger, T.: Model checking Java programs using Java PathFinder. STTT 2(4), 366–381 (2000)

    Article  MATH  Google Scholar 

  13. Meseguer, J.: Rewriting Logic as a Semantic Framework for Concurrency: a Progress Report. In: Montanari, U., Sassone, V. (eds.) CONCUR 1996. LNCS, vol. 1119, pp. 331–372. Springer, Heidelberg (1996)

    Chapter  Google Scholar 

  14. Verdejo, A., Martí-Oliet, N.: Implementing CCS in Maude 2. In: Gadducci, F., Montanari, U. (eds.) Proceedings of the Forth International Workshop on Rewriting Logic and its Applications (WRLA 2002). Electronic Notes in Theoretical Computer Science, vol. 71. Elsevier (2002)

    Google Scholar 

  15. Şerbănuţă, T.F., Roşu, G., Meseguer, J.: A rewriting logic approach to operational semantics. Information and Computation 207, 305–340 (2009)

    Article  MathSciNet  MATH  Google Scholar 

  16. Kahn, G.: Natural Semantics. In: Brandenburg, F.J., Vidal-Naquet, G., Wirsing, M. (eds.) STACS 1987. LNCS, vol. 247, pp. 22–39. Springer, Heidelberg (1987)

    Chapter  Google Scholar 

  17. Plotkin, G.D.: A structural approach to operational semantics. Journal of Logic and Algebraic Programming 60-61, 17–139 (2004); Original version: University of Aarhus Technical Report DAIMI FN-19 (1981)

    Article  MathSciNet  Google Scholar 

  18. Mosses, P.D.: Modular structural operational semantics. Journal of Logic and Algebraic Programming 60-61, 195–228 (2004)

    Article  MathSciNet  Google Scholar 

  19. Wright, A.K., Felleisen, M.: A syntactic approach to type soundness. Information and Computation 115(1), 38–94 (1994)

    Article  MathSciNet  MATH  Google Scholar 

  20. Friedman, D.P., Wand, M., Haynes, C.T.: Essentials of Programming Languages, 2nd edn. MIT Press, Cambridge (2001)

    MATH  Google Scholar 

  21. Berry, G., Boudol, G.: The chemical abstract machine. Theoretical Computer Science 96(1), 217–248 (1992)

    Article  MathSciNet  MATH  Google Scholar 

  22. Danvy, O., Nielsen, L.R.: Refocusing in reduction semantics. RS RS-04-26, BRICS, DAIMI, Department of Computer Science, University of Aarhus, Aarhus, Denmark (November 2004); This report supersedes BRICS report RS-02-04. A preliminary version appears in the Informal Proceedings of the Second International Workshop on Rule-Based Programming, RULE 2001. Electronic Notes in Theoretical Computer Science, vol. 59.4

    Google Scholar 

  23. Şerbănuţă, T.F.: A Rewriting Approach to Concurrent Programming Language Design and Semantics. PhD thesis, University of Illinois at Urbana-Champaign (December 2010), https://www.ideals.illinois.edu/handle/2142/18252

  24. Arusoaie, A., Şerbănuţă, T.F., Ellison, C., Roşu, G.: Making Maude Definitions More Interactive. In: Durán, F. (ed.) WRLA 2012. LNCS, vol. 7571, pp. 83–98. Springer, Heidelberg (2012)

    Google Scholar 

  25. Ellison, C., Roşu, G.: An executable formal semantics of C with applications. In: Proceedings of the 39th Symposium on Principles of Programming Languages (POPL 2012), pp. 533–544. ACM (2012)

    Google Scholar 

  26. Regehr, J., Chen, Y., Cuoq, P., Eide, E., Ellison, C., Yang, X.: Test-case reduction for C compiler bugs. In: 33nd Conference on Programming Language Design and Implementation (PLDI 2012). ACM (to appear, 2012)

    Google Scholar 

  27. Meredith, P., Hills, M., Roşu, G.: An executable rewriting logic semantics of k-scheme. In: Dube, D. (ed.) Proceedings of the 2007 Workshop on Scheme and Functional Programming, SCHEME 2007, Technical Report DIUL-RT-0701, Laval University, pp. 91–103 (2007)

    Google Scholar 

  28. Rusu, V., Lucanu, D.: A K-Based Formal Framework for Domain-Specific Modelling Languages. In: Beckert, B., Damiani, F., Gurov, D. (eds.) FoVeOOS 2011. LNCS, vol. 7421, pp. 214–231. Springer, Heidelberg (2012)

    Chapter  Google Scholar 

  29. Rusu, V., Lucanu, D.: K semantics for OCL—a proposal for a formal definition for OCL. In: Hills, M. (ed.) Proceedings of the Second International K Workshop, K 2011. Electronic Notes in Theoretical Computer Science (to appear, 2012)

    Google Scholar 

  30. Şerbănuţă, T., Ştefănescu, G., Roşu, G.: Defining and Executing P Systems with Structured Data in K. In: Corne, D.W., Frisco, P., Păun, G., Rozenberg, G., Salomaa, A. (eds.) WMC 2008. LNCS, vol. 5391, pp. 374–393. Springer, Heidelberg (2009)

    Chapter  Google Scholar 

  31. Asavoae, M.: K semantics for assembly languages: A case study. In: Hills, M. (ed.) Proceedings of the Second International K Workshop, K 2011. Electronic Notes in Theoretical Computer Science (to appear, 2012)

    Google Scholar 

  32. Ellison, C., Şerbănuţă, T.F., Roşu, G.: A Rewriting Logic Approach to Type Inference. In: Corradini, A., Montanari, U. (eds.) WADT 2008. LNCS, vol. 5486, pp. 135–151. Springer, Heidelberg (2009)

    Chapter  Google Scholar 

  33. Roşu, G., Ellison, C., Schulte, W.: Matching Logic: An Alternative to Hoare/Floyd Logic. In: Johnson, M., Pavlovic, D. (eds.) AMAST 2010. LNCS, vol. 6486, pp. 142–162. Springer, Heidelberg (2011)

    Chapter  Google Scholar 

  34. Roşu, G., Ştefănescu, A.: Matching logic: A new program verification approach (NIER track). In: 30th International Conference on Software Engineering (ICSE 2011), pp. 868–871 (2011)

    Google Scholar 

  35. Asăvoae, I.M., Asăvoae, M.: Collecting Semantics under Predicate Abstraction in the K Framework. In: Ölveczky, P.C. (ed.) WRLA 2010. LNCS, vol. 6381, pp. 123–139. Springer, Heidelberg (2010)

    Chapter  Google Scholar 

  36. Asavoae, I.M., de Boer, F., Bonsangue, M.M., Lucanu, D., Rot, J.: Bounded model checking of recursive programs with pointers in k. In: WRLA (2012); as extended abstract in the ETAPS preproceedings

    Google Scholar 

  37. Asavoae, I.M., Asavoae, M., Lucanu, D.: Path directed symbolic execution in the k framework. In: Ida, T., Negru, V., Jebelean, T., Petcu, D., Watt, S.M., Zaharie, D. (eds.) SYNASC, pp. 133–141. IEEE Computer Society (2010)

    Google Scholar 

  38. Asavoae, I.M.: Abstract semantics for alias analysis in K. In: Hills, M. (ed.) K 2011. Electronic Notes in Theoretical Computer Science (to appear, 2012)

    Google Scholar 

  39. Asăvoae, M., Lucanu, D., Roşu, G.: Towards semantics-based WCET analysis. In: WCET (2011)

    Google Scholar 

  40. Roşu, G., Schulte, W., Şerbănuţă, T.F.: Runtime Verification of C Memory Safety. In: Bensalem, S., Peled, D.A. (eds.) RV 2009. LNCS, vol. 5779, pp. 132–151. Springer, Heidelberg (2009)

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2012 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Lucanu, D., Şerbănuţă, T.F., Roşu, G. (2012). \(\mathbb{K}\) Framework Distilled. In: Durán, F. (eds) Rewriting Logic and Its Applications. WRLA 2012. Lecture Notes in Computer Science, vol 7571. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-34005-5_3

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-34005-5_3

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-34004-8

  • Online ISBN: 978-3-642-34005-5

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics