PTOLEMY II - CiteSeerX
PTOLEMY II - CiteSeerX
PTOLEMY II - CiteSeerX
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