====== SysML and AP233 Mapping Activity ====== This activity is being performed as part of a larger project between NIST and Eurostep to investigate suitability of %%OMG%%'s MDA for use by %%ISO%% TC184-SC4's standards, notably the family of STEP standards (%%ISO%% 10303). SysML is a graphical modeling language. AP233, formally %%ISO%% 10303-233: Systems engineering, is a data exchange format. The diagram below illustrates the topical areas where there is common data between AP233 and SysML. \\ {{sysml-ap233:sysml-ap233_venn_diagram.png}} The mappings are being produced in a series of Workshops with SysML and AP233 experts. ====== Workshops ====== == Workshop on Structures 01/09 == A working session on this activity was held at the International Workshop of the International Council on Systems Engineering (INCOSE) at a San Francisco airport hotel on 31 January 2009. The workshop focus was SysML Blocks and related features and their mapping into AP233 structures. The results of the workshop are available in {{sysml-ap233:sysml-ap233-mapping-workshop-20090131-results.ppt|this presentation}}. Other progress as of March 2, 2009: * Some work has started making AP233 %%XML%% data file examples. * We are working with Peter Denno at NIST in an effort to get a QVT tool set up for this project. == Workshop on Activities 03/09 == A workshop was held on Sunday, March 23, 2009 at the in Washington, D.C. %%OMG%% Technical Meeting. Results of this workshop will be available shortly. Project status report March 24, 2009 to %%OMG%% SE DSIG is available in {{sysml-ap233:sysml-ap233-mapping-status-march-2009-omg.ppt|this presentation}}. == Mapping Review Workshop 06/09 == A workshop was being held on Friday, June 26, 2009 at the San Jose, Costa Rica %%OMG%% Technical Meeting. Project status report June 23, 2009 to %%OMG%% SE DSIG is available in {{sysml-ap233:sysml-ap233-mapping-status-june-2009-omg.ppt|this presentation}}. The results of this workshop (i.e. the overview of the mappings, issues and actions) are documented in this wiki now. == Mapping review at INCOSE IW 2010 == A worksop was held on Monday, 8 February 2010 at the INCOSE IW held in Mesa Arizona USA. Project status report 8 February, 2010 to INCOSE MDSD is available in {{sysml-ap233:incose-sysml-ap233-mapping-2010-02.ppt|this presentation}}. == SysML Model management including Mapping review at INCOSE IS 2010 == A workshop was held on Sunday, 11 July 2010 at trhe INCOSE IS held in Chicago, USA. A presentation on the use of AP233 to support Configuration/change management of SysML models as presented at the meeting is available {{sysml-ap233:ap233_based_cm_for_sysml.pptx|here}}. Files used in the demonstration are available. ^ SysML file ^ AP233 file ^ Description ^ | {{sysml-ap233:structuredemo.xmi|structuredemo.xmi}} | {{sysml-ap233:structuredemo.xml|structuredemo.xml}} | Initial structure file | | {{sysml-ap233:reqmtdemo.xmi|reqmtdemo.xmi}} | {{sysml-ap233:reqmtdemo.xml|reqmtdemo.xml}} | Requirement file that has a block in common with structure file | | {{sysml-ap233:structuredemo-new.xmi|structuredemo-new.xmi}} | {{sysml-ap233:structuredemo-new.xml|structuredemo-new.xml}} | Updated structure file one block changed | | N/A | TBD | Combined file giving history of structure and linked requirements | ====== Blocks Mapping ====== ^ SysML ^ AP233 ^ | Block | System _view_definition → System_version → System | | Composition Association | Assembly_component_relationship relating two System_view_definitions | | Generalization| View_definition_relationship + Classification ('Generalization') | | Part/Part Definition | View_definition_relationship | | Nested Part | Component_upper_level_identification | | Multiplicity | Next_assembly_usage.quantity | | Connector | Interface_connection | | Port/Port Definition | Interface_connector | | Delegation Port | Hierarchical_interface_connector | ====== Value Property Mapping ====== ^ SysML ^ AP233 ^ | Property not an association end, with type, owned by Block | Block : Assigned_property → System_view_definition | | Type of Property | Assigned_property ← Property_value_representation → Representation + Representation_item | | Value Specification | Any_number_value ← Value_with_unit → Unit | ====== Constraint Blocks Mapping ====== constraint block and all related concepts are purely stereotypes extending blocks and its related concepts so the mapping for blocks applies but with additional/different external classes representing the stereotypes constraint body and language is the one additional concept is ap233 general model parameter useful or should we use normal assignment of property ^ SysML ^ AP233 ^ | Constraint Block | System _view_definition → System_version → System | | Constraint Parameters | Block : Assigned_property → System_view_definition | - same as value properties | Constraint Body and Language | Text_expression_representation + Classification (language value) ... System_view_definition | | Binding Connector | Interface_connection | | Parameters | Interface_connector | ====== Activities Mapping ====== ^ SysML ^ AP233 ^ | Activity | Task_step | | Action, Call Behavior Action | Task_step, Task_step_hierarchy | | Object Nodes | Task_IO | | Control Nodes | Multidecision_element, Concurrent_element | | Object Flows | Task_IO_relationships | | Control Flows | Structured_task_element subtypes | | Activity Parameter | Task IO | | Activity Partition | Group | ====== Interactions Mapping ====== Will be left for a future workshop -- complex will likely take most of a day ====== State Machines Mapping ====== ^ SysML ^ AP233 ^ | State Machine, Region| Behaviour <- Behaviour_version <- Behaviour_view_definition + Classification ('StateMachine'), Classification ('Region') | | State | State_definition (Behaviour) | | FinalState, PseudoState | State_definition + Classification ('FinalState'), Classification ( PseudostateKind value ) | | State entry, exit, doActivity | Activity_method or Task <- Activity_method_assignment -> State_definition | | State deferrable_trigger | Event <- Event_assignment -> State_definition | | Transition | State_transition_definition | | Transition trigger | Event <- Event_assignment -> State_transition_definition | | Transition guard | Condition <- Condition_assignment -> State_transition_definition | | Constraint | Text_expression <- Text_expression_Assignment -> State_transition_definition | ====== Use Cases Mapping ====== ^ SysML ^ AP233 ^ | Use Case | Behaviour_view_definition → Behaviour_version → Behaviour | | <> | View_definition_relationship + Classification ('extend') | | Actor | System (Same as block) | | <> | View_definition_relationship + Classification ('include') | | Actor to Use Case | View_definition_relationship | | Generalization | View_definition_relationship | | Subject | System (Same as block) | | Extension Point | TBD | ====== Requirements Mapping ====== ^ SysML ^ AP233 ^ | Requirement | Requirement_view_definition → Requirement_version → Requirement | | Containment | Requirement_collection_relationship | | Allocate | View_definition_relationship + Classification (‘Allocate') | | Satisfy | Requirement_satisfied_by | | Verify, Refine | View_definition_relationship where one end must be a requirement| | Copy, Derive | Requirement_view_definition_relationship + Classification (‘Copy’, ‘Refine') | | Trace | View_definition_relationship + Classification ('Trace') | | Trace between Requirements| Tracing_relationship | | Text | Requirement View Definition ← Single_property_is_definition → Property_representation → Representation → String_representation_item | ====== Packages and metadata Mapping ====== ^ SysML ^ AP233 ^ | Package | Collection_view_definition → Collection_version → Collection + Classification ('Package') | | Containment | Collection_membership | | Model | Collection_view_definition → Collection_version → Collection + Classification ('Model') | | XMI file | Digital_file → Digital_document_definition → Document_version → Document | | Model in file | Collection_assignment between Collection representing model and Digital_document_definition for the file | ====== Issue Log ====== ^ ID ^ Issue ^ Assigned To ^ Resolution ^ | 01 | SysML Connector can be typed by an Association | | | | 02 | SysML Multiplicity of Part/PartDefinition can be a Range which may be a problem for AP233. | | | | 03 | SysML/UML Associations and both Ends may be named. | | | | 04 | SysML requires Connections in a context. AP233 requires no such context. | | | | 05 | AP233 Interface Connection requires Next Assembly Usage to be a subtype of View Definition Relationship. | | | | 06 | SysML Ports as properties of Parts. AP233 use of term “Property” is equivalent to SysML “ValueProperty”. SysML Parts are not AP233 Properties. | | | | 07 | SysML Nested Parts require the use of AP233 Component Upper Level Identification to maintain the complete path/context. | | | | 08 | In STEP in order to have a unit and a property we must give it a value. The link between value and property is value_with_unit which assigns the value. Number is mandatory. | | | ====== Actions ====== ^ Timeframe ^ Action ^ Assigned To ^ Status ^ | 15 July 2009 | Rewrite of SysML 1.1 annex D.4 | ABF | Complete | | 15 July 2009 | Review 'Parsed Text' proposal from Michael Chonoles | DMP | Complete | | San Antonio %%OMG%% 9/09 | SE DSIG/MIWG/ManTIS joint session baseline document for review and dry run demo | DMP| Complete | | INCOSE IW 02/10| MBSE/MDSD Report and Demo | PS| Complete | | INCOSE IS 07/10| MDSD Report and Demo | PS | Complete |