Multiplicity Proposal Multiplicity represents the how many in

  • Slides: 2
Download presentation
Multiplicity Proposal Multiplicity represents the “how many” in the question “do I want it,

Multiplicity Proposal Multiplicity represents the “how many” in the question “do I want it, and if so, how many? ” • Current – Composites have content that are either part of the Base. Content or is part of Selectable. Content. – For each instance of the solution being deployed from the SDD: • • • Base. Content is required (though conditions may disable some base content), and deploys once Selectable. Content is optional, and when selected, deploys once Issue – Some “components” of a solution can be deployed more than one time. • For example, multiple clients in a client / server application. – No way to declare which “components” can have multiple instances created. • Proposal – Declaring “how many” one wants is a “selectability” thingy. Thus, declaring the ability for multiplicity, should be in Selectable. Content. – Add the Declaration of Multiplicity to Features, i. e. a Feature can be selected more than once. • Multiplicity needs the ability to define a optional minimum and/or maximum. <complex. Type name="Feature. Type"> <sequence> <group ref="sdd-dd: Display. Element. Group" min. Occurs="0"/> <element name="Condition" type="sdd-dd: Condition. Type" min. Occurs="0"/> <element name="Multiplicity" type="sdd-dd: Multiplicity. Type" min. Occurs="0"/> <element name="Supported. Languages" type="sdd-dd: Supported. Languages. Type" min. Occurs="0"/> . . . </complex. Type> <complex. Type name="Multiplicity. Type"> <sequence> <element name="constrained. Feature. Selection" type="sdd-dd: Feature. Reference. Type" min. Occurs="0" max. Occurs="unbounded"/> <element name="constrained. Content. Parameter. Value" type="sdd-dd: Content. Parmameter. Reference. Type" min. Occurs="0" max. Occurs="unbounded"/> </sequence> <attribute name="multiples. Allowed" type="boolean" fixed="true" use="required"/> <attribute name="Minimum. Selections" type="positive. Integer" default="1" use="optional"/> <attribute name="Maximum. Selections" type="positive. Integer" use="optional"/> </complex. Type>

Multiplicity Proposal – New Issues • When adding support for multiplicity, the following issues

Multiplicity Proposal – New Issues • When adding support for multiplicity, the following issues arise: 1. 2. Features are optional. What about multiplicity for required “components”? When deploying multiple instances of a “component”, ALL instances might need to have similar properties. This can be either: • • • Similar selection of “nested features Value for a parameter for the content that provides this feature. Proposal – Issue #1 • Add “required” attribute to top-level features. • Rename contained or nested features to Nested. Feature – – This should be used only for those features with multiplicity (otherwise it belongs in Base. Content) Issue #2 • Add elements to the Multiplicity. Type to define any “nested features” or “content parameters” have to be like for all instances. Issue #1 <complex. Type name="Feature. Type"> <simple. Content> <extension base="sdd-dd: Nested. Feature. Type"> <attribute name="required" type="boolean" use="optional" default="false"/> </extension> </simple. Content> </complex. Type> <complex. Type name="Nested. Feature. Type"> <sequence> <group ref="sdd-dd: Display. Element. Group" min. Occurs="0"/> <element name="Condition" type="sdd-dd: Condition. Type" min. Occurs="0"/>. . . </complex. Type> Issue #2 <complex. Type name="Multiplicity. Type"> <sequence> <element name="constrained. Feature. Selection" type="sdd-dd: Feature. Reference. Type" min. Occurs="0" max. Occurs="unbounded"/> <element name="constrained. Content. Parameter. Value" type="sdd-dd: Content. Parmameter. Reference. Type" min. Occurs="0" max. Occurs="unbounded"/> </sequence> <attribute name="multiples. Allowed" type="boolean" fixed="true" use="required"/> <attribute name="Minimum. Selections" type="positive. Integer" default="1" use="optional"/> <attribute name="Maximum. Selections" type="positive. Integer" use="optional"/> </complex. Type>