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).
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
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)
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)
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)
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)
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)
Meseguer, J., Roşu, G.: The rewriting logic semantics project. The rewriting logic semantics project 373(3), 213–237 (2007)
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)
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
Meseguer, J.: Conditional rewriting logic as a unified model of concurrency. Theoretical Computer Science 96(1), 73–155 (1992)
Meseguer, J., Palomino, M., Martí-Oliet, N.: Equational abstractions. Theoretical Computer Science 403(2-3), 239–264 (2008)
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)
Havelund, K., Pressburger, T.: Model checking Java programs using Java PathFinder. STTT 2(4), 366–381 (2000)
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)
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)
Şerbănuţă, T.F., Roşu, G., Meseguer, J.: A rewriting logic approach to operational semantics. Information and Computation 207, 305–340 (2009)
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)
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)
Mosses, P.D.: Modular structural operational semantics. Journal of Logic and Algebraic Programming 60-61, 195–228 (2004)
Wright, A.K., Felleisen, M.: A syntactic approach to type soundness. Information and Computation 115(1), 38–94 (1994)
Friedman, D.P., Wand, M., Haynes, C.T.: Essentials of Programming Languages, 2nd edn. MIT Press, Cambridge (2001)
Berry, G., Boudol, G.: The chemical abstract machine. Theoretical Computer Science 96(1), 217–248 (1992)
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
Ş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
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)
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)
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)
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)
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)
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)
Ş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)
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)
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)
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)
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)
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)
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
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)
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)
Asăvoae, M., Lucanu, D., Roşu, G.: Towards semantics-based WCET analysis. In: WCET (2011)
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)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)