xArch Families Extension Schema 1.0
Description: Models Acme families
The type system modeled by this extension serves a
significantly different purpose than the type systems typically
provided by programming languages, and as modeled in the structure
extension provided by UCI. Programming language type systems
are generally designed to provide statically-checkable guarantees of
run-time program behavior (e.g. to insure that a function will not
accidentally attempt to add a floating point value to an array of
strings). This type system, on the other hand, provides a form
of checkable redundancy that assures the design constraints for a
given type of design vocabulary are satisfied where that vocabulary is
used. The type system provides a mechanism for ensuring that a
system's fundamental design constraints are not violated as a
design evolves over time (e.g. through system maintenance, upgrades,
etc.).
Dependencies: Uses archinstance, properties
Change Log:
2001-2-16: Bradley Schmerl [schmerl@cs.cmu.edu]:
Initial release
2001-2-28: Bradley Schmerl [schmerl@cs.cmu.edu]:
Rearranged dependencies so that families
no longer depends on constraints
2001-3-5: Bradley Schmerl [schmerl@cs.cmu.edu]:
Redefined the Family type as an extension to
properties:archInstance, to allow for default
structure in families.
2001-3-28: Bradley Schmerl [schmerl@cs.cmu.edu]:
Added property, component, connector and interface
types declarations to TypedDesign
2001-7-13: Bradley Schmerl [schmerl@cs.cmu.edu]:
Corrected typos and validated with XML Spy 3.5
2001-9-21: Bradley Schmerl [schmerl@cs.cmu.edu]:
Changed Family so that it has default structure as
an included element, rather than Family being an extension
of ArchInstance. This makes it consistent with other
type definition. Thanks to Stephen Cook [s.c.cook@reading.ac.uk]
for pointing this out.