Defining A Formal Semantics For The Rosetta Specification
نویسندگان
چکیده
The Rosetta systems level design language [1, 2] is an emerging standard designed to address the integration of information across domains. Specifically, Rosetta directly supports specifying and integrating models whose basic computation models differ due to technology domain. Rosetta achieves this by providing a framework where models of computation and domain specific information can be defined and organized into ontologies. Rosetta domains provide domain specific specification capability that allows the definition of basic semantic definition units, models of computation, and engineering design and analysis domains. Rosetta users then extend these domains to define specific system models and combine models for analysis using a specification algebra. Similar to all languages, Rosetta has a syntax and a semantics, where the syntax is given by a grammar and defines what expressions are valid, and its semantics gives meaning to the syntax. However, due to Rosetta’s capability for integrating multiple domains, its semantics is not fixed like for other languages. It varies with the domain. In this paper, we propose a formal semantics for the Rosetta specification language using a denotational approach. In a previous paper [7], we provided an overview of the Rosetta language. We presented our application of units of semantics, described several models of computation and defined the corresponding domains in Rosetta. We used existing relations between domains, mainly extensions, to build a semi-lattice. In this paper, we define a formal semantics for the language. We use a notion of decomposition of semantics into modules. A first semantic module defines denotational functions for the framework. These functions are then adapted to address the specifics of domains corresponding to units of semantics. A different semantic module is defined for each such unit of semantics. All models of computation whose domains extend the same unit of semantics use the same denotational functions. In the next section, we describe some of the terms we use in this paper. We then define the denotational functions that provide semantics to the Rosetta framework. The description of denotational functions for state-based and event-based units of semantics follows. We finally conclude the paper with some related work and future work.
منابع مشابه
Defining a Formal Coalgebraic Semantics for The Rosetta Specification Language
Rosetta is a systems level design language that allows algebraic specification of systems through facets. The usual approach to formally describe a specification is to define an algebra that satisfies the specification. Although it is possible to formally describe Rosetta facets with the use of algebras, we choose to use the dual of algebra, i.e. coalgebra, to do so. Coalgebras are particularly...
متن کاملFormal Semantics of Model Fields in Annotation-Based Specifications
It is widely recognized that abstraction and modularization are indispensable for specification of real-world programs. In source-code level program specification and verification, model fields are a common means for those goals. However, it remains a challenge to provide a wellfounded formal semantics for the general case in which the abstraction relation defining a model field is non-function...
متن کاملFormal Semantics of Model Fields in Annotation-based Specifications Inspired by a Generalization of Hilbert's Epsilon Terms
It is widely recognized that abstraction and modularization are indispensable for specification of real-world programs. In source-code level program specification languages, such as the Java Modeling Language (JML) [3], model fields [4] are a common means for achieving abstraction and information hiding. However, there is yet no well-defined formal semantics for the general case in which the ab...
متن کاملCategory Theoretic Approaches of Representing Precise UML Semantics
There have been a number of formal approaches for specifying UML semantics [2–4, 8– 11]. Unlike these approaches, the purpose of this position paper is to present a case for the community defining precise UML semantics to consider category theoretic approaches for representing UML semantics based on the authors actual experiences. Category theory has been gaining popularity for formal approache...
متن کاملAttribute Grammars
Attribute grammars are a framework for defining semantics of programming languages in a syntax-directed fashion. In this paper, we define attribute grammars, and then illustrate their use for language definition, compiler generation, definite clause grammars, design and specification of algorithms, etc. Our goal is to emphasize its role as a tool for design, formal specification and implementat...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2003