03.08.2013 Views

PTOLEMY II - CiteSeerX

PTOLEMY II - CiteSeerX

PTOLEMY II - CiteSeerX

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

MoML<br />

instantiated in a model. Components can extend other components through an object-oriented<br />

inheritance mechanism.<br />

Semantics independence. MoML defines no semantics for an interconnection of components. It<br />

represents only the hierarchical containment relationships between entities with properties, their<br />

ports, and the connections between their ports. In Ptolemy <strong>II</strong>, the meaning of a connection (the<br />

semantics of the model) is defined by the director for the model, which is a property of the toplevel<br />

entity. The director defines the semantics of the interconnection. MoML knows nothing<br />

about directors except that they are instances of classes that can be loaded by the class loader and<br />

assigned as properties.<br />

7.2.1 Clustered Graphs<br />

A model is given as a clustered graph, which is an abstract syntax for representing netlists, state<br />

transition diagrams, block diagrams, etc. An abstract syntax is a conceptual data organization. A particular<br />

clustered graph configuration is called a topology. A topology is a collection of entities and<br />

relations. Furthermore, entities have ports and relations connect the ports. We consistently use the term<br />

connection to denote the association between connected ports (or their entities), and the term link to<br />

denote the association between ports and relations. Thus, a connection consists of a relation and two or<br />

more links.<br />

The concept of an abstract syntax can be contrasted with a concrete syntax, which is a persistent,<br />

readable representation of the data. For example, EDIF is a concrete syntax for representing netlists.<br />

MoML is a concrete syntax for the clustered graph abstract syntax. Furthermore, we use the visual<br />

notation shown in figure 7.3, where entities are depicted as rounded boxes, relations as diamonds, and<br />

entities as filled circles.<br />

The use of ports and hierarchy distinguishes our topologies from mathematical graphs. In a mathematical<br />

graph, an entity would be a vertex, and an arc would be a connection between entities. A vertex<br />

could be represented in our schema using entities that always contain exactly one port. In a directed<br />

graph, the connections are divided into two subsets, one consisting of incoming arcs, and the other of<br />

outgoing arcs. The vertices in such a graph could be represented by entities that contain two ports, one<br />

for incoming arcs and one for outgoing arcs. Thus, in mathematical graphs, entities always have one or<br />

two ports, depending on whether the graph is directed. Our schema generalizes this by permitting an<br />

entity to have any number of ports, thus dividing its connections into an arbitrary number of subsets.<br />

Entity<br />

Port<br />

FIGURE 7.3. Visual notation and terminology.<br />

Connection<br />

Link Link<br />

Relation<br />

Connection Connection<br />

Link<br />

Entity<br />

Entity<br />

194 Ptolemy <strong>II</strong><br />

Port<br />

Port

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!