This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Last revision Both sides next revision | ||
sysml-roadmap:systems_engineering_model_construction_focus_area [2017-05-02 18:21] roncwilliamson [1. Model Construction Functional Requirements for the Systems Modeling Environment (SME)] |
sysml-roadmap:systems_engineering_model_construction_focus_area [2017-05-02 18:43] roncwilliamson [4. Model Construction Concept Definitions] |
||
---|---|---|---|
Line 67: | Line 67: | ||
---- | ---- | ||
- | ===== March, 2017 - SysML 2.0 Model Construction RFP Requirements (updated at the March 2017 Reston worksop based on audience feedback)===== | + | ===== March, 2017 - SysML 2.0 Model Construction RFP Requirements (updated based on the March 2017 Reston workshop audience feedback)===== |
+ | |||
+ | Some of the feedback included. | ||
+ | * A core requirement is to create, update, and delete a data set with 1 or more data elements | ||
+ | * Replace the service requirement to import and transform multiple elements in batch mode with a transaction service. This includes a requirement to read a list of structured data elements and its associated schema, and another requirement to transform the structured data to model elements. | ||
+ | * When creating an element or other model construct, create the element id (i.e., UUID) | ||
+ | * When transforming structured data, optionally set the id depending on whether one is specified | ||
+ | * When deleting an element, ensure the final state is consistent with the deletion semantics. | ||
+ | * When deleting an element, retain and reserve its uuid. (This may be a model management function) | ||
+ | * Add a service requirement to apply a pattern. | ||
+ | * Consider how to construct models through elaboration and refinement to transition from one level of abstraction to another, while preserving the earlier abstraction. (Note: this may be considered a transformation of one abstraction level to another that can be viewed in different viewpoints.) | ||
+ | * Consider usability issues that were identified in the usability discussion below | ||
+ | |||
+ | Action: Ron to update model construction service requirements with pre and post conditions. Send requirements to Geoffrey Biggs and Andy Ko for review. | ||
Line 87: | Line 101: | ||
* SysML v2 shall provide the ability to create a set of model elements and other model constructs from an external source, and transforming the source data to the corresponding model elements or constructs being created. | * SysML v2 shall provide the ability to create a set of model elements and other model constructs from an external source, and transforming the source data to the corresponding model elements or constructs being created. | ||
* SysML v2 shall create the element id (e.e. UUID) when crating an element or other model construct. | * SysML v2 shall create the element id (e.e. UUID) when crating an element or other model construct. | ||
+ | * SysML v2 shall optionally set the element id depending on whether one is specified, when transforming structured data. | ||
* **1.3. Update** | * **1.3. Update** | ||
* SysML v2 shall provide the ability to update model elements and other model constructs interactively via Visualization Services using textual, graphical, and/or tabular entry. | * SysML v2 shall provide the ability to update model elements and other model constructs interactively via Visualization Services using textual, graphical, and/or tabular entry. | ||
Line 95: | Line 110: | ||
* SysML v2 shall preserve the unique identifiers (UUID) for the deleted model elements and constructs | * SysML v2 shall preserve the unique identifiers (UUID) for the deleted model elements and constructs | ||
* SysML v2 shall define model element and construct deletion semantics. | * SysML v2 shall define model element and construct deletion semantics. | ||
+ | * SysML v2 shall ensure the final state is consistent with the deletion semantics, when deleting a model element or construct. | ||
* **1.5 Apply** | * **1.5 Apply** | ||
* SysML v2 shall provide the ability to apply patterns, model library content, or other model element source data to the model under construction. | * SysML v2 shall provide the ability to apply patterns, model library content, or other model element source data to the model under construction. | ||
Line 100: | Line 116: | ||
* SysML v2 shall manage unique identifiers for all model elements and constructs. | * SysML v2 shall manage unique identifiers for all model elements and constructs. | ||
* SysML v2 shall provide a transaction mechanism for all operations on the system modeling environment. | * SysML v2 shall provide a transaction mechanism for all operations on the system modeling environment. | ||
+ | * SysML v2 shall consider how to construct models through elaboration and refinement to transition from one level of abstraction to another, while preserving the earlier abstraction. (Note: this may be considered a transformation of one abstraction level to another that can be viewed in different viewpoints.) | ||
+ | * SysML v2 shall consider usability issues as defined in the usability section of the SysML v2 RFP. | ||
==== 2. Model Construction Service Interface Requirement ==== | ==== 2. Model Construction Service Interface Requirement ==== | ||
Line 105: | Line 123: | ||
* Model construction services further specify each of the functions defined by the functional requirements above and provide a definition of the signatures associated with each of the functions. | * Model construction services further specify each of the functions defined by the functional requirements above and provide a definition of the signatures associated with each of the functions. | ||
* **2.2 Create** | * **2.2 Create** | ||
+ | * Pre Condition: Model element being created does not exist with the specified id (i.e. UUID) | ||
+ | * Post Condition: The model is updated to include the new model element and remains in a consistent state. | ||
* return value: Single UUID or collection of UUID's of the model elements that were created | * return value: Single UUID or collection of UUID's of the model elements that were created | ||
* Function Name: createModelElements | * Function Name: createModelElements | ||
Line 117: | Line 137: | ||
* **Example:** createModelElements( { {Attribute, String, Name, “MyName”}, {Attribute, String, Description, “My description”}, {Operation, Integer, Sum, {{myValue1, 10}, {myValue2, 20} } } }, {Relationship, Dependency, “my dependency”, aUUID } ) | * **Example:** createModelElements( { {Attribute, String, Name, “MyName”}, {Attribute, String, Description, “My description”}, {Operation, Integer, Sum, {{myValue1, 10}, {myValue2, 20} } } }, {Relationship, Dependency, “my dependency”, aUUID } ) | ||
* **2.3 Update** | * **2.3 Update** | ||
+ | * Pre Condition: Model element being updated exists with a uniue id. | ||
+ | * Post Condition: The model is updated to include the new model element updates and remains in a consistent state. | ||
* Return value: Single UUID or collection of UUID's of the model elements that were updated | * Return value: Single UUID or collection of UUID's of the model elements that were updated | ||
* Function Name: updateModelElements | * Function Name: updateModelElements | ||
Line 123: | Line 145: | ||
* **Example:** updateModelElements({{MyUUID, MyAttributeName1, NewValue1}, {MyUUID, MyAttributeName2, NewValue2}}) | * **Example:** updateModelElements({{MyUUID, MyAttributeName1, NewValue1}, {MyUUID, MyAttributeName2, NewValue2}}) | ||
* **2.4 Delete** | * **2.4 Delete** | ||
+ | * Pre Condition: Model element being deleted exists with a uniue id. | ||
+ | * Post Condition: The model is updated without the deleted element and remains in a consistent state. | ||
* Return value: Boolean (true if deleted successfully, false if error condition) | * Return value: Boolean (true if deleted successfully, false if error condition) | ||
* Function Name: deleteModelElements | * Function Name: deleteModelElements | ||
Line 129: | Line 153: | ||
* **Example:** first retrieve a collection of model element UUID's and then invoke the deleteModelElements service using the UUID collection as a parameter. | * **Example:** first retrieve a collection of model element UUID's and then invoke the deleteModelElements service using the UUID collection as a parameter. | ||
* **2.5 Apply** | * **2.5 Apply** | ||
+ | * Pre Condition: The pattern being applied is complete and self consistent. | ||
+ | * Post Condition: The model is updated to include the new pattern remains in a consistent state. | ||
* Return value: TBD | * Return value: TBD | ||
* Function Name: applySourceData | * Function Name: applySourceData | ||
Line 155: | Line 181: | ||
* External (Resource) Collection - A file based or database or link based mechanism to persist descriptions of model elements | * External (Resource) Collection - A file based or database or link based mechanism to persist descriptions of model elements | ||
* Transaction - A mechanism to ensure an operation applied to the SME maintains the SME in a consistent state. | * Transaction - A mechanism to ensure an operation applied to the SME maintains the SME in a consistent state. | ||
- | * Deletion Semantcs - The rules associated with deletion of model elments or constructs. | + | * Deletion Semantics - The rules associated with deletion of model elements or constructs. |
---- | ---- |