Issue 9778: constraints section 9.3.2.4
Issue 10047: SysML: Protocol State Machines needed
Issue 10048: SysML: UML Qualifieed Associations
Issue 10058: SysML: Generalizing Activites
Issue 10410: Section: 9.3.2.5 FlowPort
Issue 10500: Section: Figure 14.2
Issue 10642: Timing diagrams
Issue 11011: Block namespace compartment: Are external relationships allowed
Issue 11117: Section: 12. Interactions
Issue 11276: Issue: Nested connector ends
Issue 11333: BindingConnector
Issue 11493: Lack of notation for units and dimensions on values.
Issue 11495: Constraint parameter notation conflicts with UML private ports notation
Issue 11496: It is not allowed in UML to display stereotypes of related elements
Issue 11498: <<continuous>>
Issue 11499: Parts are added directly into package
Issue 11627: SysML: Interaction diagram and Data-based comm of SysML
Issue 11648: SysML Interactions
Issue 11653: Section: 5.3
Issue 12123: Inferred Allocation on Allocate Activity Partitions
Issue 12125: Item Flows on Activity Diagrams
Issue 12130: 10.3.2.2 ConstraintProperty
Issue 12131: 10.3.1.2 Parametric Diagram
Issue 12132: 10 Constraint Blocks, 10.3.2.1 ConstraintBlock
Issue 12144: Annex B / B.4.8.3 Activity Diagram
Issue 12145: Annex B / Figure B.10
Issue 12146: Annex B / Figure B.9
Issue 12147: Annex B / Figure B27
Issue 12152: Annex B / Figure B.35
Issue 12154: Annex B / Figure B.38
Issue 12160: Annex B, Figure B.29
Issue 12222: 09.Ports and Flows: 9.3.2.3 FlowPort, 9.3.2.7 Standard Port
Issue 12255: Section: Generalization of stereotyped elements
Issue 12366: Figure B.34 and Figure B.35
Issue 12751: use of derived in Requirements
Issue 12853: More than one constraint block of the same type in a parametric diagram
Issue 13152: SysML: Align SysML Activities with Foundational UML
Issue 13153: SysML: Activity Properties should be accessible in Activity diagrams for decision making
Issue 13154: SysM:L: Operations on Activities need to be callable (e.g., start, restart, cancel)
Issue 13177: Requirements interchange issue
Issue 13197: Representation of nested object nodes in activity diagrams
Issue 13219: Section: 8/8.3.2 Inability to efficiently capture datasets
Issue 13259: Requirement constants should be integrated into Model-centric vision of SysmL
Issue 13260: Parametrics and Depletable Stores
Issue 13261: Binding Relationships require unit conversions
Issue 13263: Support BDD's for State Machines
Issue 13342: AllocateActivityPartition and UML 2 semantics
Issue 13348: Inability to represent dependent, independent parameters on constraint properties
Issue 13840: Allocations should not generate dependencies
Issue 13928: Section: 7/Table 7.1, 7,3,1, 7.3.2, 7.4, -- partition construct
Issue 13939: Parsing Text in Requirements
Issue 13942: Table 16.2 (top of pg. 146): Trace Dependency concrete syntax diagram incorrect
Issue 14055: Proposal to have a stereotype for reference nested property
Issue 14058: Flow port compatibility with behavior
Issue 14079: SysML RTF: 11.4 Activity Usage Sample: ControlOperator has regular pins (2)
Issue 14238: Wrong type in fig. 15.11
Issue 14239: 15.3.2.2 Allocated(from Allocations)
Issue 14447: Ambiguous Block Hierarchy
Issue 14575: callout notation issues
Issue 14827: Streamlined notation for representing system variance
Issue 14998: Binding to multiplicity in parametrics
Issue 15003: Do parametric bindings observe derived and read-only properties
Issue 15018: SysML 7.3.2.5 Viewpoint
Issue 15074: Including Behavior Port Notation
Issue 15075: Including Property Notation for Redefinition and Subsetting
Issue 15077: Constraining a decomposition hierarchy
Issue 15078: properties allocatedFrom and allocatedTo should be capitalized
Issue 15079: Ability for a binding connector to be typed
Issue 15112: Inheriting Allocations
Issue 15131: SysML 1.2 Section 16.4.4
Issue 15132: Allocate of Actions or of Activities
Issue 15176: Flow properties and activity paramters
Issue 15293: SysML 1.2 Issue Viewpoint referencing other viewpoints properties
Issue 15294: SysML 1.2 Issues: Structure compartment wrong in spec
Issue 15295: SysML 1.2 Issues: Default <block> stereotype on unlabeled box is not always optimal
Issue 15296: SysML 1.2 Issues: DistributedProperties on Activates
Issue 15297: SysML 1.2 Issues: Activity's sub-activities should be able to have mandatory multiplicity
Issue 15298: Continuous flows in non-streaming situations with >1 multiplicities
Issue 15299: SysML 1.2 Issues: Optional with streaming
Issue 15300: SysML 1.2 Issues: Definition of Overwrite
Issue 15302: SysML 1.2, ch 12
Issue 15355: Structure Compartment shows blocks instead of parts
Issue 15600: SysML 1.2 - Blocks
Issue 15683: Figure B.35 object nodes
Issue 15728: SysML Issue based on UML 15369
Issue 15729: SysML Issue based on UML 14062 -- Stereotypes/keywords and upper/lowercase
Issue 15730: SysML Issue representation of properties as associations
Issue 15731: SysML Issue based on UML 15370 -- Package has optional URI
Issue 15875: SysML Issue on Multiplicity of Use Case Communication Associations
Issue 15882: SysML primitive value types
Issue 15884: Another issue with allocate
Issue 15982: Blocks cannot own items flows
Issue 15983: IBD notation doesn't distinguish item properties from connector labels
Issue 15985: Description of Item Flows
Issue 16016: SysML Issue on Refine limitations
Issue 16042: Item flows can have multiple types but item properties cannot
Issue 16046: Clarification when Allocated Stereotype is applied
Issue 16057: Compartment labelling rules
Issue 16058: Definition of part
Issue 16061: Test Context appears in XMI but not in Profile Spec
Issue 16093: Incorrect statement about UML n-aries
Issue 16112: Where have stereotypes been defined?
Issue 16113: parameter of the constraint block StraightLineVehicleDynamics shown in figure B.31 seems to be incomplete
Issue 16170: Multiassociation
Issue 16263: Association owning ends
Issue 16286: TestCase should use PackageMerge
Issue 16304: Can Enumerations be used on parametric diagrams for typing constraint parameters
Issue 16332: Binding connectors may not have constraint parameters on any end
Issue 16373: Content of Requirement::/tracedTo
Issue 16406: Rate does not support the examples
Issue 16407: Wrong multiplicity for Requirement in stereotype description
Issue 16594: Constraint Blocks cannot have parameters
Issue 16608: sentence introduced in §9.1 by the resolution to issue #16280 is confusing
Issue 16636: Problems with property-specific types
Issue 16652: InstanceSpecifications for exactly one instance
Issue 16653: InstanceSpecification equality
Issue 16657: Lightweight representations of faults, failures, hazards and off-nominal conditions and behavior
Issue 16726: Issue on Block constraint#4
Issue 16876: SysML's PrimitiveValueTypes library is missing "value" properties everywhere
Issue 16891: SysML diagrams show only SysML-stereotyped elements
Issue 16945: Question about the Activity decomposition in Bloc Definition Diagrams
Issue 16947: Error in pending 1.3 diagram 15.6 and elsewhere
Issue 17016: Property Based Requirements
Issue 17120: Addition of derived property notation
Issue 17161: Issues with XMI for SysML 1.3
Issue 17210: SysML XMI seems to define its own versions of UML Primitive Types rather than reusing those from UML
Issue 17246: Part 1 of the specification
Issue 17247: Section 9.3.1.6
Issue 17248: Section 9.3.1.7
Issue 17249: Table 9.1
Issue 17250: 9.1 InterfaceBlock - unnamed compartment
Issue 17251: Port labels inside Port symbol
Issue 17252: ports with flow properties are displayed the same as flow ports in SysML 1.1?
Issue 17253: 9.3.2.4 DirectedFeature , constraint 4 - what is inherited method???
Issue 17254: 9.3.2.8 FullPort
Issue 17255: 9.3.2.9 What is InterfaceBlock?
Issue 17256: 9.3.2.10 InvocationOnNestedPortAction
Issue 17257: Figure 9.7
Issue 17258: Figure 9.8 - can roles be ports??
Issue 17307: clarification, what "part property" is
Issue 17371: Full ports compartment
Issue 17372: Wrong compartment names
Issue 17373: Is <<equal>> keyword (or stereotype) on binding connectors is part of SysML notation?
Issue 17406: Callout notation for port-specific types and initial values
Issue 17423: remove figure numbers from diagram frames
Issue 17443: SysML Issue Lower bounds on multiplicity not consistent with diagram
Issue 17444: SysML Issue: SysML Issue: Activitiy Switched on diagrams
Issue 17445: SysML Issue: State Machine Notation
Issue 17467: SysML: References to CreateEvent incorrect
Issue 17501: Problems with 1.3 Enumeration Literals
Issue 17529: Requirements should be disallowed from typing other elements
Issue 17546: Contradiction regarding allowed use of the derived indicator for constraint parameters
Issue 17549: ControlOperator stereotype should also extend the CallBehaviorAction metaclass
Issue 17562: N-ary Allocation needs better definition, or deletion
Issue 18168: How to refer to properties of an extension?
Issue 18169: Interface blocks and protocols
Issue 18181: Missing ownership constraints
Issue 18182: Missing type constraints for FullPort
Issue 18183: Incorrect constraint [2] on InterfaceBlock
Issue 18193: Fix the notation (hopefully in the same way as UML) to allow allocation of a decision to a swimlane
Issue 18268: SysML stereotype notation creates ambiguity about to which element is the stereotype applied
Issue 18269: SysML QuantityKind/Unit is incomplete and redundant with QUDV QuantityKind/Unit
Issue 18278: Conjugation of full ports question
Issue 9778: constraints section 9.3.2.4 (sysml-rtf)
Click here for this issue's archive.
Source: International Business Machines (Mr. John D. Low, jlow(at)us.ibm.com)
Nature: Revision
Severity: Significant
Summary:
Specify matching rules that enable flow ports and client server ports to be connected.
This issue is deferred because no other proposed resolution was voted on during the schedule of the SysML 1.2 RTF. Following is the discussion from a previous deferred resolution by the SysML 1.1 RTF: This issue was previously deferred by the FTF with the following discussion comment: It was felt that there is a need for experience in SysML prior to making such a change or extension. Deferred for future consideration. No additional resolution was reached by the current RTF. Disposition: Deferred
The current document eliminates Protocol State Machines on the grounds of simplification. See Section 13 However, this leaves a hole in the capabilities of SysML. Currently, SysML supports UML interfaces (provided and required), which can’t have state machines to define them. It is an important part of designing systems interfaces (SE terminology) to define the details of the (UML/SysML) Interfaces. These details include the allowed ordering of messages. As we are not allowed to use behavior state machines and the standard solution, that of, protocol state machines are not included, we can’t properly do interface engineering within SysML If some other solution/work-around is proposed (which I don’t recommend) the explanation of how to accomplish this should be in the spec.
Discussion: Discussed on conference call during Anaheim Meeting (Sept 26, 2006). It was deemed that this would introduce new content into SysML 1.0 . It was felt that there is a need for experience in SysML prior to making such a change or extension. Deferred for future consideration. Disposition: Deferred
SysML currently discards UML 2.1 qualified associations (see 8.3.1.4) as not being of interest to the SE community.
I contest this on two grounds –
1) a. Qualifiers are used expressively and meaningfully to explain domain situations that have nothing to do with data modeling. For example, when I say a baseball roster had 9 members and that there are 9 positions to fill, I am not explicitly saying that there is one person per position. Qualifiers allow me to clarify this piece of the real world and would be very useful on a BDD.
b. Qualifiers are also used idiomatically with generalization discriminators to tie parallel generalization structures together. They are capable of modeling situations, such as when there are many types of missiles, each with their own launcher type.
c. Qualifiers are also used to indicate addressing schemes and mechanisms. For example, by placing an operation/activity etc that returns a type in a qualifier, one can specify the mapping or prioritization /ordering algorithm. Specifying such algorithms may be the SE’s job, when it part of an equation report, algorithm development. This could fit into SysML and support allocation to functional (target prioritization scheme, best antenna-signal function) and structural components (packet routers). This is fully in the spirit of what practicing SEs do and would round out the capability of SysML.[Note that this capability could be delayed for a later SysML, the other parts should be addressed sooner]
2) Qualifiers appear to be part of small part of UML that is incompatible with use with a SysML strict profile mechanism. Imagine a model done in strict SysML, then brought into UML, where a qualifier is added to the relationship, changing the multiplicity at one end. If the model is then brought back into (strict) SysML and the qualifier is then dropped, the multiplicity cannot be automatically restored (or determined from the model). Because of this, qualifiers must be forbidden in UML in such contexts
Discussion: Qualified associations were excluded in SysML V1.0 as part of the general goal to subset the amount of UML that a system engineer must understand for system modeling. If usage of SysML V1.0 indicates significant modeling gaps from the exclusion of qualified associations, their inclusion can be reconsidered in future versions of SysML. Experience is still needed to determine if there are alternative ways to model cases such as those cited without the complexity of the added notations and rules for qualified associations. Disposition: Deferred
Section 11 should show an example of generalization/specialization of Activiites when then are being shown in a bdd.
Resolution: Generalization / specialization of activities is not mentioned in the rest of the document, has not come up in discussion of SysML application, requires more explanation. Defer until the need becomes clearer. Disposition: Deferred
The relationship between a behavioral flow port and parameters is marked as a semantic variation point. Isn't it possible to specify a concrete relationship here? The specification proposes a binding relationship. What is a binding relationship? It is not known in SysML or UML.
We did not reach an agreement on this during our discussions for the initial submission - it is too complicated for the RTF. We recommend to bring this issue to the next version of SysML. Disposition: Deferred This issue is deferred because no other proposed resolution was voted on during the schedule of the SysML 1.2 RTF. Following is the discussion from a previous deferred resolution by the SysML 1.1 RTF: We did not reach an agreement on this during our discussions for the initial submission – it is too complicated for the RTF. We recommend to bring this issue to the next version of SysML. Disposition: Deferred
The figure and added text describing the use of <<extend>> is still unclear and inconsistent. As agreed, converting Start the vehicle to an <<include>> and Park to <<extend>> will correct the confusion and make the added text unnecessary.
Unable to be addressed in time. Disposition: Deferred Discussion: This issue is deferred because no other proposed resolution was voted on during the schedule of the SysML 1.2 RTF. Following is the discussion from a previous deferred resolution by the SysML 1.1 RTF: Unable to be addressed in time. Disposition: Deferred
Timing diagrams are missing in SysML. They are an important diagram for several engineering disciplines. For example I know a project from the automotive/robotic domain that won't use SysML, because of the missing timing diagrams. Timing diagrams will improve the acceptance of SysML in engineering disciplines.
Discussion: This issue is deferred because no other proposed resolution was voted on during the schedule of the SysML 1.2 RTF. Following is the discussion from a previous deferred resolution by the SysML 1.1 RTF: Much useful discussion about the usefulness of timing diagrams occurred within the RTF. Their addition could be considered in future versions of SysML. Disposition: Deferred
The block namespace compartment shows a bdd of the elements that are part of the namespace of the block. Is it allowed to show relationships from a block inside that compartment to a external block? The relationship could be in the model, but can I show it in the diagram? I think it should be allowed. I don't see any problems.
There is nothing stated in the specification that disallows associations being shown that would cross a namespace compartment boundary, and as the issue notes allowing this doesn't seem to raise any problems. How to specify that such cases are permitted, however, along with many other variations of concrete syntax, is being left for consideration in future updates of the specification. Disposition: Deferred Discussion: This issue is deferred because no other proposed resolution was voted on during the schedule of the SysML 1.2 RTF. Following is the discussion from a previous deferred resolution by the SysML 1.1 RTF: There is nothing stated in the specification that disallows associations being shown that would cross a namespace compartment boundary, and as the issue notes allowing this doesn’t seem to raise any problems. How to specify that such cases are permitted, however, along with many other variations of concrete syntax, is being left for consideration in future updates of the specification. Disposition: Deferred
I was unable to find a standard way to describe a flow of data in sequence diagrams. Currently sequence diagrams only deal with flow of control by exchanging messages. We believe that it would be very useful to also have a way for describing data flow as part of the interaction scenario
Multiple suggestions to address this issue were discussed by the RTF, but a final resolution was not reached. Disposition: Deferred Discussion: This issue is deferred because no other proposed resolution was voted on during the schedule of the SysML 1.2 RTF. Following is the discussion from a previous deferred resolution by the SysML 1.1 RTF: Multiple suggestions to address this issue were discussed by the RTF, but a final resolution was not reached. Disposition: Deferred
Nested connector ends: "Connectors may be drawn that cross the boundaries of nested properties to connect to properties within them." That's an important feature of SysML. "The ability to connect to nested properties within a containing block requires that multiple levels of decomposition be shown on the same diagram." I think that's a problem in practice. Often I don't want to see the nested properties in the diagram. I propose to add a notational feature to show that a connector end is connected with a nested property without showing that property. For example we could draw the connector to the border of the surrounding property and attach the stereotype <<nested>> as a short form of <<nestedConnectorEnd>> and optionally the propertyPath. What do you think?
Discussion of this issue was still in progress at the end of the current RTF. The issue is being deferred so the discussion can continue under any future revision process. Disposition: Deferred Discussion: This issue is deferred because no other proposed resolution was voted on during the schedule of the SysML 1.2 RTF. Following is the discussion from a previous deferred resolution by the SysML 1.1 RTF: Discussion of this issue was still in progress at the end of the current RTF. The issue is being deferred so the discussion can continue under any future revision process. Disposition: Deferred
The semantics of the Binding Connector is described as follow : “8.3.2.10 Binding Connector Description A Binding Connector is a connector which specifies that the properties at both ends of the connector have equal values. If the properties at the ends of a binding connector are typed by a DataType or ValueType, the connector specifies that the instances of the properties must hold equal values, recursively through any nested properties within the connected properties. If the properties at the ends of a binding connector are typed by a Block, the connector specifies that the instances of the properties must refer to the same block instance.” So, I understand that definition if the multiplicity of the properties linked by the binding connector is 0..1 or 1. But what happen is the upper bound of the multiplicity is greater than 1? If for example, it is 0..* ? And moreover, what happen when the multiplicity of both property is different, as for example on one end 0..1 and on the other end 1 ? In this case, as according to the previous definition, the value of both properties has to be equal, what happen to the value of the proiperty which multiplicity is 1 when the other property is not yet defined?
This issue is being deferred because no proposed resolution was voted on during the schedule of the SysML 1.3 RTF. Disposition: Deferred
Lack of notation for units and dimensions on values. There are no samples at all
Discussion of this issue was still in progress at the end of the current RTF. The issue is being deferred so the discussion can continue under any future revision process. Disposition: Deferred Discussion: Issue 12219, “suggest need Quantity stereotype and definition,” is proposing changes to the current SysML support of value types with units and dimensions (and is renaming the current Dimension stereotyp to QuantityKind). These changes provide an important foundation for supporing notations on values, including a distinction between symbols for units vs. unit names. A new normative Annex C.5 also defines a Quantity value type which could be used to carry values that include the identification of a dynamically selected unit within the value itself. Issue 12219, however, does not change the underlying structure of value types or provide new forms of value specfications. As part of alignment efforts between SysML and MARTE, the MARTE Value Specification Language (VSL) continues to offer a possible long-term direction for expressions and other, more complete forms of value specifications that might be considered in future revisions of SysML. Until MARTE VSL can be considered in more detail, and more experience is gained with the new capabilities included in Issue 12219, this issue is being deferred. Disposition: Deferred
Constraint parameter notation conflicts with UML private ports notation. How to distinguish between part and ports if notation is the same?
Unable to be addressed in time. Disposition: Deferred Discussion: This issue is deferred because no other proposed resolution was voted on during the schedule of the SysML 1.2 RTF. Following is the discussion from a previous deferred resolution by the SysML 1.1 RTF: Unable to be addressed in time. Disposition: Deferred
Stereotypes, tags and constraints are displayed on elements that can’t have such stereotypes applied. It is not allowed in UML to display stereotypes of related elements (secondary references): a) Stereotypes i. Block stereotypes are displayed on parts ii. Block stereotypes are displayed on object nodes iii. Parameter stereotypes are displayed on ActivityParameterNode iv. Behavior or operation stereotypes are displayed on CallActions b) Tags i. Block allocations are displayed on parts ii. Units and dimensions shall be possible to show on properties and slots, but these tags are owned in Valuetype c) Constraints i. Constraints of ConstraintBlock are displayed on constraintProperty (B.30)
Following is the discussion from a previous deferred resolution by the SysML 1.1 RTF: Some of the cases raised by this issue may be covered by the resolution for Issue 11819, Internal Block Diagram Extensions, including the discussion within that resolution. Other cases raised by this issue, may not be fully covered by that issue or may require additional mechanisms for the requested display capability. The issue is being deferred so that all these cases can continue to be explored. This issue is being deferred because no proposed resolution was voted on during the schedule of the SysML 1.3 RTF. Disposition: Deferred
<<continuous>> is stereotype of Parameter and ActivityEdge, but is used on ObjectNodes (figure 11.10). It must extend ObjectNode too.
This issue is being deferred because no proposed resolution was voted on during the schedule of the SysML 1.3 RTF. Disposition: Deferred
Parts are added directly into package. B27 - <<moe>> element that is a part is displayed inside of a package <<view>>
Unable to be addressed in time. Disposition: Deferred Discussion: This issue is deferred because no other proposed resolution was voted on during the schedule of the SysML 1.2 RTF. Following is the discussion from a previous deferred resolution by the SysML 1.1 RTF: Unable to be addressed in time. Disposition: Deferred
Here is a question on the usage of sequence diagrams with SysML, more specially with blocks that communicate via flow ports. Within UML, Message is associated with signature of either a Signal or an Operation (see constraint 2 on Message meta class, p. 492 of the UML2 superstructure spec.). In SysML, blocks introduce an alternative for communication between blocks w.r.t. to usual UML2 composite structures: flow ports are basically dedicated to support data-based communication between blocks in contrast of UML2 that does not support such kind of communication between composite structures. In this case, a Message within an interaction should be able to refer either a DataType, a Block, a ValueType if the communication happen between two atomic flow ports, or to a FlowSpecification if the communication happen between two non-atomic port. I did not see anything related this issue within the SysML spec. Do I miss something or is it something missing in the SysML doc?
Unable to be addressed in time. Disposition: Deferred Discussion: This issue is deferred because no other proposed resolution was voted on during the schedule of the SysML 1.2 RTF. Following is the discussion from a previous deferred resolution by the SysML 1.1 RTF: Unable to be addressed in time. Disposition: Deferred
In the notation table for sequence diagrams there is no reference to interaction parameters, or to arguments of interaction uses.
This issue is being deferred because no proposed resolution was voted on during the schedule of the SysML 1.3 RTF. Disposition: Deferred
SysML needs the capability to interchange diagrams in addition to model data. The concrete syntax complliance should include a requirement to comply with diagram interchange in a similar way that the infrastructure specifciation does. The following is included in section 2.3 of the Infrastructure Spec under Concrete Syntax Compliance: - the ability to output diagrams and to read in diagrams based on the XMI schema defined by the Diagram Interchange specification for notation at that level. This option requires abstract syntax and concrete syntax compliance. The proposal is to add the same requirement as above to section 5.3 as a second bullet under the concrete syntax compliance.
Diagram interchange is strongly desirable but is not yet supported among current tools. A new "Diagram Definition RFP" issued by OMG could offer additional support for concrete syntax compliance including interchange. Diagram compliance issues can be considered in future updates of the specification. Disposition: Deferred Discussion: This issue was previously deferred by the SysML 1.1 RTF, which noted: Diagram interchange is strongly desirable but is not yet supported among current tools. A new “Diagram Definition RFP” issued by OMG could offer additional support for concrete syntax compliance including interchange. Diagram compliance issues can be considered in future updates of the specification. Submission and adoption are still in progress for the Diagram Definition RFP. New forms of support for diagram definition and interchange may be adopted by OMG as a result of this process. The addition of diagram interchange compliance to SysML should be reassessed once these future directions become clear. Additional compliance points for diagram syntax and interchange could be added by either a future RTF or RFP submission process. Disposition: Deferred
When an allocation relationship is depicted on an activity diagram using Allocate Activity Partitions, it is unclear if the allocation relationship is from the Action Node to the Part represented by the partition (direct allocation), or from the Activity typing the Action Node to the Block typing the Part (Inferred allocation). Since in practice it has become necessary to represent both conditions, this portion of the SysML specification should be modified to incorporate some graphical indication to distinguish them.
Discussion: This issue is deferred because no other proposed resolution was voted on during the schedule of the SysML 1.2 RTF. Disposition: Deferred
Since ItemFlow is a stereotype of InformationFlow, it can be related to an ActivityEdge and depicted on an Activity Diagram. At least one tool has provided this capability. Clarify the use of ItemFlows on Activity Diagrams in the specification: If this is not desirable, then an additional constraint must be added to ItemFlows to prevent it. Personally, I like the idea of representing ItemFlows on ObjectFlows, but the semantic meaning of this representation is unclear. If this is retained, then it should be discussed in both chapter 9 and chapter 11.
The UML metamodel shows information flows can be realized by activity edges, and that realization of information flow is intended to link more abstract models to more concrete (realizing) ones in ways determined by the modeler. Agreeing on the specific ways this is done with realizing activity edges and whether to standardize those in SysML will take more time. Disposition: Deferred Discussion: This issue is deferred because no other proposed resolution was voted on during the schedule of the SysML 1.2 RTF. Following is the discussion from a previous deferred resolution by the SysML 1.1 RTF: The UML metamodel shows information flows can be realized by activity edges, and that realization of information flow is intended to link more abstract models to more concrete (realizing) ones in ways determined by the modeler. Agreeing on the specific ways this is done with realizing activity edges and whether to standardize those in SysML will take more time. Disposition: Deferred
10.3.2.2 ConstraintProperty: rewrite constraint [2] so does not refer to 'a SysML Block that is typed by a ConstraintBlock' SysML1.0, 10.3.2.2 ConstraintProperty: 'A constraint property is a property of any block that is typed by a constraint block. .. [2] The ConstraintProperty stereotype must be applied to any property of a SysML Block that is typed by a ConstraintBlock.' These may both be misinterpreted as applying to "any block that is typed by a constraint block" and "a SysML Block that is typed by a ConstraintBlock" rather than a constraint property typed by a constraint block. Rewrite so that the type condition clearly applies to the owned constraint property, not the owning block, thus: 'A constraint property is a property that is typed by a constraint block and is owned by a block. . [2] The ConstraintProperty stereotype must be applied to any property that is typed by a ConstraintBlock.' (Note that the first constraint already makes it clear that a constraint property is owned by a SysML Block: '[1] A property to which the ConstraintProperty stereotype is applied must be owned by a SysML Block'.)
A more complete resolution would be to add a constraint that a ConstraintBlock may be used only to type a property owned by a SysML Block. Then the additional constraints on ConstraintProperty could be further simplified. It is recommended that all these constraints and stereotype definitions be reevaluated along with OCL statements of these constraints, as raised by Issue 11091 (also deferred). Disposition: Deferred Discussion: The issue is being deferred to allow further consideration in future revisions of SysML. The email archive of the RTF discussion list contains discussion and concerns raised about this issue after a resolution was initially included as part of a draft ballot. Following is the complete text of the original proposed resolution, which was withdrawn from further consideration in the current revision of SysML: Resolution: The ConstraintProperty stereotype expresses a condition that can be entirely derived from other information in the metamodel, in this case a property of a block that is typed by a ConstraintBlock. Property stereotypes are not defined for other categories of property, such as part, reference, or value properties. Analysis of the constraints which currently appear under Section 10.3.2.2 ConstraintBlock, including their potential formulation in OCL, confirmed that they added no new constraints but only served to define of the ConstraintProperty category. The definition of the term “constraint property” can be accomplished entirely by language under 10.3.2.1 ConstraintBlock, in the same way used to define the categories of part, reference, and value properties under Section 8.3.2.2 Block. Discussion within the RTF recommended that a consistent policy be adopted for such “calculated stereotypes” which only classify existing elements. Since tools are free to create internal stereotypes or other means to carry such information (e.g., to control placement of properties in compartments of a block), and no other such calculated stereotypes remain in SysML, the policy that is consistent with the other categories of property is to remove the ConstraintProperty stereotype altogether. Existing implementations are free to preserve such a stereotype if it is useful to their implementation, but this special stereotype would no longer be required by the specification. Revised Text: In Table 10.2, replace the Metamodel Reference column for the row ConstraintProperty with “UML4SysML::Property typed by SysML::ConstraintBlocks::ConstraintBlock”. In Section 10.3.1.2 Parametric Diagram, in the paragraph under the subsection “«constraint» keyword notation for constraint property”, delete the last sentence of the paragraph.Move the paragraph which currently appears under the Description section of 10.3.2.2 ConstraintProperty to the end of the Description section of 10.3.2.1 ConstraintBlock. Delete the entire contents of Section 10.3.2.2 ConstraintProperty. Disposition: Deferred
10.3.1.2 Parametric Diagram: clarify applicability of square box notation to constraint parameters (or otherwise) SysML1.0, 10.3.1.2 Parametric Diagram: 'Small square box notation for an internal property A value property may optionally be shown by a small square box, with the name and other specifications appearing in a text string close to the square box. The text string for such a value property may include all the elements that could ordinarily be used to declare the property in a compartment of a block, including an optional default value. The box may optionally be shown with one edge flush with the boundary of a containing property. Placement of property boxes is purely for notational convenience, for example to enable simpler connection from the outside, and has no semantic significance. If a connector is drawn to a region where an internal property box is shown flush with the boundary of a containing property, the connector is always assumed to connect to the innermost property.' It is not clear whether 'value property' here is meant to refer to a constraint parameter. Also, the term 'internal property' does not exclude, for example, nested constraints, leaving open the possibility of drawing nested constraint properties using square box notation, which is surely not intended. The following suggests that only constraint parameters - not value properties - are intended: SysML1.0, , 10.3.2.1 ConstraintBlock: '[1] A constraint block may not own any structural or behavioral elements beyond the properties that define its constraint parameters, constraint properties that hold internal usages of constraint blocks, binding connectors between its internally nested constraint parameters, constraint expressions that define an interpretation for the constraint block, and general-purpose model management and crosscutting elements.' Rewrite SysML1.0, 10.3.1.2 Parametric Diagram, replacing all references to 'value property' and 'internal property' with 'constraint parameter': 'Small square box notation for a constraint parameter A constraint parameter may optionally be shown by a small square box, with the name and other specifications appearing in a text string close to the square box. The text string for such a constraint parameter may include all the elements that could ordinarily be used to declare the property in a compartment of a block, including an optional default value. The box may optionally be shown with one edge flush with the boundary of a containing property. Placement of constraint parameter boxes is purely for notational convenience, for example to enable simpler connection from the outside, and has no semantic significance. If a connector is drawn to a region where a constraint parameter box is shown flush with the boundary of a containing property, the connector is always assumed to connect to the constraint parameter.'
Discussion: This issue is deferred because no other proposed resolution was voted on during the schedule of the SysML 1.2 RTF. Disposition: Deferred
10 Constraint Blocks and 10.3.2.1 ConstraintBlock: parameters never clearly defined SysML1.0, 10 Constraint Blocks: 'A constraint block is defined by a keyword of «constraint» applied to a block definition. The properties of this block define the parameters of the constraint.' The above does not make clear that parameters are properties that can be typed by a ValueType (yet are not value properties), and it does not exclude nested contraints, which are properties typed by a <<ConstraintBlock>> (although other sentences elsewhere in the specification do make that clearer). Also, it is not clear whether a constraint parameter can be typed by a block (although there are no examples of such in the figures). Rewrite to specify what constraint parameters are: 'A constraint block is defined by a keyword of «constraint» applied to a block definition. The properties of this block typed by a ValueType, Unit, or DataType define the parameters of the constraint.' SysML1.0, 10.3.2.1 ConstraintBlock: '.. A constraint block typically defines one or more constraint parameters, which are bound to properties of other blocks in a surrounding context where the constraint is used.' Rewrite to explain what constraint parameters are: '.. A constraint block typically defines one or more constraint parameters, which are bound to properties of other blocks in a surrounding context where the constraint is used. Constraint parameters are properties of a Constraint Block that are typed by either a ValueType, a Unit, or a DataType.' (NB: the resolutions suggested here depends on the unit, value, dimension metamodel being changed to admit the application of Unit as a type.) This matter could be greatly simplified by including a ConstraintParameter stereotype as a point of documentation and specification
Discussion: This issue is deferred because no other proposed resolution was voted on during the schedule of the SysML 1.2 RTF. Disposition: Deferred
B.4.8.3 Activity Diagram (EFFBD): refers to allocations to parts instead of blocks SysML1.0: 'B.4.8.3 Activity Diagram (EFFBD) - Acceleration (detail) Figure B.35 shows the ProvidePower activity, using the decomposed activities and objectFlows from Figure B.34. It also uses AllocateActivityPartitions and an allocation callout to explicitly allocate activities and an object flow to parts in the PowerSubsystem block.' In fact the AllocateActivityPartitions in Figure B.35 represent blocks, not part Properties typed by blocks.
Discussion: This issue is deferred because no other proposed resolution was voted on during the schedule of the SysML 1.2 RTF. Disposition: Deferred
Figure B.10: justify/clarify 'StartVehicle' from outside in terms of UML Please clarify how UML4SysML supports the drawing of a 'StartVehicle' message from the boundary of a ref Interaction.
Discussion: This issue is deferred because no other proposed resolution was voted on during the schedule of the SysML 1.2 RTF. Disposition: Deferred
Figure B.9: clarify turnIgnitionToStart message on driver:Driver Is it supposed to be a message to self ? If so please include message to self path, otherwise explain,
Discussion: This issue is deferred because no other proposed resolution was voted on during the schedule of the SysML 1.2 RTF. Disposition: Deferred
Figure B.27: <<view>> Package "steals ownership" of MOEs, Actor, UseCase and Requirement Severity Critical since there is currently no sensible way to implement <<view>> in tools ! In Figure B.27 - Establishing a Performance View of the User Model It is not at all clear how the MOEs, Actor, UseCase and requirement should be shown as directly within the view without the view package "stealing ownership". Appears to break constraint: '7.3.2.4 View [1] A view can only own element import, package import, comment, and constraint elements.' See also example images in Magicdraw UML SysML Plugin at: http://school.nomagicasia.com/node/127 http://school.nomagicasia.com/files/images/Figure%20B.27%20-%20Establishing%20a%20Performance%20View%20of%20the%20User%20Model.png Note that this relates to:: Issue 11500: <<view>> as Package extension is very bad idea (sysml-rtf), No Magic, Inc. (Mr. Nerijus Jankevicius, nerijus@magicdraw.com nerijus@nomagic.com) '<<view>> as Package extension is very bad idea. Package is used for ownership, so it is not possible to show the same elements in different packages (as different point of view)'
Discussion: This issue is deferred because no other proposed resolution was voted on during the schedule of the SysML 1.2 RTF. Disposition: Deferred
Figure B.35: prefer <<continuous>> pins over contrived placement of ObjectNodes on border of swimlanes Placement of ObjectNodes on boundaries of swimlanes is contrived and graphically unstable. Prefer typed output/input Pin pairs on CallBehaviorActions corresponding to Parameters. TODO: alternative diagram with pins for resolution. See also: http://school.nomagicasia.com/node/138 http://school.nomagicasia.com/files/images/Figure%20B.35%20-%20Detailed%20Behavior%20Model%20for%20Provide%20Power%20(with%20Swimlane%20Allocation).png
Discussion: This issue is deferred because no other proposed resolution was voted on during the schedule of the SysML 1.2 RTF. Disposition: Deferred
Figure B.38: property names of p:[PowerSubsystem] inconsistent w.r.t. other figures Figure B.38 gives p:[PowerSubsystem] with parts: em: [ElectricMotor] t: [Transmission] ice: [InternalCombustionEngine] Figure 9.3 shows PowerSubsystem with parts: trsm: Transmission ice: InternalCombustionEngine (ecu:PowerControlUnit) (epc: ElectricalPowerController) Figure 9.6 IBD shows PowerSubsystem with parts: trsm: Transmission ice: InternalCombustionEngine (ecu:PowerControlUnit) (epc: ElectricalPowerController) Figure 15.10 IBD shows PowerSubsystem with parts: trsm: Transmission ice: InternalCombustionEngine emg:ElectricalMotorGenerator (ecu:PowerControlUnit) (epc: ElectricalPowerController) (can:CAN_Bus) Figure B.18 BDD shows PowerSubsystem with parts: trsm: Transmission ice: InternalCombustionEngine em: ElectricalMotorGenerator pcu:PowerControlUnit (epc: ElectricalPowerController) .. For consistency Figure B.38 should show p:[PowerSubsystem] with parts: emg: [ElectricMotor] (not 'em') trsm: [Transmission] (not 't') ice: [InternalCombustionEngine] Also, Figure B.18 should show PowerSubsystem with part: ecu:PowerControlUnit Visit also analysis at: http://school.nomagicasia.com/node/149
Discussion: This issue is deferred because no other proposed resolution was voted on during the schedule of the SysML 1.2 RTF. Disposition: Deferred
In Figure B.29 'delta-t' is shown with solid-line (AggregationKind 'composite'), it should be shown with a dashed line (AggregationKind 'none') to be consistent with Figure B.26 BDD for EconomyContext.
Discussion: This issue is deferred because no other proposed resolution was voted on during the schedule of the SysML 1.2 RTF. Disposition: Deferred
Experience modelling a wide range of heterogeneous systems has proven that the representation of logical channels as information flows across connections between flowports nested within standard ports is a very useful idiom. It would help if this possibility is explicitly stated in both 9.3.2.3 FlowPort, 9.3.2.7 Standard Port, and illustrated in specification figures. Example: a software application acquires encoded signals representing physical positon and rotation via a high-level software API to a low-level A./D card in a computer. The software application is connected to an A/D module subject to a contract represented by an Interface provided by a standard port (subject ot a protocol). The flow of information corresponding to logical acquired channels can be well represented as flowports nested within the standard port of the A/D module. This example is illustrated in detail at: http://school.nomagic.com/node/194 It is marked as 'significant' because without this idiom of nesting flowports on standard ports it is impossible or very difficult to model a wide range or real-world systems.
Following is the discussion from a previous deferred resolution by the SysML 1.1 RTF: Discussion of this issue was still in progress at the end of the current RTF. The issue is being deferred so the discussion can continue under any future revision process. This issue is being deferred because no proposed resolution was voted on during the schedule of the SysML 1.3 RTF. Disposition: Deferred
The generalization of model elements, e.g. blocks, does only affect the instances (from Generalization definition: Each instance of the specific classifier is also an indirect instance of the general classifier.). Doesn't that mean that stereotypes of a block and it's properties are not inherited by sub-blocks? If yes all informations about flow ports, units and so on get lost. They are not inherited by the sub-blocks.
There is still a need to cover additional cases in which stereotype applications on SysML blocks, properties, and other model elements should be inherited, but no proposed resolution on this issue was voted on during the schedule of the SysML 1.3 RTF. Disposition: Deferred
FigureB34 shows an Activity decomposition with: * an <<activity>> ControlElectricPower owning part Property 'elecDrivePower:ElecPower'. * an <<activity>> ProvideElectricPower without any owned part Properties. FigureB35 shows: * an Action 'a3:ControlElectricPower' with outgoing ObjectFlow to ObjectNode '<<continuous>> driveCurrent' * an Action 'a4:ProvideElectricPower' with outgoing ObjectFlow to ObjectNode '<<continuous>> elecDrivPower' The translation of ObjectFlows in FigureB35 to part Properties in the Activity decomposition FigureB34 is thus inconsistent.
This issue is being deferred because no proposed resolution was voted on during the schedule of the SysML 1.3 RTF. Disposition: Deferred
16.3.2.3: (2) /derived: Requirement [0..1] Derived from all requirements that are the client of a «deriveReqt» relationship for which this requirement is a supplier. I don't think we can write OCL to derive this value, at least not without knowledge of the population of Requirements in which this instance is situated. How would we navigate from this object, a Requirement, to that population? I note that the version of the profile XMI I am using doesn't declare this property as derived. It appears that at least one SysML tool provider didn't derive it, but maintains it in their tool and XMI. I think something like the above criticism can be leveled against all of the attributes /satisfiedBy, /verifiedBy, /tracedTo, /derived, /derivedFrom, /refinedBy, /master that are declared derived in the spec 08-05-16. Perhaps we ought to remove the '/' and use a word other than "derived" in describing these attributes. Likewise 16.3.2.4 RequirementRelated attributes should not be declared derived. It may be the case that the OMG needs to be clearer regarding what it means by "derived." There are attributes whose *definition* can be expressed in OCL and there are attributes whose value can only be found by some (perhaps vaguely specified) analysis of the Model (if Model is the correct context!). The latter notion is, I think, what you intend throughout Clause 16. That's fine, except I don't think the attributes for which this notion applies should be annotated with the slash. Further, it may be useful to identify what population is being considered when using terms like "all requirements."
This issue is being deferred because no proposed resolution was voted on during the schedule of the SysML 1.3 RTF. Disposition: Deferred
I'm just experimenting with the parametric diagram and detected a problem. I'm not sure if it is a SysML problem or if I am the problem. A block A has a composition relationship to a constraint block with multiplicity * and property name cstr. I like to use the constraint property cstr in a parametric diagram of block A multiple times. That doesn't work, because the constraint property occurs only once in the diagram. I don't like to define a constraint property for every usage of the constraint in the parametric diagram, because it's not two or three times, but really many many times I want to use the constraint. I think of something like the selector in sequence diagrams, i.e. the name of the constraint property in the parametric diagram is cstr[1] : MyConstraintBlock, cstr[2] : MyConstraintBlock, and so on. What do you think? Am I completely wrong?
This issue is being deferred because no proposed resolution was voted on during the schedule of the SysML 1.3 RTF. Disposition: Deferred
SysML: Align SysML Activities with Foundational UML
This issue is being deferred because no proposed resolution was voted on during the schedule of the SysML 1.3 RTF. Disposition: Deferred
SysML: Activity Properties should be accessible in Activity diagrams for decision making
This will be addressed by examples for ReadSelfAction in a future UML. ReadSelf action has no inputs and one output. When used in an activity that is not owned by a class, it returns an object representing the execution of the activity that started the action. This object can be given as input to the actions that access property values. Disposition: Deferred
SysM:L: Operations on Activities need to be callable (e.g., start, restart, cancel)
This will be addressed by examples for ReadSelfAction in a future UML. ReadSelf action has no inputs and one output. When used in an activity that is not owned by a class, it returns an object representing the execution of the activity that started the action. This object can be given as the target input to CallOperationAction. Disposition: Deferred
Information for facilitating the partner integration within the specification and requirements definition process (requirements interchange) are missing (e.g. meta information like version, access rights). Remark: There is a specification already addressing this topic, the Requirements Interchange Format (RIF). It is available for download as ProSTEP iViP Recommendation PSI 6 at www.prostep.org. This specification was introduced to the SE DSIG by Rupert Wiebel from HOOD (a paper is available) and presented by Dr. Steven Vettermann from ProSTEP iViP and discussed at the ManTIS meeting on December 11th.
This issue is being deferred because no proposed resolution was voted on during the schedule of the SysML 1.3 RTF. Disposition: Deferred
Issue: Representation of nested object nodes in activity diagrams. Discussion: It is desirable to be able to represnt nesting of object nodes on activity diagrams to reflect one or more levels of nested properties of the classifier that types the object node. For example, if water is shown as an object node, and it is desired to refer to the temperature of water, then it should be possible to reflect this property on the activity diagram using the notations that are used on ibd's. In particular, one may want to use either a nested rectangle to represent the property, or the dot notation. Proposed update. In the diagram extensions for activity diagrams in Section 11.3.1.4, add a clarifying statement that nested properties of the classifier that types an object node can be represented on activity diagrams either using the nested rectangle notation or the dot notation similar to the use of nesting on ibd's and parametric diagrams.
Following is the discussion from a previous deferred resolution by the SysML 1.2 RTF: Filer’s elaboration: Intent is to be able to represent object nodes on activity diagrams with nested properties using either the nested notation or dot notation. An example where this would be useful is to model the manufacturing process as a series of assembly steps for an assembly such as an engine. Assume any given action represents a step in the process where a partially assembled engine is input along with another input part such as a cylinder. The output is a partially assembled engine with the cylinder included. I would like to highlight the output object node as the engine with the cylinder part nested in the engine. The intent would be to use the "create" parameter effect (refer to ParameterEffectKind in UML superstructure 12.3.4.1, .2 which shows the ParameterEffectKind as create, read, update, delete or the SysML equivalent of create, not modify, modify, destroy). In the engine assembly process, the effect kind would be create indicating the creation of the new engine assembly with the cylinder included. SysML 1.3 RTF Disposition: Deferred OMG Issue No: 13197 Document ptc/2011-08-08 Page 180 The addition of class notation to an activity would not specify that the output engine has the cylinder, this could only be done by postconditions on the assembly action/subactivity. It would also be a significant change to introduce class notations onto the activity diagrams, requiring changes in vendor implementations. The proposed modification doesn't address the use case and would require significant changes in implementation. The issue is deferred for further discussion of other solutions. This issue is being deferred because no proposed resolution was voted on during the schedule of the SysML 1.3 RTF. Disposition: Deferred
There is currently limited ability to capture datasets for selected property values. A simple example is the difficulty in capturing the time histories for the position, velocity, and acceleration properties for two different instances of a vehicle, where the vehicle is a block, and the position, velocity, and acceleration are value properties of vehicle. Another example is the need to capture data such as environmental loads data (e.g. temperature, vibration as a function of freq) which is referenced as part of a requirement.
Proposed resolution: Consider creating a stereotype called a Dataset that enables a user to specify a set of properties and their values as a function of time or other property. The data values can be derived from parametrics or a behavior execution, or pre-specified. The dataset should support data arrays, matrices, etc.
SysML requirements are now pure text and not completely integrated in to the model-centric approach Currenltly requirements are written as The top speed of this car shall be greater than 100 mph. Instead, it should be written as The top speed of this car shall be greater than <x>. And there be a compartment of the requirement where the current value of <x> is given <x> = 200mph. This <x> should be integrated as a design value throughout SysmL and should be connectable to parmetrics. It should also support dependencies so that other requirements value's (and block's features) can be dependent on the value of <x>. Then I can determine all the places in my system where there is a dependency on <x> and my equations and constraints are automatically updated. Which in many cases would allow me to automatically rerun my simulations. This is an improvement in integrating the model. Currently, with pure text requirements constants in the requirements are often repeated in equations, parametrics, constraints, algorithms. This repeating defeats some of the advantages of model-approach, as they are identical or related elements that need to be synchronized by hand.
Following is the discussion from a previous deferred resolution by the SysML 1.2 RTF: SysML 1.3 RTF Disposition: Deferred OMG Issue No: 13259 Document ptc/2011-08-08 Page 183 Methods to capture values of requirements properties within a model, and to allow other parts of a model to depend on these values, are still being explored. The issue is being deferred to continue consideration of various options. This issue is being deferred because no proposed resolution was voted on during the schedule of the SysML 1.3 RTF. Disposition: Deferred
Though we recently changed SysML to allow depletable stores, there appears to be some open issues about what they are and how to handle them with Parametrics properly. Is the name of the depleteable store that property of the owning block whose values change? (and can be used in Parametrics) Or does the depleteable store have a property (perhaps with a standard name) that is the changing value. Is the depleteable store a variable property or a part with a variable property?
This issue is being deferred because no proposed resolution was voted on during the schedule of the SysML 1.3 RTF. Disposition: Deferred
Binding relationships are used between model element properties and parameter in the constraint blocks, similarly they are used between constraint blocks.
These constraint blocks are intended to be reusable.
However connecting constraint blocks from different sources does not usually work unless the units are the same. Model element values may also not be using tehehe same units.
A reasonable solution is to indicate the scaling factor on the binding relationship. This could be done in several ways. One way would be to indicate a simple assignment equations between the two parameter names.
Currently
x----------------------------------Y
Proposed
Y=100*x
x-----------------------------------------Y
Instead of using a constant 100, we could used a named constant such as cmPm
If both ends of the binding relationship were identically named, we need to add an arrow to indicate the souce and target sidel
à
X=cmPM*X
X-----------------------------------------X
This would indicate that the left side X must be multipled by the cmPm to give the left side x
This approach allows us to handle more complex conversions by including the ability to add/sub constants
C=5/9*(F-32)
This issue is being deferred because no proposed resolution was voted on during the schedule of the SysML 1.3 RTF. Disposition: Deferred
One very powerful organizational technique of SysML is the pairing of definitional diagrams with usage diagrams BDD (for Blocks) à IBDs BDD (for Activities) à ACTs BDD (for Constraint Blocks) à PARs The BDD form identifies the elements (structural, functional, constraint) and the 2nd form assembles the elements using detailed design techniques suitable for the element form. It would be convenient and symmetric to support a similar diagram ppar for State Machnies BDD(for States) àSTMs In the past, Class diagrams for States (in UML 1.x) were used. However, it appears that UML 2.x has deleted the ability to use inheritance relationships among states. Though we could look to UML to fix this, I believe it is possible to model state->substate relationships as compositions without a change to UML to produce a satisfactory conclusion.
This issue is being deferred because no proposed resolution was voted on during the schedule of the SysML 1.3 RTF. Disposition: Deferred
In Allocations, AllocateActivityPartition, Constraints, the second paragraph says the AllocateActivityPartition stereotype does nopt preserve the semantics of of UML 2 ActivityPartition, and that partitions with AllocateActivityPartition do not have responsibility for invoking the actions in them. I think there is no conflict with UML 2 semantics, because UML 2 ActivityPartition only requires performing the actions to be the responsibility of the element represented by the partiion, not the invoking of the action. This seems compatible with allocation.
This issue is being deferred because no proposed resolution was voted on during the schedule of the SysML 1.3 RTF. Disposition: Deferred
Parametrics provide a powerful capability for representing constraints on properties. However, they currently do not allow a modeler to specify or notate dependent and independent parameters on a usage of a constraint property. This will enable the modeler to better express the nature of the constraint in many usage situations. The recommendation is to stereotype constraint parameters so that they can be designated as in, out, or in-out if desired. They can also be left unspecified as they are in the current parametric diagram. Proposed Solution. Add a stereotype called constraint parameter that extends property, with a stereotype property that can be in, out, in-out, or unspecified. Consider including the desctiption in the diagram extension for the parametric diagram in 10.3.1.2, adding the stereotype in 10.3.2, the diagram elements in Table 10.2, and updating the usage example in Fig 10.3.
This issue is being deferred because no proposed resolution was voted on during the schedule of the SysML 1.3 RTF. Disposition: Deferred
Allocations should not generate dependencies The Allocate stereotype extends the Abstraction UML meta-class, which is a Dependency. It is in contradiction with the following description (cf. p133: "This concept requires independent models if “function” (behavior) and “form” (structure)") If we refere to EIA-632 the logical solution that will be allocated to the physical solution only depends from upstream requirements. In some cases, one may have some (upstream) requirements to use a given implementation platform, but this cannot be considered generic and anyway the dependendcy is still on the requirement not directly on the platform. A logical solution makes abstraction of the implementation to focus on issues strictly related to the missions of the system. Then, by definition a logical solution is semantically dependent from the need and not from the implementation. In most times, several logical solutions are possible. Their are more or less effective against each of their requirements, that's why the design work includes tradeoff activities. Saying that a given logical solution is not convenient to be implemented on a given platform doesn't mean that it's not a logical solution to the need. More, the current stereotype implementation biases the impact analysis. The objective of this analysis is to parse the model and to report what model elements should be reviewed (i.e. are potentially impacted) in case of modification of a given model element to preserve the model integrity and consistency. If the platform is modified, what has first to be checked is whether or not the modified elements of the platform can still play the role they have been assigned by the allocation (with the required QoS, etc...). If the answer is "yes", then nothing to do. If the answer is "no", then they are several potential choices: a) if possible modify the allocations only, b) select another logical solution (i.e. modify it) and define the new allocations, b) select another platform and define the new allocations. This is matter of tradeoff. The only point that has always to be checked is the allocations. Then the only "thing" that actually depends on the "from" and "to" sides of an allocation is the allocation itself.
Extensive discussion on alternative elements for allocations that do not carry the impacts of dependencies has occurred within both the SysML 1.2 and 1.3 RTF's, SysML 1.3 RTF Disposition: Deferred OMG Issue No: 13840 Document ptc/2011-08-08 Page 191 often as part of alignment discussions with MARTE. Alternative elements for allocations is a potential priority for SysML 1.4. Disposition: Deferred
Partition Construct. It is often convenient to partition model elements without imposing ownership or containment constraints. In particular, this partitioning construct would enable any set of named elements to be grouped based on some set of partitioning crtieria. The group of elements would be named. The could be used to name a group of classifiers, properties, instances, or any other model elements or combination of model elements without modifying where they fit within an ownership or containment hierarchy. A possible approach would be to extend this construct, which will be referred to as a Partition, from a Named Element. The Named Element could represent the client for the series of model elements that it wishes to partition. The partition could own a constraint that specifies the criteria for an element to be a client of the partition. Various notational options could be used to show the group of elements in the partition. It could be a rectangle with the stereotype <<partition> with the model elements enclosed, or it could leverage the SysML callout notation as an example.
Multiple proposals and extensive discussion on metamodel and/or diagram extensions to support a partition or grouping capability of elements occurred within both the SysML 1.2 and 1.3 RTF's. The issue is being deferred to allow further consideration in future revisions of SysML. The email archive of the RTF discussion list contains an extensive record of issues, concerns, and alternative proposals for possible ways in which the requested capability could be provided. The Deferred resolution of this issue in the SysML 1.2 RTF report also contains a proposal under consideration at that time. Disposition: Deferred
Parsing Text in Requirements: There is a need to parse the text string in a SysML requirement and create a reference from the parsed text to other model elements or perhaps to a URI. This will enable one to associated additional meaning to selected portions of the text string, such as a particular value, property name, function, or some other feature. A parsed text string which can refer to other elements could be generalized to support other uses within SysML where text is used. In this sense, the proposal could treat this in another chapter such as model elements to make it more generally applicable. One possible approach is to consider a net type called "ParsedText" that has some structure to it, so that the text can be parsed and a reference can be made from the parsed text. The Requirements text property would then be typed by ParsedText instead of String as it currently is.
Extensive discussion on this issue occurred during the 1.2 RTF, but not during the 1.3 RTF. The complete text of a proposed resolution from the 1.2 RTF discussions was included for future reference in a deferred resolution of this issue in the 1.2 RTF report. This issue is being deferred because no proposed resolution was voted on during the schedule of the SysML 1.3 RTF. Disposition: Deferred
Table 16.2 (top of pg. 146): Trace Dependency concrete syntax diagram incorrect. Replace <<requirement>> Client with Named Element (no stereotype). Figure 16.1 (top of pg. 148): Recommend adding Refine stereotype (as specialization of Trace stereotype); otherwise note that it comes directly from UML metaclass rather than as a UML extension. Recommend reordering specializations of trace in alphabetical order on UML class diagram (e.g., Copy, DeriveReq, [Refine], Satisfy, Verify). Section 16.3.2: Should reintroduce Refine relationship description and contraints, even though a UML metaclass and not an extension. It is an important relationship with respect to requirements. Perhaps introduce prior to Sect 16.3. Section 16.3.2.3 (middle of pg. 150): Change cardinality of /derived: Requirement attribute from [0..1] to [*]. Also, add right bracket to cardinality of /master: Requirement attribute. Currently shows as [0..1 with not closing right bracket.
This issue is being deferred because no proposed resolution was voted on during the schedule of the SysML 1.3 RTF. Disposition: Deferred
When one needs to reference a value of a specific property of part in a composition hierarchy in order to bind it to a constraint parameter, one uses the dot notation shown in section 8.3.1.2. (Example: a box labeled myCar.myEngine.currentTemp in a parametric diagram). When such a box is binded to a constraint parameter a nested connector end may be used to reference this property in the context of the composition hierarchy. However this poses a serious implementation issue for tools since until the box is binded it has no real model element behind it, also if one copies this box or the diagram to another hierarchy in the model then the tool has to complicated analysis. We propose to have a stereotype for reference nested property similar to nested connector end in which the path in the composition hirerchy is specified (i.e. propertyPath: Property [1..*] (ordered) - like in section 8.3.2.6). This will make it easier for tools to implement backed by the standard meta-model.
Extensive discussion occurred during the SysML 1.3 RTF on the opportunity to create a common, generalized form of contextualized reference path to address not only the applications raised by this issue, but to support nested properties as allocation ends, as constrained elements, to support context-specific initial values, for contextualized flow definitions, and to replace the current NestedConnectorEnd. Adopting a common form of reference path is a potential priority for the SysML 1.4 RTF. Disposition: Deferred
Flow port compatibility with behavior. Semantics of flow ports need to be clarified as they relate to behavior. In particular, need to clarify how flow properties are passed to behavior (classifier behavior, owned behavior) including to the parameters of operations and activities.
This issue is being deferred because no proposed resolution was voted on during the schedule of the SysML 1.3 RTF. Disposition: Deferred
Summary: This issue is a complement to issue #12576 that deal only with the output pin. A control operator should have a regular input pin typed by ControlValue in fig. 11.10.
This issue is being deferred because no proposed resolution was voted on during the schedule of the SysML 1.3 RTF. Disposition: Deferred
The type in the allocation matrix must be action instead of activity.
This issue is being deferred because no proposed resolution was voted on during the schedule of the SysML 1.3 RTF. Disposition: Deferred
Although explicitly stated that other designations may be used the list should contain at least <<action>>, <<operation>> and <<property>>. Allocation with actions and properties as related elements are shown in the examples in the specification.
This issue is being deferred because no proposed resolution was voted on during the schedule of the SysML 1.3 RTF. Disposition: Deferred
There is ambiguity in the block hierarchy shown on a bdd for parts that are nested more than one level. By illustration, assume Block A is composed of Block B which is composed of Block C. If Block A has two compositions to Block B, called b1 and b2, and Block B has two compositions to Block C, called c1 and c2, one cannot determine from the bdd whether c1 is nested within b1 or b2. The ambiguity can be removed by displaying the nesting on an ibd or by specifying the path with the dot notation. The former resovles the ambiguity in the concrete syntax only. Neither of these approaches does resolves the ambiguity on the bdd, which needs to be resolved for complex system hierarchies.
This issue is being deferred because no proposed resolution was voted on during the schedule of the SysML 1.3 RTF. Disposition: Deferred
I'm trying to prepare requirements for "callout" notation changes in MagicDraw SysML diagrams and trying to remove tool-specific notation. The SysML spec says that each allocatedTo or allocatedFrom property will be expressed as «elementType» ElementName. It looks simple at a first glance, but later SysML spec is a total mess: "For uniformity, the «elementType» displayed for the /allocatedTo or /allocatedFrom properties should be from the following list, as applicable. Other «elementType» designations may be used, if none of the below apply. «activity», «objectFlow», «controlFlow», «objectNode» «block», «itemFlow», «connector», «port», «flowPort», «atomicFlowPort», «interface», «value» Note that the supplier or client may be an Element (e.g., Activity, Block), Property (e.g., Action, Part), Connector, or BehavioralFeature (e.g., Operation). For this reason, it is important to use fully qualified names when displaying / allocatedFrom and /allocatedTo properties. An example of a fully qualified name is the form (PackageName::ElementName.PropertyName). " So, looking at the predefined list it is clear that: For the Activity or other "clean" UML element it is an metaclass name in lowercase. for let's say ItemFlow or FlowPort is is an stereotype name in lowercase. That's ok. But what is <<atomicFlowPort>> ? Port with <<flowPort>> stereotype applied which has isAtomic=true. What is <<value>> ? Property which has Type with <<ValueType>> stereotype applied. In the example below (Figure 15.4) it has allocation of actions to parts and it uses another one <<elementType>> which is not described - <<part>>. What is <<part>> ? The Property with AggregationKind = composite? Also, full qualified names and <<elementTypes>> are used incorrectly in this Figure or I don't understand how it should be used. For example: <<block>> Block4.Part5 - why it is <<block>>, but not <<part>> ??? <<part>> Part2:Block1 - why part name is before block name? It should be displayed as (PackageName::ElementName.PropertyName) as described above. I believe, all these rules and exceptions should be described somewhere
This issue is being deferred because no proposed resolution was voted on during the schedule of the SysML 1.3 RTF. Disposition: Deferred
System variants are often required to modify a system in order to satisfy evolving needs, and to support product lines with varying applications and environments. System variants have some components in common and some components that may be unique for each variant. SysML currently includes some capability to address variants, such as a property-specific type for specifying a variant usage of a component (i.e., block) in a local context, redefinition for redefining the type of the component, and generalization sets for specifying alternative components. However, what it lacks is a convenient mechanism and notation for describing variations that occur in deeply nested contexts within blocks. Issue System Variants Classical product configuration management evaluates whether the change to an assembly affects the next higher assembly in terms of its form, fit, or function. If there is no change to its form, fit, or function, the modification does not propagate up the hierarchy (Note: This should be confirmed). In order to ensure there is no adverse impact to the next higher assembly, one must establish criteria to evaluate the impact of the change on the next higher assembly, and then evaluate the impact of the change against the criteria. Figure 1 describes the baseline block hierarchy for a Vehicle; in the following paragraphs we will discuss how to address variants of this baseline system. Figure 1 - Definition of the baseline configuration for a vehicle In considering variance, one first checks to see if the change to a component affects the interface of the next higher level assembly. For example, in Figure 1, if the number of lugbolts is changed from 6 to 8, this could impact the interface to the braking disc. In addition, one must evaluate other potential impacts due to form, fit, and function. For example, if the weight of the bolt changes, the impact may propagate up the hierarchy to affect the overall vehicle weight. Or if the modified bolt has a lower stress rating, it may impact the safety of the vehicle. These impacts need to be understood to make a determination of whether the modification to the lugbolt impacts the next higher assemblies and the vehicle as a whole. If the change propagates up the system level, then each higher level of the assembly that is impacted must be subclassed (e.g., this may correspond to a new model number) to represent the variant assembly. Representing Variants using Block Definition Diagrams When a system variant results from changes in its components, the variant system model must include representations of the variations at each level of the system hierarchy from the system level down to the component level where the changes occur. The example in Figures 2 illustrates the SysML solution when a modification to a lugbolt results in a variant to the automobile at each level of the system hierarchy. In Figure 2, a change to the lug bolt (i.e. LugBolt A) propagates up the system hierarchy resulting in a variant to the wheel, to the chassis (or equivalent next assembly), and to the vehicle. The variant system hierarchy includes Vehicle A, Chassis A, Wheel A, and LugBolt A as subclasses of the baseline system elements. Figure 2 Varying all levels of the system hierarchy The following reference provides further information on a general approach to capturing variants: “Extended Generic Product Structure: An Information Model for Representing Product Families by Sean Callahan.” This short paper can be found at http://129.187.108.94/dsm-conference/fileadmin/user_upload/downloads/2009/pdf/Callahan_GPS_published.pdf and a longer version at http://129.187.108.94/dsm-conference/fileadmin/user_upload/downloads/2009/pdf/Callahan_GPS_extended.pdf. System Variants Using Property-Specific Types In Figure 2, 4 new types were introduced. If there is no impact to the form, fit, or function of the higher elements in the assembly, then modeling these intermediate assemblies using new types can be very cumbersome. There is a need for a more streamlined approach to capturing variations in deeply nested parts that do not affect intermediate level assemblies. At first glance, the property-specific type concept in SysML seems to fit the bill. As shown in Figure 3, using property-specific types, the replacement part is shown using dot notation on the IBD for Vehicle A, without the need for the user to explicitly represent Chassis A, etc. on the corresponding BDD. Figure 3 - Use of property-specific types to capture variants However, as can be seen, the redefinition clause in the part symbol does not give a clear indication of the location of the part being redefined, nor is there a notation on a BDD for showing this replacement part. Note: Figures were not able to be included with this posting but are available on the SysML v1.2 RTF Wiki
This issue is being deferred because no proposed resolution was voted on during the schedule of the SysML 1.3 RTF. Disposition: Deferred
In parametrics, one cannot currently bind a constraint parameter in a constraint expression to a multiplity. For example, one may need to include the number of tires in the constraint expression that constraints braking force. However, if the model includes a Vehicle, composed of Tire with multiplicity 4, one must be able to access the number of tires (i.e. the multiplity) in the expression.
This issue is being deferred because no proposed resolution was voted on during the schedule of the SysML 1.3 RTF. Disposition: Deferred
Do parametric bindings observe derived and read-only constraints on properties? . In SysML if I bind a read-only property value to a parameter, I would expect that any evaluation of the parametric model would not be able to update the property value. If I wanted to have such a value calculated, I would expect to take off the read-only constraint Similarly, if I bind a derived property value to a parameter, I would expect that any evaluation of the parametric model would not use that value as an input, but only as an output. However, this is answered (and I hope it is answered positively), the SysML specification should clarify this behavior
This issue is being deferred because no proposed resolution was voted on during the schedule of the SysML 1.3 RTF. Disposition: Deferred
SysML 2.2 B 7.3.2.5 Viewpoint A Viewpoint is a specification of the conventions and rules for constructing and using a view for the purpose of addressing a set of stakeholder concerns. The languages and methods for specifying a view may reference languages and methods in another viewpoint. They specify the elements expected to be represented in the view, and may be formally or informally defined. For example, the security viewpoint may require the security requirements, security functional and physical architecture, and security test cases. How is this done? There are no examples. I see examples of a Viewpoint with a dependency on another Viewpoint, but no languages referencing languages in another viewpoint. Suggest either developing an example or deleting the sentence and adding another one after the next sentence, so it reads. A Viewpoint is a specification of the conventions and rules for constructing and using a view for the purpose of addressing a set of stakeholder concerns. They specify the elements expected to be represented in the view, and may be formally or informally defined. For example, the security viewpoint may require the security requirements, security functional and physical architecture, and security test cases. A viewpoint may reference another viewpoint to help in the specification. SysML 2.2 B 7.3.2.5 Viewpoint A Viewpoint is a specification of the conventions and rules for constructing and using a view for the purpose of addressing a set of stakeholder concerns. The languages and methods for specifying a view may reference languages and methods in another viewpoint. They specify the elements expected to be represented in the view, and may be formally or informally defined. For example, the security viewpoint may require the security requirements, security functional and physical architecture, and security test cases. How is this done? There are no examples. I see examples of a Viewpoint with a dependency on another Viewpoint, but no languages referencing languages in another viewpoint. Suggest either developing an example or deleting the sentence and adding another one after the next sentence, so it reads. A Viewpoint is a specification of the conventions and rules for constructing and using a view for the purpose of addressing a set of stakeholder concerns. They specify the elements expected to be represented in the view, and may be formally or informally defined. For example, the security viewpoint may require the security requirements, security functional and physical architecture, and security test cases. A viewpoint may reference another viewpoint to help in the specification.
This issue is being deferred because no proposed resolution was voted on during the schedule of the SysML 1.3 RTF. Disposition: Deferred
The behavior port notation to support the isBehavior=true condition on a port is needed to more explicitly model parts that execute the behavior directly. Refer to Figure 9.17 of the UML Superstructure Specification (v2.3).
This issue is being deferred because no proposed resolution was voted on during the schedule of the SysML 1.3 RTF. Disposition: Deferred
The property notation from UML to support redefinition and subsetting should be included in SysML explicitly. This notation is not currently included in the diagram element tables in the Blocks Chapter. Refer to property notation in Section 7.3.44 of the Superstructure Specification (v2.3).
This issue is being deferred because no proposed resolution was voted on during the schedule of the SysML 1.3 RTF. Disposition: Deferred
There is a need for a robust mechanism to constrain a system decomposition hierarchy to reflect only selected groupings of parts as motivated by the following example. In particular, assume a rack assembly is composed of a chassis and a set of circuit cards. The rack assembly is constrained by which cards can be inserted in which slots. This includes an optical card in an optical slot, an ethernet card in an ethernet slot and a general slot that can accommodate either an ethernet card or an optical card (source is Nathan Sowatskey example). In addition, a particular rack configuration may include a specific number of each type of slot and card. The need is to constrain the hierarchy to only allow these combinations parts. Generalization sets, redefinition, and other mechanisms can help, but require considerable modeling that is cumbersome. The desired capability is to be able to include a constraint in the rack assembly that constrains the allowable instances of the rack assembly. It is also desirable to specify constraints on nested parts using the dot notation. (Refer to related issue 14998 binding to multiplicity in parameterics).
This issue is being deferred because no proposed resolution was voted on during the schedule of the SysML 1.3 RTF. Disposition: Deferred
The properties allocatedFrom and allocatedTo should be capitalized as shown here, and are so in SysML 1.1 pp 133 and following, but they are incorrect in the text on pp 131 and 132. (They are always capitalized correctly in figures; the errors occur in the text.)
This issue is being deferred because no proposed resolution was voted on during the schedule of the SysML 1.3 RTF. Disposition: Deferred
A binding connector used in parametrics should allow for decomposition via association blocks in a similar way that other connectors support decomposition. The specification currently includes a constraint on Block that precludes this as follows: “The number of ends of a connector owned by a block must be exactly two. (In SysML, a binding connector is not typed by an association, so this constraint is not implied entirely by the preceding constraint.)”
This issue is being deferred because no proposed resolution was voted on during the schedule of the SysML 1.3 RTF. Disposition: Deferred
The allocated stereotype includes properties «allocatedTo» and «allocatedFrom». Since these properties are stereotype properties, they are not inherited by the classifiers that they are applied to. A constraint could be applied to either the allocate or allocated stereotype which would impose that it is automatically applied to all subclasses of the classifier. The issue to be resolved is whether a subclass of a classifier with «allocatedTo» and/or «allocatedFrom» properties should inherit those properties
This issue is being deferred because no proposed resolution was voted on during the schedule of the SysML 1.3 RTF. Disposition: Deferred
Several errors in this section that need to be fixed. 1) Figure 16.8. Type of diagram should be "stm" not "sm" 2) Figure 16.7 and Figure 16.8. The relation between the testCase and the Requirement should be «verify» not «refine» 3) The paragraph mentions Figure 16.7, but actually describes Figure 16.8. 4) No description of Figure 16.7 appears.
When a swimlane in an activity diagram has the «allocate» stereotype, it means that the actions within the swimlane are allocated to the structural element in question. How come the examples seem to have the structural compartment of allocate from --- «activity» xxx intead of «action» xxx
The SysML flow properties specify elementary flows (nature and direction) that can cross the boundary of a block through a port. According to the functional approaches of systems engineering, an entering flow when getting over the boundary of a block is handled as an input by at least one function of the block. An outgoing flow getting out the boundary of the same block is produced as an output by at least one function. Activity diagrams are used for carrying out functional graphs with SysML. Inputs and outputs of SysML activities are specified by parameters. Nevertheless SysML does not seem to provide any mean to relate activity input / output parameters to the flow properties. This entails that the unfortunate SysML developers, after having made careful and strenuous efforts for specifying the block interfaces with flow properties and ports, have no other solution than to redo exactly the same work for specifying the inputs / outputs of the functional architecture as activity parameters (or vice-versa). Moreover, there is no mean to ensure consistency in the SysML model between the flow properties and the activity parameters and neither between the ports and the activity pins. A solution would be to enable to use flow properties like parameters as activity inputs / outputs.
Page 26
Original Text
7.3.2.5 Viewpoint
Description
A Viewpoint is a specification of the conventions and rules for constructing and using a view for the purpose of addressing a set of stakeholder concerns. The languages and methods for specifying a view may reference languages and methods in another viewpoint. They specify the elements expected to be represented in the view, and may be formally or informally defined. For example, the security viewpoint may require the security requirements, security functional and physical architecture, and security test cases
Comment
How is the highlighted sentence done? There are no examples. I see examples of Viewpoint with a dependency on another Viewpoint, but no references for the individual fields (e.g., language and methods). Are the fields populated in an inheritance manner. Can they be overridden? Does it only work if the fields are blank on the dependant Viewpoint?
Type: Clarification
Add example and clarify rules
Page 31 There is an example of the Structure Compartment. As this compartment follows the ibd format, it should contain parts not blocks Type: Formatting/Clarification Change Block2 and Block3 to :Block2 and :Block3
Page 36, 8.3.1.1 Default «block» stereotype on unlabeled box is not always optimal
Original Text
Default «block» stereotype on unlabeled box
If no stereotype keyword appears within a definition box on a block definition diagram (including any stereotype property compartments), then the definition is assumed to be a SysML block, exactly as if the «block» keyword had appeared before the name in the top compartment of the definition.
Comment
I question whether this is always desirable, e.g.,
1) if the diagram had the «functional hierarchy» diagram usage stereotype applied, wouldn’t the default be «activity»,
2) if the containing block is an activity block, wouldn’t «activity» be the right default
Type: Clarification/Fix
Add sentences that say: If the bdd diagram has a «diagram usage» specified (such as «functional hierarchy»), a different default (such as «activity») can be used.
If the bdd diagram is for an activity block, the default stereotype elements is «activity»
Page 45 Distributed Properties on Activities
Original Text
8.3.2.4 DistributedProperty
Constraints
[1] The DistributedProperty stereotype may be applied only to properties of classifiers stereotyped by Block or ValueType.
Comment
As I read this, on a BDD, if we have activities, the properties of the activities cannot be distributed properties, because activities are not stereotyped as block
Type: Fix
Rewrite this constraint,
[1] The DistributedProperty stereotype may be applied only to properties of classifiers stereotyped by Block, Activity, or ValueType.
Activity's sub activities should be able to have mandatory multiplicity
Page 86, 3rd paragraph and page 86 constraint 3
Original Text
Combining the two aspects above, when an activity invokes other activities, they can be associated by a composition association, with the invoking activity on the whole end, and the invoked activity on the part end. If an execution of an activity on the whole end is terminated, then the executions of the activities on the part end are also terminated. The upper multiplicity on the part end restricts the number of concurrent synchronous executions of the behavior that can be invoked by the containing activity. The lower multiplicity on the part end is always zero, because there will be some time during the execution of the containing activity that the lower level activity is not executing.
p87 [3] The lower multiplicity at the part end must be zero.
Comment
While this is technically true, it is not in the spirit of UML. We can have classes/blocks with mandatory components, because the, even though there is always a delay between the creation of the owner and the part, because we assume the time is
1) small, and
2) the situation can be made undetectable by normal UML means.
The same situation can occur here, that we should allow the lower multiplicity to exclude zero, if the component activity is the first sub behavior to run (or tied for first) and that it is the last sub-behavior to end (or tied for last)
Type: Fix
Rewrite constraint
[3]) The lower multiplicity of the part end must be zero, if
a) An instance of the part is not always the first thing started (or concurrently initialized with the first thing stared) or
b) An instance of the part is not always the last thing terminated (or terminated concurrently terminated with the last thing terminated), or
c) It is possible at some point, for no instances of the part to exist.
SysML 1.2 Issues: Continuous flows in non-streaming situations with >1 multiplicities 11.3.2.1 Continuous It’s a bit unclear how continuous flows work in non streaming situation, especially with high multiplicities. If a continuous flow arrives at a pin with a multiplicity of 2, it would appear that the 1st and 2nd value arriving at the pin would be captured. If the flow is also continuously valued, the two values would be same. The difference between two adjacent samples goes to zero if the delta time between samples goes to zero (assuming differentiability). Type: Fix To make this capability useful, we’ll need to add a sampling rate to be able to use continuous with >1 multiplicity. If we don’t the specification should have a caveat for >1 multiplicity and differentiable input values.
Sysm 1.2 Optional with «streaming»
Page 92
11.3.2.6 Optional
Does optional on an input mean optional to start the activity or optional for the activity to finish? Consider an «optional» streaming input.
Does optional on an output mean optional to appear at the end of the activity or optional for it ever to appear? Consider an «optional» streaming output..
We need to have all the possibilities for streaming; it probably should have two multiplicities for each streaming parameter
Starting Multiplicity: number of tokens that must appear for the activity to start
Total Multiplicity: number of tokens that must appear over the lifetime of the activity
Ending Multiplicity: number of tokens that must appear at the end of the activity
Total Multiplicity: number of tokens that must appear over the lifetime of the activity
Page 92 Overwrite
The description of how overwrite works is wrong. The rule given in the spec is to replace the token that would be last to be selected according to the node rules.
For example, let us imagine a node with 1..3 FIFO tokens when overwrite is applied.
New Token Position 3 Position 2 Head (1st to be taken off)
A A
B B A
C C B A
D D B A
E E B A
Probably desired behavior
New Token Position 3 Position 2 Head (1st to be taken off)
A A
B B A
C C B A
D D C B
E E D C
The recommended behavior is the standard behavior for real-time systems (usually implemented as a circular buffer, with the most recently arrived element the oldest element
For LIFO queues
For example, let us imagine a node with 1..3 LIFO tokens when overwrite is applied.
New Token Position 3 Position 2 Head (1st to be taken off)
A A
B A B
C A B C
D D B C
E E B C
Probably desired behavior
New Token Position 3 Position 2 Head (1st to be taken off)
A A
B A B
C A B C
D B C D
E C D E
The recommended approach makes both LIFO/FIFO queues always having the freshest elements to work from.
Recommended
“For upper bounds greater than one, when the queue is full, an arriving token replaces the oldest token in the queue, leaving a FIFO queue with the remaining earliest arriving token at the head of the queue and leaving a LIFO queue with the latest arriving token at the head of the queue.
Also, consider giving an example as above.
Table on page 110 – Creation Event should be shown as a dashed arrow to be consistent with UML.
The structure compartment shows two blocks connected with a connector. It should be two parts.
It’s not clear whether the notation for static is part of SysML or not.
Annex B, Figure B.35, the object nodes after the decision and before the merge should be removed and the names/types moved to the ProportionPower pins / output parameter node.
A new keyword was added for attributes in UML, {id}. This concatenation of all such attributes within a class (block) for an instance must be unique.
While this will mostly be used by database developers, it’s also a domain model analysis property, e.g, Social Security Number for a US citizen, Mac Address, etc. As such, it may be useful to some SysML modelers.
UML issue 14062 now attempts (though is not completely successful) in begin Stereotypes with uppercase and keywords with lowercase, though the old stuff will still work. Effectively, this is a style recommendation for the specification and for later methodologist. SysML should probably for sake of consistency adopt this as a guideline for our spec and developers
In the UML 2.4 Superstructure specification, under the subsection "Notation" in Section 18.3.9, Stereotype (from Profiles), the following statement appears: Normally a stereotype's name and the name of its applications start with upper-case letters, to follow the convention for naming classes. Domainspecific profiles may use different conventions. Matching between the names of stereotype definitions and applications is case-insensitive, so naming stereotype applications with lower-case letters where the stereotypes are defined using upper-case letters is valid, although stylistically obsolete. SysML consistently follows the lower-case keyword convention for stereotype applications, which the UML specifications now indicates is a valid convention for domain-specific profiles. The less-obtrusive lowercase keywords are valid according to the case-insenstive matching of stereotype names, and is preferred by many users based on long-standing practice in SysML and because the many uses of such keywords in SysML are less obtrusive than uppercase names would be. Language could be added to the SysML specification to explain this capitalization convention, however. The issue is being deferred so that a more explicit statement of these conventions can be considered in a future revision of SysML. Disposition: Deferred
In UML, there appears to be consistent representing of attributes as regular associations from the owning class. SysML, in similar circumstances, represents value properties as composite associations. We should try to understand what UML is saying (and perhaps push back on them) and consider the value of consistency.
UML issue 15370 added an optional URI field to packages. This has several potential usages, including unique identification, federated models, etc. There appears to be no reason not to include this change into SysML
SysMl does not give any example of using multiplicity on the relationships between actors and use cases. This is part of UML as shown in Figure 16.11. Apparently, the "official" interpretation of SysML is that if there is no example, it is not part of SysML. This incompatibility means that standardize training, books, etc, on Use Cases can not be applied to SysML. And the notation is of value.
We have issues with SysML primitive value types - Real, Integer, Boolean, String etc. The problem is that these types are not inherited from corresponding UML primitive types - Real, Integer, Boolean, String. That means, UML tool can't understand, what kind of ValueSpecification should be created for values of properties typed by these value types. Should it be LiteralString or LiteralInteger or OpaqueExpression? Constraints can't check if slot values are compatible with property types, as it is not clear what kind of value specification it should be also. There are issues in parametrics solving also, as values must be compatible with property types. I think, SysML primitives must be directly inherited from UML primitives - Real subtype of UML Real, String subtype of UML String etc.
The allocate relationship is defined from client A::part1:P1 to supplier B::part2:P2. I think that’s ok according to the current SysML specification. However what I need is a allocate relationship defined from myA.part1:P1 to myB.part2:P2, i.e. the allocate relationship should consider the context and not be valid in another context. I’ve tried to assign the ownership of the allocate relationship to the TopLevel block which doesn’t work. MagicDraw doesn’t allow blocks to be owner of a allocate. I’m not sure whether it is a tool issue or if I’ve overseen a constraint. According to the UML metamodel it should be possible. Nevertheless I’m not sure if that’ll solve my problem. Any ideas?
Blocks cannot own items flows, because UML NameSpace abstractly owns NamedElement. Consider specializing on blocks to own item flows.
Item properties and connector labels both appear in colon notation near the center of an assocation. How do you tell the difference?
Description of item flow and its attributes should explain that "assign" means "realization", change "usage" to "instance", and convey items rather than classifiers.
The text description of how the refine relationship can be used disagrees with formal restrictions.
On page 126, 2nd paragraph, the text says.
“The refine requirement relationship can be used to describe how a model element or set of elements can be used to further refine a requirement. For example, a use case or activity diagram may be used to refine a text-based functional requirement. Alternatively, it may be used to show how a text-based requirement refines a model element. In this case, some elaborated text could be used to refine a less fine-grained model element.”
This allows a refine relationship to be
[Requirement] ß1..*[Model element]
Or
[Requirement] à [Model element]
However, Figure 16.1 only has
/refinedBy:Named Element[*] as property for a Requirement
Thus it is not possible to have a requirement refine a model element.
This is confirmed by Figure 16.2, which in showing the tags for a NamedElement
Has /refines Requirement [*]
This is confirmed in table 16.2 by only showing paths that allow a NamedElement to refine a requirement (and not the other way around).
So problem 1.
The text and restrictions disagree, fix the text to be as follows, by deleting the last sentence:
The refine requirement relationship can be used to describe how a model element or set of elements can be used to further refine a requirement. For example, a use case or activity diagram may be used to refine a text-based functional requirement. Alternatively, it may be used to show how a text-based requirement refines a model element. In this case, some elaborated text could be used to refine a less fine-grained model element.
Problem 2
The text indicates the refine relationship may be from a diagram. A diagram is not a metaclass in UML or SysML and cannot participate in this way. Please strike the word “diagram” from the text
Final wording
The refine requirement relationship can be used to describe how a model element or set of elements can be used to further refine a requirement. For example, a use case or activity may be used to refine a text-based functional requirement.
Additional comment.
It’s unclear in these circumstances, to me at least, whether two different use cases that «refine» a requirement are participating in the same refinement relationship or are just stored in a common location in the requirement.
Item flows can have multiple types but item properties cannot
The allocated stereotype is applied to an element at either end of an allocate relationship. This enables the use of the compartment and callout notations to identify what element is on the other end of the allocate relationship. The specification does not explictly state that the allocated stereotype is applied to the elements when the allocate relationship is established. This should be specified as a constraint for the allocated stereotype. This should not imply that the stereotype name must be displayed, but only that the stereotype is applied.
Suggest these compartment rules: - Italics - Plural - All lower case - Words separated by spaces
Progress has been made in standardizing on these compartment label rules, but exceptions still exist in the SysML specification, such as allocatedFrom and allocatedTo in Chapter 15. This issue is being deferred so further standardization of conventions on compartment labels can be considered in a future revision of SysML. Disposition: Deferred
The current definition of "part" includes ports. Is that intended?
The stereotype TestContext appears in the SysML profile XMI file http://www.omg.org/spec/SysML/20100301/SysML-profile.uml , but is not in the SysML v1.2 profile specification. It should be removed from the xmi file and anywhere else it may have inadvertently been introduced.
Section 8.3.1.3 (UML Diagram Elements not Included in SysML Block Definition Diagrams) says "N-ary associations, shown in UML by a large open diamond with multiple branches, can be modeled by an intermediate block with no loss in expressive power." An intermediate block cannot capture multiplicities that would be on an the ends of an n-ary association. These multiplicities are for the links from end to end, rather than from intermediate object to end, as they would be with an intermediate object. However, intermediate blocks can specify the number of links each end might participate in for any of the other n-1 ends, which is not possible with n-ary associations. The expressiveness of n-aries and intermediate blocks is overlapping, rather than equivalent.
in some figures of the examples provided in Annex, some stereotypes are displayed: <<domain>>, <<external>>, <<diagramDescription>>, … and so on. Can someone tell me where these stereotypes have been defined?
the parameter of the constraint block StraightLineVehicleDynamics shown in figure B.31 seems to be incomplete w.r.t. to figure B.30. Is it ok?
In the spec, it is said that : « Notational and metamodel support for n-ary associations and qualified associations has been excluded from SysML.”. However, as shownin the extract of the table of the SyML symbol, multibranch association are possible:
Associations in SysML should be able to own their ends. Otherwise modelers can't add an association between blocks in model libraries they do not have permission to modify. They also cannot create association that are non-navigable in both directions, which might be useful for directing flows across them into flows contained by the association as a block.
The stereotype «TestCase» is primarily specified in the UML Testing Profile (UTP) and should not be defined by SysML redundantly (or even inconsistently). Rather it should be separated in a dedicated package in SysML and a PackageMerge be specified. This would properly add the properties of a «TestCase» specified in SysML to the "base" «TestCase» specified in UTP.
when participating in the discussions on the draft ballot 3 on the SysML 1.3 spec, we observed that there is a need for clarification. The question was about whether Enumerations can be used on parametric diagrams for typing constraint parameters. The spec defines: From 8.3.2.10 SysML defines ValueType as a stereotype of UML DataType to establish a more neutral term for system values that may never be given a concrete data representation. … A SysML ValueType may define its own properties and/or operations, just as for a UML DataType. See Section 8.3.2.2, “Block” for property classifications that SysML defines for either a Block or ValueType. ValueTypes can be used to type constraint parameters. Since ValueTypes extend UML DataTypes, and Enumerations are a subtype of DataType, Enumerations might be used. Since Blocks could be used as types of constraint parameters as well, the implication that any subtype of a UML datatype might lead to the implication that any subtype of UML classifier could be used here as well (e.g. activity or StateMachine), which is of course not meant. We need to constrain this definition better
On pg 74 (section 10.4.2) of the SysML 1.2 spec, it is stated that: "A parametric diagram is similar to an internal block diagram with the exception that the only connectors that may be shown are binding connectors connected to constraint parameters on at least one end." One may have binding connectors, whether or not they are shown in par diagrams, that have neither of their ends as constraint parameters. A binding connector may have both ends as value properties of the owning block or any of the nested part/ref/shared properties (at any depth).
In the specification the content of the derived property “Requirement::tracedTo” is defined as follows: • /tracedTo: NamedElement [*] Derived from all elements that are the supplier of a «trace» relationship for which this requirement is a client. As «copy» «deriveReqt» «verify» and «satisfy» inherit from “Trace”, does this means that /tracedTo also list all elements that are the supplier of a «copy» «verify» «satisfy» «deriveReqt» relationship for which this requirement is a client ?
There is an inconsistency w.r.t. the definition of SysML Rate with the notation & examples. According to figure 11.8, SysML Rate extends only 2 metaclasses: Parameter and ActivityEdge. By generalization, SysML Continuous and Discrete also extend these two metaclasses. According to the notation in Table 11.1, <<rate>>, <<continuous>> and <<discrete>> also apply to ObjectNodes. The examples in figure B.33 and B.35 show applications of <<continuous>> to CentralBufferNodes and ActivityParameterNodes, both are direct specializations of ObjectNode. Some examples in the Practical Guide to SysML do the same -- see figure 8.17 on p. 196; figure 15.14 on p. 373 Both SysML 1.2 Figure 11.8 and the published profile http://www.omg.org/spec/SysML/20100301/SysML-profile.uml are incomplete. The resolution is fairly simple: Add an extension from Rate to ObjectNode in figure 11.8 and update the SysML profile accordingly. I propose to include this resolution in ballot 5 for sysml 1.3.
Both Figure 16.1 and the SysML 1.2 profile http://www.omg.org/spec/SysML/20100301/SysML-profile.uml define Requirement::/derived : Requirement[*] but in 16.3.2.3, the attribute is described incorrectly as: /derived : Requirement[0..1] It's obvious that the specification in 16.3.2.3 is incorrect; the property description should be changed from: /derived : Requirement[0..1] to: /derived : Requirement[*] I propose to include this resolution in ballot 5 for sysml 1.3.
It looks the Parametrics chapter is inconsistent about properties of constraint blocks. In one place it says they must be constraint properties, and in others it says they do not need to be. I assume constraint blocks can have properties that are not constraint properties, and these properties are informally called "parameters", is that right? If not, how are constraint parameters represented?
Specifically (in the beta2, inherited from 1.2):
- Section 10.3.2.2 (ConstraintProperty), Constraints subsection says "[2]The ConstraintProperty stereotype must be applied to any property of a SysML Block that is typed by a ConstraintBlock."
- Section 10.3.1.1 (Block Definition Diagram), Parameters Compartment subsection, says "Properties of a constraint block should be shown either in the constraints compartment, for nested constraint properties, or within the parameters compartment", which presumably means parameters are properties that are not constraint properties.
- Section 10.3.2.1 (ConstraintBlock):
Constraints Compartment subsection, says "All properties of a constraint block are constraint parameters, with the exception of constraint properties that hold internally nested usages of other constraint blocks"
Constraints, "[1] A constraint block may not own any structural or behavioral elements beyond the properties that define its constraint parameters, constraint properties that hold internal usages of constraint blocks, ..."The following sentence introduced in §9.1 by the resolution to issue #16280 is confusing: "Default compatibility rules are defined for connecting blocks used in composite structure, including parts and ports [...]" since it is not "blocks" (SysML sense), which are not connectable elements, that are connected in composite structure but parts and ports. In addition the rules we are speaking about deal with "matching/mapping" (i.e. routing) rather than with "compatibility" since one can have several possible solutions (mapping) to connect two compatible ports. I suggest replacing this sentence by the following one: "Default matching rules are defined for connecting parts or ports in composite structure but specific mappings can be specified thanks to association blocks".
Definition of a property-specific type cannot be shown on a bdd. This would require, at least, a defined name for the block or value type that types the property, such as one based on the property name. No runtime semantics is given. Presumably all instances of a property-specific type are values of the property it types, but this isn't said anywhere. It the property it types is an end of an association, this could be expressed by a lower multiplicity greater than zero on opposite end. No examples of property specific types are given. The requirements for property-specific types to be anonymous, singly generalized, and owned by the owner of the property they type don't appear to be necessary. Naming is useful for managing PSTs, multiple generalization is useful for reusing property defaults and other characteristics on multiple PSTs, and package ownership enables the same PST to be used on multiple properties that have the same type. The description of the property-specific types refers to: "local specializations of referenced typed" (Section 8.3.1.1 Block Definition Diagram) and "starting classifier of the property-specific type." (Section 8.3.2.7 PropertySpecificType) The terms "local", "referenced type", "starting classifier nof the property specific type" are undefined and not deducible from other text. The following sentence is a tautology (ie, adds nothing to the spec): "The PropertySpecificType stereotype is automatically applied to the "classifier that types a property with a propertyspecific type. (Section "8.3.2.7 PropertySpecificType)" because a property with a property specific type is one where the property type has the PropertySpecificType applied. Section 8.3.1.1 (Block Definition Diagram) at the end says the name of the property specific type can be included in brackets, but constraint [2] of PropertySpecificType says they are anonymous. The discussion of compartments on internal properties in Section 8.3.1.2 (Internal Block Diagram) can be simplified by removing the discussion of property-specific types.
InstanceSpecifications describe sets of instances, including the empty set, but some applications need to describe exactly one instance. SysML should have InstanceSpecifications that are constrained to describe exactly one instance, like the owlIndividual stereotype in the Ontology Definition Metamodel.
Multiple InstanceSpecifications can describe overlapping sets of instances, and some application need to specify whether the sets overlap. For InstanceSpecifications that specify exactly one instance, this indicates whether they describe the same instance, like the sameAs stereotype in the Ontology Definition Metamodel.
There is a critical need to model off nominal conditions and behavior associated with faults, failures, and hazards. However, there currently is no standard way to represent this in the SysML model. This issue is intended to provide some lightweight and standardized and light-weight capability for this type of modeling, such as a trigger on a state machine with the stereotype failure or a fault stereotype to represent a fault condition. There is a separate profile (not standardized) that was developed by Bruce Powell Douglass that provides a broader more comprehensive capability that could be leveraged as source material.
In SysML v1.3, §8.3.2.2 Blocks, the constraint #4 states: “[4]In the UML metamodel on which SysML is built, a Property that is typed by a block must be defined as an end of an association. (An inverse end of this association, whether owned by another block or the association itself, must always be present so there is always a metamodel element to record the inverse multiplicity of the reference.)” No such constraint exists in the UML specification which conversely says the following (UML v2.4, §7.3.45): “A property related to a classifier by ownedAttribute represents an attribute, and it may also represent an association end. It relates an instance of the class to a value or collection of values of the type of the attribute” The SysML Block constraint #4 has no clear justification and should be removed.
For SysML 1.3, has anyone tried to specify the value of a SysML::ValueType ? If you haven't done so, please try to do this carefully -- i.e., don't just assume that Real x = "42.0" is enough! You'll realize then that the SysML 1.3 spec doesn't provide the capability to specify the actual value for any of the SysML::Libraries::PrimitiveValueTypes SysML::Libraries::PrimitiveValueTypes::Boolean SysML::Libraries::PrimitiveValueTypes::Integer SysML::Libraries::PrimitiveValueTypes::Real SysML::Libraries::PrimitiveValueTypes::String Since we can't specify the actual real value of a SysML Real, we can't specify the realPart or the imaginaryPart of a SysML Complex number either! SysML::Libraries::PrimitiveValueTypes::Complex::realPart : SysML::Libraries::PrimitiveValueTypes::Complex::imaginaryPart What is missing is an actual "value" attribute whose type then must be from the UML PrimitiveTypes library since it's the only capability in UML/SysML we have to specify an actual "value" via the Literal[X] metaclasses in UML. SysML::Libraries::PrimitiveValueTypes::Boolean::value : PrimitiveTypes::Boolean -- an actual value can be specified as a UML::LiteralBoolean SysML::Libraries::PrimitiveValueTypes::Integer::value : PrimitiveTypes::Integer -- an actual value can be specified as a UML::LiteralInteger SysML::Libraries::PrimitiveValueTypes::Real::value : PrimitiveTypes::Real -- an actual value can be specified as a UML::LiteralReal SysML::Libraries::PrimitiveValueTypes::String::value : PrimitiveTypes::String -- an actual value can be specified as a UML::LiteralString SysML::Libraries::PrimitiveValueTypes::Complex can remain as-is since it inherits the capability to specify an actual value for its realPart & imaginaryPart attributes thanks to SysML::Libraries::PrimitiveValueTypes::Real::value : PrimitiveTypes::Real I also realized that the QUDV library inconsistently uses in a few places SysML::Libraries::PrimitiveValueTypes when in fact it should use UML's PrimitiveTypes. I believe that this is a new issue for SysML 1.3.
As discussed in the SysML 1.4 RTF meeting today, it is currently unclear whether all of the elements shown in SysML diagrams have a SysML stereotype applied or not. In some cases, there is an explicit mention about the meaning of SysML diagrams, e.g., 11.3.1.1 Activity: Activities in block definition diagrams appear as regular blocks, except the «activity» keyword may be used to indicate the Block stereotype is applied to an activity, as shown in Figure 11.1. We need a clarification whether the meaning of SysML diagrams is that they show only SysML-stereotyped elements or not and if not which UML elements can be shown on a SysML diagram without any SysML stereotype applied.
I like the feature of SysML to decompose activities in a block definition diagram based on the callbehavior semantics (Fig. 11.1. SysML spec.). For example I use that extensively in the FAS methodology (Functional Architectures for Systems). I have a question about the composite relationship between activities. The SysML specification seems to be unclear about that. When modeling an activity with a CallbehaviorAction of another activity, does that automatically creates the association between the activities in the model? I think it must do that. Unfortunately tools seems to have a different behavior.
In Figure 15.6 in pending SysML 1.3, on the left side of the diagram, the object-flow, labeled objectflow3 is a dashed line. From table 11.2, object flows always use solid lines (though control flow can use either solid or dashed). This was also wrong in SysML 1.2, though the diagram number was then 15.5. Thanks to Geoffrey Shuebrook who pointed this out to me,.
In SysML today requirements can be represented in a model only in a textual form. Being textually based these requirements often introduce ambiguity, are often redundant with other model element properties, and lack a formally making it difficult to leverage directly in parametric and other analysis efforts. This issue suggests an alternative means of representing requirement in the model environment without using a pure text string. The alternative means is referred to as Property Based Requirement (PBR). PBR defines a requirement mathematically and defines a set of requirement properties. The goal is declare other types of model elements as requirements and apply these properties to those model elements. A PBR theory is described in a paper called “Toward a Property Based Requirements Theory: System Requirements Structured as a Semilattice” by Patrice Micouin. This technique is further elaborated in a paper called “Requirements Management within a Full Model-Based Engineering Approach” by Yves Bernard
The derived property notation was originally included in SysML and removed. This notation is very helpful and should be restored. An example of how this is used can be found in Figure 7.2.1 of the 2nd edition of "A Practical Guide to SysML".
I am working through some examples for MEF as you suggested. When I look at the XMI for SysML 1.3, I find the following anomalies: 1. The model library PrimitiveValueTypes is a Package owned by the SysML Profile. This is what the XMI says but it is not shown as such in figure 4.3 in the SysML specification. 2. The PrimitiveValueTypes Package does have the SysML profile applied to it, but it does not have any stereotypes applied to the various DataTypes. Surely there should be elements of the following form in there: <sysml:ValueType xmi:id="Stereotype1" base_DataType="_OMG_SysML_20110919_SysML_Libraries-PrimitiveValueTypes-Real" /> In order for such elements to be legal, the sysml xmlns needs to be declared. Also it’s somewhat unclear to me whether those elements should be children of the outer XMI element, or of the contained SysML package element.
SysML XMI seems to define its own versions of UML Primitive Types rather than reusing those from UML. Furthermore they are not even defined as instances of PrimitiveType despite their XMI id.
For example we have:
<packagedElement xmi:type="uml:DataType"
xmi:id="_OMG_SysML_20110919_SysML_Libraries-PrimitiveValueTypes-String"
name="String"/>
In Part 1, there is a paragraph that says, in the context of describing the origins of SysML Currently it is common practice for systems engineers to use a wide range of modeling languages, tools, and techniques on large systems projects. In a manner similar to how UML unified the modeling languages used in the software industry, SysML is intended to unify the diverse modeling languages currently used by systems engineers. This is not currently correct. It should be changed to. It was then common practice for systems engineers to use a wide range of modeling languages, tools, and techniques on large systems projects. In a manner similar to how UML unified the modeling languages used in the software industry, SysML has started to unify the diverse modeling languages currently used by systems engineers.
9.3.1.6 The fill color of port rectangles is white and the line and text colors are black. - Notation CAN'T be related to colors
9.3.1.7. The keyword “full” before a property name indicates the property is stereotyped by ProxyPort . Copy/paste bug? <<full>> is for FullPorts. What is the type of FullPort? Spec says nothing. What are possible owned properties of the InterfaceBlock? Values, FlowProperties? other? In 9.1 InterfaceBlock it is not flow nor value.
- why Integer property is under "properties" compartment? why not "value properties"?
9.1 InterfaceBlock - unnamed compartment?? why not "operations"? What is "void" ??? no such primate type in sysml. Better example needed.
Port labels inside Port symbol. Is it new notation, not supported in UML? One more nightmare for tools?Where it is described? What information can be inside port? Name, type? How about stereotype label, tags, etc? E.g. <<full>> - should it be inside or not?
ports with flow properties are displayed the same as flow ports in SysML 1.1? Can we say this clearly? is <> notation based on flow properties only? How about directed features? Can we use the same notation to show direction? <> notation is used on WHAT port types? proxy ? or full or even simple ports? What notation (reversed?) is on conjugated port? How about nested port, when parent is conjugated?
9.3.2.4 DirectedFeature , constraint 4 - what is inherited method??? how operation CAN inherit a method? Why it is mentioned at all? constraint [1] - properties that have no FlowProperty applied. does it include ports, association ends, value properties??? what does it mean "the meaning of direction"?? how direction is visible on port? what happens on nested ports when owning port is conjugated? example is needed.
9.3.2.8 FullPort - in description it says it cannot be conjugated. 1. Why? 2. Why there is no constraint for that? what constraint 2 means? when binding connector is connector to proxy port?
9.3.2.9 What is InterfaceBlock? Where is description? Description is the same as constraint [1] text now. InterfaceBlock is kind of Block, so, can it be used everywhere Block is used? e.g. part of the FullPort. Constraint [2]. Does it mean Interface block can't have value properties and e.g. constraint properties? Constaint [3] - does it mean "proxy ports" ? if so, it could be more clear text to say "InterfaceBlock can own proxy ports only" constraint [4] - it must be constraint[4] for FullPort???
Constraint [2] is incorrect. What does it mean "owned by the target object" ?what is object? Also, target is always the context of activity. Port can be not only owned, but inherited too. [3] incorrect too - it can be inherited, not owned only.
reference properties "sp" in all subtypes must redefine "sp" from block P.
also, p1, p2, p3 in Plug Design 1 - are they redefining or not? if yes, must be {redefines} used, if not, how <<proxy>> appears there?
Figure 9.8 - can roles be ports?? or ports be association ends???? Is it new SysML notation? Where it is described??? Did we voted? Tools does not support that.
The NEW issue - clarification, what "part property" is, as new port types typed by Blocks changed everything, they fit into "part properties" definition. SysML 1.3, Page 43 : "A property typed by a SysML Block that has composite aggregation is classified as a part property, except for the special case of a constraint property. "
Spec says: "Full ports can appear in block compartments labeled “full ports.” The keyword «full» before a property name indicates the property is stereotyped by FullPort. " a) "full ports." should be changed to "full ports". (without dot inside) b) does it say that even in full ports compartment keyword <<full>> is used? Or it is used near port symbol, when NOT in compartment? It should be clarified. c) there is no single example of this notation - nor in Table 9.1 - Graphical nodes defined in Block Definition diagrams nor in any other diagram example in spec. d) the same issues with "proxy ports" compartment.
Compartments "part" and "reference" must be renamed to "parts" and "references" in Figure 9.7 Usage example of proxy and full ports
Is <<equal>> keyword (or stereotype) on binding connectors is part of SysML notation? Figure 9.7 Usage example of proxy and full ports
The specification allows property-specific types and property-specific initial values. Ports are just a special kind of property. Thus it would be possible to model port-specific types and values. The only problem is, that it is not possible to show the specifics of these types or the initial values within an internal block diagram, as would be the case for a property. Suggested addition to the spec - property-specific types and initial values also apply to ports [would not be forbidden now, but just to clarify this point] - A callout notation can be used in an ibd for ports with a port-specific type or initial value. It shows the same information as the compartments for properties. - Table 8.3: Example for call-out notation Maybe this notation could also be used on block definition diagrams, and in this case for properties as well. Then there should be a sentence in chapter 8.1.1.1 and an example in Table 8.2.
Remove figure numbers where they still exist within the SysML diagram frame tab. As content is reshuffled in the document, figure numbers inside the diagrams can become out-of-sync with the figure numbers in the document, as is currently the case for figures C.35 and C.37. Maintain the figure number only in the figure caption, not redundantly within the diagram itself. Diagrams that include figure numbers in the diagram frame tab include 4.2, 4.3, 17.5, C.35, C.36, and C.37.
In SysML 1.3 11.3.1.1 Activity constraints “The lower multiplicity at the part end must be zero.” The diagram above Figure 11.1 on the previous page does not indicate 0 as the lower end. The default for a composition relationship at the part end is 1..1 and does not include 0. However, as you fix the diagram consider eliminating the constraint 3. I believe this constraint has been eliminated from UML 2.5 (in the works). The proper constraint is something like. (Conrad will know what’s in the UML spec). If the part end action starts running when the parent activity is started, and continues until the parent activity is ended, then the minimum multiplicity is non-zero. Otherwise, the lower multiplicity at the part end must be zero. Whether the constraint is fixed or not, the diagram must include a lower end of zero. Recommended fix, eliminate the constraint and fix the diagram 11.3.1.4.1 Constraint 3 Similar to above. The BDD in Figure 11.5 would need to explicitly be marked to allow for 0. This constraint was not changed in UML. Recommend the diagram be fixed
In SysML 1.3 C.4.8.2 Diagram C.34 The «activity» ProvideElectricPower is switched with «activity»ControlElectricPower. If you switch them now, you’ll be consistent with Figure C.35
13.1 Table 13.1
The state machine decomposition symbol (which looks like eyeglass – not a rake) is not given
13.2 Table 13.2
The notation that comes from transition-focused state machines is included in the table. However, the notion that looks like:
|
(via entry point name)
|
is not indicated.
In UML 2.4.1, the equivalent to createEvent and desturctionEvent are now called messages. This should be followed in SysML. This changes the text in the 1st row of Table 12.1 on page 116, but it may impact other places also.
In section 6.3 ,the convention is given that indicates that enumeration literals within SysML are named with the suffix of Kind. Enumeration types: always end with “Kind” (e.g., “DependencyKind”). Several of the SysML enumeration literals are correctly named, but the following do not follow the convention: Section 9.3.2 Figure 9.1 FlowDirection àFlowDirectionKind Section 9.3.2 Figure 9.4 FeatureDirection àFeatureDirectionKind Section 11.3.3 Figure 11.9 ControlValue àControlValueKind
The concept of Requirement, as intended in the original SysML specification, included the notion that textual requirements only have meaning in their original context. Requirements thus should not provide a source of inheritance. This precludes their use as classifiers for typing other Requirements or any other model elements. The 5 constraints listed at the end of section 16.3.2.3 are currently insufficient to enforce this concept. Recommend adding a 6th constraint, precluding a class stereotyped by <<requirement>> from typing any other model element.
There is a contradiction in the SysML spec. regarding whether constraint parameters--as properties of constraint blocks--may use the derived indicator, "/". Pg. 84 of the spec. clearly states the original intent of the SysML Development Team with respect to constraint blocks: "The block constraints are non-causal and do not specify the dependent or independent variables. The specific dependent and independent variables are often defined by the initial conditions, and left to the computational engine." On pg. 86, however, the spec. states textually that constraint parameters are properties of constraint blocks: "All properties of a constraint block are constraint parameters, with the exception of constraint properties that hold internally nested usages of other constraint blocks." There is no metamodel fragment in the spec. that shows that the stereotype SysML::ConstraintParameter extends the metaclass UML4SysML::Property. The text on pg. 86 (quoted above) conveys this. As a result of this (implied) extension relationship, we would have to conclude that a constraint parameter could use the derived indicator, "/", to convey that it is a dependent variable in the constraint expression. This stands in contradiction, however, to the intended non-causal, non-directional nature of constraint blocks as expressed on pg. 84. Proposed Resolutions: 1) Add a metamodel fragment to the spec. that clearly shows the extension relationship from SysML::ConstraintParameter to UML4SysML::Property. 2) Add a constraint to the SysML::ConstraintParameter stereotype disallowing the use of the derived indicator, "/", on constraint parameters.
Table 11.1 on pg. 93 shows that the «controlOperator» stereotype can be applied to a call behavior action (when that call behavior action calls an activity that also has the «controlOperator» stereotype applied). However, the metamodel fragment on pg. 104 and the stereotype description on pg. 105 do not support that. Currently the spec. states that SysML::ControlOperator only extends UML4SysML::Behavior and UML4SysML::Operation, not UML4SysML::CallBehaviorAction. This would be appropriate, though, and seems to be in keeping with the original intent of the SysML Development Team given that it appears in Table 11.1 Proposed Resolution: Add another extension relationship from SysML::ControlOperator to UML4SysML::CallBehaviorAction.
An unnumbered constraint on the Allocate relationship states: "A single «allocate» dependency shall have only one client (from), but may have one or many suppliers (to)." The use or meaning of this n-ary relationship is not described. An informal survey of RTF members indicated that this n-ary allocation capability has not been implemented in any tool, nor has it been used by practitioners. Note that Satisfy relationship (see 16.3.2.6) serves a similar purpose to Allocate, but does not require an n-ary implementation. Removal of the n-ary requirement on Allocate would simplify efforts to unify SysML relationship dependencies. This requirement should either be 1) rationalized, elaborated and applied consistently across similar SysML relationships, or 2) deleted to facilitate ongoing SysML improvements.
For a practical usage it is required to be able to refer to a property of a stereotype application, for instance as target or source of an allocation relationship. This need is somewhat similar to that of referencing a nested property but we shall make sure the solution selected for the Common Reference Path will be able to address this case too.
The practical usage of port implies the ability to specify a protocol, especially when operations or receptions are provided but not only (this can be true with flow properties too). The UML::Interface metaclass (at L3) has a specific property to define a protocol. Note that this protocol is not an owned behavior but only a specification of conformance characteristics. I believe we should add something similar to our InterfaceBlock stereotype, even if we do not include UML protocol state machines.
The FlowProperty stereotype can current be applied to any Property in SysML. However, this leaves it open to applying the stereotype to Ports (inc. extensions of Ports) and Properties owned by non-Blocks. This doesn't seem to match the intent of the specification so constraints need to be added
Ports stereotyped as FullPort can currently be typed by anything a normal Port can be typed by. This isn't the intent of the specification, so constraints should be added.
Constraint [2] specifies that "Interface blocks cannot have composite properties that are not ports". However, in order to show FlowProperties, typed by ValueTypes and owned by InterfaceBlocks, you need to be able to have composite properties. The constraint at the moment is too strict and needs to be changed to allow certain composite properties.
Fix the notation (hopefully in the same way as UML) to allow allocation of a decision to a swimlane
The SysML notation allows a stereotype <<S>> applied to an element E1 to be shown as the notation for a different element E2 related to E1 in some way. Example: 11.3.1.2 CallBehaviorAction and Figure 11.2: Stereotypes applied to behaviors may appear on the notation for CallBehaviorAction when invoking those behaviors, as shown in Figure 11.2. What this means is that if a CallBehaviorAction shows a stereotype <<S>>, then it is unclear whether <<S>> is applied to the CallBehaviorAction itself or to the behavior that the CallBehaviorAction calls. This ambiguity is problematic for users reading SysML diagrams as indicated by SysML issue 17549: Table 11.1 on pg. 93 shows that the «controlOperator» stereotype can be applied to a call behavior action (when that call behavior action calls an activity that also has the «controlOperator» stereotype applied). More generally, the SysML spec needs to be reviewed where this stereotype notation can result in this kind of ambiguity.
In table 8.1, the notation for ValueType shows only the unit, it is missing the quantityKind. There is no indication about what is the notation for a value property whose ValueType has a unit U and quantityKind QK. Some tools show the unit and/or quantityKind tag/value pairs of the ValueType on the value property itself. This notation could suggest that one could change the tag/values shown on the value property itself. It is important for the SysML spec to clarify that the tag/values of the type of a property should not be shown on the property itself. This tool-specific practice in fact suggests that there is a missing capability; that is: QUDV unit and quantityKind could be specified on the ValueType itself (in which case it applies to all value properties typed by this ValueType without any possibility to modify them) The value property (in which case different value properties typed by the same ValueType could have different combinations of unit/quantityKind) A combination of the two (e.g., specify the QuantityKind on the ValueType and specify the Unit on the value property) However, what's really missing is support for specifying a "quantity value" in the sense of ISO 80000, that is: a combination of a number and a reference unit. Without Unit information on a value, it is impossible to verify that the values in the model conform to the Unit/QuantityKind specified on the value property and/or the ValueType that is typing the value property. This means that it is intrinsically impossible to have any verifiable guarantee that all values in a SysML model conform to the unit specified on the value properties (or their ValueType) Suggest the following: Replace SysML::Unit and SysML::QuantityKind with QUDV::Unit and QUDV::QuantityKind Add a new stereotype: ValueProperty extending UML::Property with: ValueProperty::unit : QUDV::Unit[0..1] ValueProperty::/effectiveUnit : QUDV::Unit[0..1] -- it is derived by using ValueProperty::unit, if any and if not, by the ValueType::unit, if any, of the ValueProperty's type ValueProperty::/effectiveQuantityKind : QUDV::QuantityKind[0..1] -- it is derived from the ValueType::quantityKind of the type of the ValueProperty. Add a new stereotype: QuantityValue extending UML::ValueSpecification with: QuantityValue::unit : QUDV::Unit[0..1] QuantityValue::/unitConstraint : QUDV::Unit[0..1] -- if the QuantityValue is the default value of a ValueProperty, then unitConstraint is derived from ValueProperty::/effectiveUnit Define the stereotype & tag/value pair notation for QUDV::Unit, QUDV::QuantityKind, ValueType, ValueProperty and QuantityValue
Clause 9.3.2.8, FullPort - in description it says it cannot be conjugated. 1. Why? This issue is a portion of issue 17254 (9.3.2.8 FullPort) and is filed to allow it to be addressed separately from the rest of 17254, and for the resolution of 17254 to ignore this portion of issue