
The Rosetta Meta-Model Framework Cindy Kong and Perry Alexander The University of Kansas Dept of Electrical Engineering and Computer Science Information and Telecommunication Technology Center 2335 Irving Hill Road Lawrence, Kansas 66045 {ckong, alex}@ittc.ku.edu Abstract developed with such a goal in mind. It is geared to- wards system level design and provides a framework Heterogeneous systems are naturally complex and where ontologies of computational models can be de- their design is a tedious process. The modeling of com- fined. It also provides an interaction mechanism that ponents that constitute such a system mandates the use defines inter-domain impact. of different techniques. This gives rise to the problem of In this paper, we describe the Rosetta domain methodology integration that is needed to provide a con- framework and use it to define models of computation. sistent design. In this paper, we propose a meta-model We use the notion of a unifying semantic domain [8] framework that provides such an integration. The se- to provide a domain of discourse for models. A se- mantics of different computational models can be ex- mantic domain is called unifying when it is used to pressed and used together in the Rosetta framework. represent various design paradigms. We exploit rela- We use denotational semantics to define unifying se- tions between unifying semantic domains and models mantic domains, which are themselves extended to pro- to derive interaction models. As inter-domain interac- vide ontologies for models of computation. Interaction tions depend on the nature of models involved, their relations defined between models are then used to ex- derivation and definitions cannot be automated. It is ploit and analyze model integration. We demonstrate the domain designers’ responsibility to define such in- our approach by providing applications where different teraction models. However, an interaction model need computational models are used together. be defined only once. We present two unifying seman- tic domains, define a lattice of models of computation based on them, and express interactions between some 1. Introduction of these models. We demonstrate modeling capabili- ties in the design of a vending machine in CSP [16]. We also show composition and interaction in modeling The design of computer systems increasingly in- power consumed in a state-based timer model. volves integrating models with heterogeneous seman- tics. Today’s systems involve components implemented using technologies such as software, digital hardware, 2. The Rosetta Specification Language analog hardware, optics, and MEMS (Micro Electro Mechanical Systems), each with their own domain spe- System level modeling involves integrating domain- cific semantics. When integrating such components specific models into a consistent system model. This in analysis and synthesis activities, it is necessary to integration is not easy due to the possibility of bring together such disparate models to effectively pre- inter-domain interactions, where information from one dict performance properties. Thus, ontologies sup- domain-specific model impacts models from other do- porting the specification and integration of computa- mains. Rosetta attempts to address this problem di- tion models must be developed and supported in next- rectly in its domain representation semantics. Domains generation systems level design languages. define ontologies of computational models and design The Rosetta specification language [1, 2] is being paradigms. Systems are modeled by aspects, each as- pect representing a domain specific viewpoint. A sys- syntactic platform. Semantics used in facet specifica- tem model is then obtained by assembling these as- tions is provided in domains. Therefore, specifications pects with the use of interaction models. An interac- have different meanings depending on their domains. tion model specifies what information exchange occurs We use a denotational approach [3, 24] to describe between two domains. these domain semantics. The denotational approach In Rosetta, an aspect is called a facet. It represents provides semantic valuation functions to map syntac- the basic unit of modeling. Its specification consists of tic constructs to abstract values. Using different val- a signature, a domain, and terms. The signature con- uation functions thus gives different meanings to the sists of the name of the facet and a list of parameters. same construct. The domain that the facet extends provides a domain There are several ways for defining denotational of discourse for the facet. In other words, the facet uses semantics of a program. A common approach is items defined in the domain and adds additional prop- to provide partial functions or relations on program erties to them. Terms are used to express such prop- states [3, 24]. Each state defines values for the vari- erties. A facet can also create new items and again, ables in the program. A command in the program terms can be used to define their properties. Semantic then denotes a change in state. Lee and Sangiovanni- correctness is then defined as consistency of terms with Vincentelli [20] propose another approach to denota- respect to the specified domain. If no inconsistency is tional semantics based on signals. A program, or introduced by terms and declarations within the facet, rather, a process is represented by a partial function or then the facet definition is consistent. relation over signals. This approach to denotational se- Syntactically, as shown below, a facet has a label, mantics is specifically suited to modeling concurrency. a list of parameters, a list of declarations and a list of Program denotations into different representations terms. Declarations create constants, variables, func- give rise to the idea of making these representations tions, types and even other facets. Terms are boolean available at a higher level of abstraction. By mak- expressions that describe constraints on declared items, ing these representations available, we allow design- or define and include other facets to support structural ers to decide earlier on the best representations for definition. The :: operator indicates membership and their system specifications. We consider state based is used in declarations to provide type information. In and signal based semantics to represent unifying se- the case of a facet declaration, the domain the facet mantic domains [8] that we call units of semantics. extends provides the type information of the facet. A unifying semantic domain represents a set of seman- facet <facet-label> (<parameter-list>) tic objects that is used to represent several models of ::<domain-label> is computation. For example, the state based semantics <declarations> is used to express computational models such as finite begin state machines, sequential machines, continuous com- <terms> putation models and so on. The signal based semantics end facet <facet-label>; is used to express models such as CSP, Petri nets, and other concurrent models. Domains represent computation models and vocab- We use domains to contain the information relevant ularies for domain specifications. When writing a spec- to units of semantics, models of computation, design ification, a designer chooses a domain appropriate for paradigms, or engineering concepts. A domain pro- the model being constructed. The domain is extended vides an environment where new semantic definitions by adding declarations and terms that use the base do- can be defined for new or existing constructs. Addi- main’s predefined computational model. Alternatively, tional constraints can also be defined on existing se- designers can define their own domain by extending an mantics. Existing constructs or semantics need not be existing domain or start completely from scratch. The originally declared in the same domain. A domain is advantage of using an existing domain is reuse of the said to extend another one when it uses constructs and domain and its interactions with other domains. The semantics defined in that other domain. This notion of syntax for domains is similar to that of facets as do- extension is similar to that in the Java Programming mains are simply special facets. Language [12]. The extending domain can use defini- tions from the domain being extended. However, the 3. Domain Semantics extension is not always conservative. By adding new semantics or constraining previously defined ones, it is Although the Rosetta framework provides some se- possible to add properties that are inconsistent with mantics in the form of facet algebra, it is mainly a existing ones. Consistency is guaranteed only if the 2 state-based-semantics). Since each state is discrete, there exists an injective relation (or one-to-one rela- Extensions tion) between the set of states and the set of natural Homomorphisms logic numbers. A one-to-one relation involves a function fnc Partial Morphisms that maps a state to a natural number such that if two states are different, then they map to two different Unit of state−based−semantics signal−based−semantics numbers. Term d1 expresses this relation. There exists Semantics a function fnc, such that for any two states s1 and s2, if s1 and s2 are different, then their mappings under continuous discrete trace−based fnc are different. Model of CSP An example of a domain that extends the continuous−time Computation discrete−time signal-based unit of semantics is the csp domain. It uses items introduced in that parent domain such as: frequency finite−state Values type representing set of values associated with Engineering tags. RF digital sequential−machine synchronous Modeling Tags type representing the set of tags. Event constructed type that consists of a value and Figure 1. Lattice of Domains a tag. A specific instance of the type is given as event(t1, e1). Accessor functions are automat- ically generated to access each field of the con- properties added concern new syntactic constructs and structed type. Therefore, tag(event(t1,v1)) re- are consistent in themselves. turns t1 and value(event(t1,v1)) returns v1. Figure 1 shows the lattice of domains that is Signals type representing the set of signals.
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages8 Page
-
File Size-