An overview of the K semantic framework

被引:255
作者
Rosu, Grigore [1 ]
Serbanuta, Traian Florin [1 ]
机构
[1] Univ Illinois, Dept Comp Sci, Urbana, IL 61801 USA
来源
JOURNAL OF LOGIC AND ALGEBRAIC PROGRAMMING | 2010年 / 79卷 / 06期
关键词
REWRITING LOGIC SEMANTICS; FORMAL ANALYSIS; P-SYSTEMS; MODEL;
D O I
10.1016/j.jlap.2010.03.012
中图分类号
学科分类号
摘要
K is an executable semantic framework in which programming languages, calculi, as well as type systems or formal analysis tools can be defined, making use of configurations, computations and rules. Configurations organize the system/program state in units called cells, which are labeled and can be nested. Computations carry "computational meaning" as special nested list structures sequentializing computational tasks, such as fragments of program; in particular, computations extend the original language or calculus syntax. K (rewrite) rules generalize conventional rewrite rules by making explicit which parts of the term they read, write, or do not care about. This distinction makes K a suitable framework for defining truly concurrent languages or calculi, even in the presence of sharing. Since computations can be handled like any other terms in a rewriting environment, that is, they can be matched, moved from one place to another in the original term, modified, or even deleted. K is particularly suitable for defining control-intensive language features such as abrupt termination, exceptions, or call/cc. This paper gives an overview of the K framework: what it is, how it can be used, and where it has been used so far. It also proposes and discusses the K definition of CHALLENGE, a programming language that aims to challenge and expose the limitations of existing semantic frameworks. (C) 2010 Elsevier Inc. All rights reserved.
引用
收藏
页码:397 / 434
页数:38
相关论文
共 43 条
[1]   A Tool for Automated Certification of Java']Java Source Code in Maude [J].
Alba-Castro, M. ;
Alpuente, M. ;
Escobar, S. ;
Ojeda, P. ;
Romero, D. .
ELECTRONIC NOTES IN THEORETICAL COMPUTER SCIENCE, 2009, 248 :19-29
[2]  
Alba-Castro M, 2008, LECT NOTES COMPUT SC, V4916, P200
[3]  
[Anonymous], 2001, ELECTRON NOTES THEOR, DOI DOI 10.1016/S1571-0661(04)00293-2
[4]   THE GAMMA MODEL AND ITS DISCIPLINE OF PROGRAMMING [J].
BANATRE, JP ;
LEMETAYER, D .
SCIENCE OF COMPUTER PROGRAMMING, 1990, 15 (01) :55-77
[5]  
Barbuti R, 2006, FUND INFORM, V72, P21
[6]   THE CHEMICAL ABSTRACT MACHINE [J].
BERRY, G ;
BOUDOL, G .
THEORETICAL COMPUTER SCIENCE, 1992, 96 (01) :217-248
[7]   Membrane systems with promoters/inhibitors [J].
Bottoni, P ;
Martín-Vide, C ;
Paun, G ;
Rozenberg, G .
ACTA INFORMATICA, 2002, 38 (10) :695-720
[8]  
CAVEL M, 2007, LECT NOTES COMPUT SC, V4350
[9]  
DANVY O, 2004, P 2 INT WORKSH RUL B
[10]  
EHRIG H, 1978, LNCS, V73, P1