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