This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
sysml-roadmap:systems_engineering_model_construction_focus_area [2017-05-02 18:27] roncwilliamson [1. Model Construction Functional Requirements for the Systems Modeling Environment (SME)] |
sysml-roadmap:systems_engineering_model_construction_focus_area [2017-05-02 18:47] (current) roncwilliamson [March, 2017 - SysML 2.0 Model Construction RFP Requirements (updated based on the March 2017 Reston workshop audience feedback)] |
||
---|---|---|---|
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)===== |
+ | |||
+ | {{ :sysml-roadmap:sysml_v2_rfp_model_construction_requirement_may_2017.docx | May 2017 Model Construction Requiremnts Document}} | ||
+ | |||
+ | 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 102: | Line 118: | ||
* 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 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. | * SysML v2 shall consider usability issues as defined in the usability section of the SysML v2 RFP. | ||
Line 109: | Line 125: | ||
* 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 121: | Line 139: | ||
* **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 127: | Line 147: | ||
* **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 133: | Line 155: | ||
* **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 159: | Line 183: | ||
* 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. |
---- | ---- |