共查询到20条相似文献,搜索用时 343 毫秒
1.
We describe Gammalog, a logic language whose semantics is based on the chemical metaphor. The language combines the ability of describing coordination by transformation rules on a shared-dataspace, as in Gamma, with the execution model of logic programming. The main feature of Gammalog is that the declarative reading of programs is not restricted to the pure logic language but it also includes the coordination mechanisms. This feature makes Gammalog a promising alternative to other coordination models which can be embedded in logic programming. We present the language syntax, its formal semantics, and a prototype implementation based on Gödel, which inherits its strongly typed framework. As an example of the expressive power of the language we provide the specification of a simple operating system. 相似文献
2.
In this paper we explore the structure and applicability of the Distributed Measurement Calculus (DMC), an assembly language
for distributed measurement-based quantum computations. We describe the formal language’s syntax and semantics, both operational
and denotational, and state several properties that are crucial to the practical usability of our language, such as equivalence
of our semantics, as well as compositionality and context-freeness of DMC programs. We show how to put these properties to
use by constructing a composite program that implements distributed controlled operations, in the knowledge that the semantics
of this program does not change under the various composition operations. Our formal model is the basis of a quantum virtual
machine construction for distributed quantum computations, which we elaborate upon in the latter part of this work. This virtual
machine embodies the formal semantics of DMC such that programming execution no longer needs to be analysed by hand. Far from
a literal translation, it requires a substantial concretisation of the formal model at the level of data structures, naming
conventions and abstraction mechanisms. At the same time we provide automatisation techniques for program specification where
possible to obtain an expressive and user-friendly programming environment. 相似文献
3.
Lawry's label semantics for modeling and computing with linguistic information in natural language provides a clear interpretation of linguistic expressions and thus a transparent model for real‐world applications. Meanwhile, annotated logic programs (ALPs) and its fuzzy extension AFLPs have been developed as an extension of classical logic programs offering a powerful computational framework for handling uncertain and imprecise data within logic programs. This paper proposes annotated linguistic logic programs (ALLPs) that embed Lawry's label semantics into the ALP/AFLP syntax, providing a linguistic logic programming formalism for development of automated reasoning systems involving soft data as vague and imprecise concepts occurring frequently in natural language. The syntax of ALLPs is introduced, and their declarative semantics is studied. The ALLP SLD‐style proof procedure is then defined and proved to be sound and complete with respect to the declarative semantics of ALLPs. © 2010 Wiley Periodicals, Inc. 相似文献
4.
5.
Summary SEMANOL is a practical programming system for writing readable formal specifications of the syntax and semantics of programming languages. SEMANOL is based on a theory of semantics which embraces algorithmic (operational) and extensional (input/output) semantics. Specifications for large contemporary languages have been constructed in the formal language, SEMANOL (73), which is a readable high-level notation. A SEMANOL (73) specification can be executed (by an existing interpreter program); when given a program from the specified language, and its input, the execution of the SEMANOL (73) specification produces the program's output. The demonstrated executability of SEMANOL (73) provides important practical advantages. This paper includes discussions of the theory of semantics underlying SEMANOL, the syntax and semantics of the SEMANOL (73) language, the use of the SEMANOL (73) language in the SEMANOL method for describing programming languages, and the contrast between the Vienna definition method (VDL) and SEMANOL. 相似文献
6.
We present an explanation-oriented, domain-specific, visual language for explaining probabilistic reasoning. Explanation-oriented programming is a new paradigm that shifts the focus of programming from the computation of results to explanations of how those results were computed. Programs in this language therefore describe explanations of probabilistic reasoning problems. The language relies on a story-telling metaphor of explanation, where the reader is guided through a series of well-understood steps from some initial state to the final result. Programs can also be manipulated according to a set of laws to automatically generate equivalent explanations from one explanation instance. This increases the explanatory value of the language by allowing readers to cheaply derive alternative explanations if they do not understand the first. The language is composed of two parts: a formal textual notation for specifying explanation-producing programs and the more elaborate visual notation for presenting those explanations. We formally define the abstract syntax of explanations and define the semantics of the textual notation in terms of the explanations that are produced. 相似文献
7.
8.
A formal semantics for an active functional DBPL 总被引:1,自引:1,他引:0
Alexandra Poulovassilis Swarup Reddi Carol Small 《Journal of Intelligent Information Systems》1996,7(2):151-172
We describe how the functional database programming language PFL is extended with an active component without compromising either its declarative semantics or its syntax. We give a formal specification of the active component using PFL itself, including event specification and detection, parameter-binding, reaction scheduling and abort handling. We describe how a user-specified function can be cast as a primitive event, and discuss the expressiveness of events and the optimisation of event detection. 相似文献
9.
10.
Comprehending and debugging computer programs are inherently difficult tasks. The current approach to building program execution
and debugging environments is to use exclusively visual stimuli on programming languages whose syntax and semantics has often
been designed without empirical guidance. We present an alternative: Sodbeans, an open-source integrated development environment
designed to output carefully chosen spoken auditory cues to supplement empirically evaluated visual stimuli. Originally designed
for the blind, earlier work suggested that Sodbeans may benefit sighted programmers as well. We evaluate Sodbeans in two experiments.
First, we report on a formal debugging experiment comparing (1) a visual debugger, (2) an auditory debugger, and (3) a multimedia
debugger, which includes both visual and auditory stimuli. The results from this study indicate that while auditory debuggers
on their own are significantly less effective for sighted users when compared with visual and multimedia debuggers, multimedia
debuggers might benefit sighted programmers under certain circumstances. Specifically, we found that while multimedia debuggers
do not provide instant usability, once programmers have some practice, their performance in answering comprehension questions
improves. Second, we created and evaluated a pilot survey analyzing individual elements in a custom programming language (called
HOP) to garner empirical metrics on their comprehensibility. Results showed that some of the most widely used syntax and semantics
choices in commercial programming languages are extraordinarily unintuitive for novices. For example, at an aggregate level,
the word
for
, as in a
for
loop, was rated reliably worse than
repeat
by more than 673% by novices. After completing our studies, we implemented the HOP programming language and integrated it
into Sodbeans. 相似文献
11.
12.
Jeremy J. Carroll Christian Bizer Pat Hayes Patrick Stickler 《Journal of Web Semantics》2005,3(4):247-267
The Semantic Web consists of many RDF graphs nameable by URIs. This paper extends the syntax and semantics of RDF to cover such named graphs. This enables RDF statements that describe graphs, which is beneficial in many Semantic Web application areas. Named graphs are given an abstract syntax, a formal semantics, an XML syntax, and a syntax based on N3. SPARQL is a query language applicable to named graphs. A specific application area discussed in detail is that of describing provenance information. This paper provides a formally defined framework suited to being a foundation for the Semantic Web trust layer. 相似文献
13.
2APL: a practical agent programming language 总被引:3,自引:2,他引:1
Mehdi Dastani 《Autonomous Agents and Multi-Agent Systems》2008,16(3):214-248
This article presents a BDI-based agent-oriented programming language, called 2APL (A Practical Agent Programming Language).
This programming language facilitates the implementation of multi-agent systems consisting of individual agents that may share
and access external environments. It realizes an effective integration of declarative and imperative style programming by
introducing and integrating declarative beliefs and goals with events and plans. It also provides practical programming constructs
to allow the generation, repair, and (different modes of) execution of plans based on beliefs, goals, and events. The formal
syntax and semantics of the programming language are given and its relation with existing BDI-based agent-oriented programming
languages is discussed. 相似文献
14.
M.H. Williams 《Computer Languages, Systems and Structures》1981,6(1):1-17
The formal specification of a programming language involves the specification of three types of rules: syntax, static semantics and semantics. Various methods have been proposed for specifying the static semantic rules of programming languages, but as yet no method has received general acceptance. This paper looks at several different specification techniques and attempts to isolate the basic mechanisms used by each of them and explain the pattern of development of specification techniques for static semantics. 相似文献
15.
《Computer Languages, Systems and Structures》2002,28(3):289-305
The first language computer science students learn, more often than not, is a common production language such as C++ or Java. A minority of curricula, however, begin with a language, such as Scheme, assumed to be a better framework for teaching about computation. SWAY is an experimental teaching language, as expressive as Scheme, but provides an easier transition to production languages. It is a functional language at its core, but adds assignment and a simple object system. One of the goals of SWAY is to incorporate C-style syntax, but to vary from that syntax when pedagogical or ease of programming needs arise. One such area that SWAY differs from languages with C-like expressions is in the selection of items from homogeneous and heterogeneous aggregates. Much like the overloading of the plus operator to add integers as well as reals, a single operator is used for selection in SWAY, regardless of the aggregate structure. It is shown that taking such an approach naturally eases the burden of moving from arrays to objects to lists, in any order, both in teaching and programming. 相似文献
16.
Weidong Chen 《Knowledge and Data Engineering, IEEE Transactions on》1997,9(4):587-599
The paper presents a language of update programs that integrates logical queries, bulk updates and hypothetical reasoning in a seamless manner. There is no syntactic or semantic distinction between queries and updates. Update programs extend logic programs with negation in both syntax and semantics. They allow bulk updates in which an arbitrary update is applied simultaneously for all answers of an arbitrary query. Hypothetical reasoning is naturally supported by testing the success or failure of an update. We describe an alternating fixpoint semantics of update programs and show that it can express all nondeterministic database transformations 相似文献
17.
Barrett R. Bryant Balanjaninath Edupuganty Lee S. Hull 《Computer Languages, Systems and Structures》1986,11(3-4):173-191
Two-level grammars can define the syntax and the operational semantics of programming languages and these definitions are directly executable by interpretation. In this paper it is shown that axiomatic semantics can also be defined using a two-level grammar with the result being a partially automatic program verification system accomplished within the framework of a language definition. These results imply that a programming language can be defined operationally and axiomatically together in complementary definitions as advocated by Hoare and Lauer. Because two-level grammars are executable, these complementary definitions accomplish a system for interpreting and verifying programs. 相似文献
18.
The importance of formalising the specification of standards has been recognised for a number of years. This paper advocates the use of the formal specification language Object-Z in the definition of standards. Object-Z is an extension to the Z language specifically to facilitate specification in an object-oriented style. First, the syntax and semantics of Object-Z are described informally. Then the use of Object-Z in formalising standards is demonstrated by presenting a case study based on the ODP Trader. Finally, a formal semantics is introduced that suggests an approach to the standardisation of Object-Z itself. Because standards are typically large complex systems, the extra structuring afforded by the Object-Z class construct and operation expressions enables the various hierarchical relationships and the communication between objects in a system to be succinctly specified. 相似文献
19.
用带时钟变量的线性时态逻辑扩充Object-Z* 总被引:1,自引:0,他引:1
Object-Z是形式规格说明语言Z的面向对象扩充,适合描述大型面向对象软件规格说明,但它不能很好地描述连续性实时变量和时间限制。线性时态逻辑能够描述实时系统,但不能很好地处理连续时间关系,也不能很好地模块化描述形式规格说明。首先用时钟变量扩充线性时态逻辑,接着提出了一个方法——用带时钟变量的时态逻辑(LTLC)来扩充Object-Z。用LTLC扩充的Object-Z是一个模块化规格说明语言,是Object-Z语法和语义的最小扩充,其最大优点在于它能方便地描述和验证复杂的实时软件规格说明。 相似文献
20.
Kurt-Ulrich Witt 《Information Systems》1987,12(4):353-361
We propose a six-layer architecture for processing graph-grammar applications. The layers and the transformations between them are formally described and concepts for their implementation are given. Especially we introduce the syntax and semantics of a graph-grammar implementation language. Graph-grammar productions will be translated into programs of this language to have a basis for their implementation into programs written in commonly available programming languages. 相似文献