Issue 10048: SysML: UML Qualifieed Associations (sysml-rtf) Source: Lockheed Martin (Mr. Michael Jesse Chonoles, michael_chonoles2(at)omg.org) Nature: Uncategorized Issue Severity: Summary: 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 Resolution: This issue was previously deferred by the SysML FTF with the following discussion from the resolution at that time: 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. There has been insufficient new input to the current RTF to reconsider the previous resolution at this time. 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: This issue was previously deferred by the SysML FTF with the following discussion from the resolution at that time: 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. There has been insufficient new input to the current RTF to reconsider the previous resolution at this time. Disposition: Deferred Revised Text: This issue is being deferred because no proposed resolution was voted on during the schedule of the SysML 1.3 RTF. Disposition: Deferred Actions taken: July 31, 2006: received issue Discussion: 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 End of Annotations:===== te: Mon, 31 Jul 2006 14:22:30 -0400 From: "Chonoles, Michael J" Subject: SysML: UML Qualifieed Associations To: issues@omg.org Thread-Topic: SysML: UML Qualifieed Associations Thread-Index: Aca0zkRkfLUJHiSSQLOPG103f+Vbtg== X-MS-Has-Attach: yes X-MS-TNEF-Correlator: X-OriginalArrivalTime: 31 Jul 2006 18:22:31.0217 (UTC) FILETIME=[49452A10:01C6B4CE] 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. Michael Jesse Chonoles Principal Member of Engineer Staff Enterprise Architecture Lockheed Martin Maritime Systems & Sensors (MS2) 199 Borton Landing Rd, MS 780-2A, Moorestown, NJ, 08057 Lockheed Martin IS&S King of Prussia, PA michael.j.chonoles@lmco.com Co-author UML 2 For Dummies OMG-Certified UML Advanced Professional (856) 359-1383 NJ -- Voice/Voice Mail (610) 644-8404 PA -- Voice/Voice Mail (215) 790-2976 E-Fax (609) 760-2180 Mobile mjchonoles Skype Date: Sat, 10 May 2008 11:26:16 +1000 From: Darren R C KELLY User-Agent: Thunderbird 2.0.0.0 (X11/20070326) To: "Chonoles, Michael J" Cc: sysml-rtf@omg.org Subject: 10048: UML Qualified Associations X-Virus-Scanned: ClamAV 0.91.2/7081/Fri May 9 22:52:50 2008 on mail.nomagicasia.com X-Virus-Status: Clean X-Spam-Status: No, score=-96.7 required=5.0 tests=AWL,BAYES_50, HTML_IMAGE_ONLY_12,HTML_IMAGE_RATIO_02,HTML_MESSAGE,MIME_HTML_ONLY, RCVD_IN_PBL,RDNS_NONE,USER_IN_WHITELIST autolearn=no version=3.2.3 X-Spam-Checker-Version: SpamAssassin 3.2.3 (2007-08-08) on mail.nomagicasia.com Hi Michael, I agree Qualified Associations would be very useful for sys eng, however I also agree to defer this issue. I just brushed up my qualifiers using Shaums UML Outline Ed2 (Bennett, Skelton, Lunn), has many good examples: Could you please expand on your example ? Is this what you meant ? Darren -- Dr Darren R C Kelly, BSc, PhD No Magic Inc., Expert Advisor, Science, Engineering, and Education Phone: +61 (2) 9386 0090 Mobile: +61 (2) 405 029 008 Post: PO Box 1816, Bondi Junction, NSW 1355, Australia Magicdraw UML: Architecture made simple ! Subject: About issue 10048 : qualified associations Date: Tue, 28 Apr 2009 09:51:57 +0200 X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: About issue 10048 : qualified associations Thread-Index: AcnH1jRgltrK7n2cRHKebumlWXgpmA== From: "BERNARD, Yves" To: X-OriginalArrivalTime: 28 Apr 2009 07:51:57.0435 (UTC) FILETIME=[347DACB0:01C9C7D6] X-MIME-Autoconverted: from quoted-printable to 8bit by amethyst.omg.org id n3S80n1j020913 Dear all, In some of our study cases we found it would be convenient to use those qualified associations to model associations to parts that are "located " at a given address, like memory registers for instance. Indeed, even if the "ordered" property of association end allows to model cases where associated instances can be refered using their "position" (i.e. their index), this is not they way we do it usually. As far as I know, people always use either a numerical or a symbolic address. Of course, we can build something using enumarations but qualified association is the right concept for that purpose. I would also add that situations where bi-directional transformations between SysML and UML models have to be provided, as evocated by MIchael in the issue summary, are very common in practice. I guess it's too late to add a resolution for this ballot but maybe we could try for the next one. I would be happy to participate. Regards, Yves BERNARD Avionic Engineering Research Leader AIRBUS France EDYYAI - Engineering, PM & Avionics Research Phone: 33 (0)5 67 19 45 32 Fax: 33 (0)5 61 93 08 83 The information in this e-mail is confidential. The contents may not be disclosed or used by anyone other then the addressee. Access to this e-mail by anyone else is unauthorised. If you are not the intended recipient, please notify Airbus immediately and delete this e-mail. Airbus cannot accept any responsibility for the accuracy or completeness of this e-mail as it has been sent over public networks. If you have any concerns over the content of this message or its Accuracy or Integrity, please contact Airbus immediately. All outgoing e-mails from Airbus are checked using regularly updated virus scanning software but you should take whatever measures you deem to be appropriate to ensure that this message and any attachments are virus free. X-WSS-ID: 0KITIHK-08-SBQ-02 X-M-MSG: From: Burkhart Roger M To: "BERNARD, Yves" , "sysml-rtf@omg.org" Date: Tue, 28 Apr 2009 10:46:36 -0500 Subject: RE: About issue 10048 : qualified associations Thread-Topic: About issue 10048 : qualified associations Thread-Index: AcnH1jRgltrK7n2cRHKebumlWXgpmAAP6cqw Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: acceptlanguage: en-US X-MIME-Autoconverted: from quoted-printable to 8bit by amethyst.omg.org id n3SFndCU018184 Yves-- Thanks for responding so quickly to this issue in the draft ballot 1. We haven't gone further with deeper work on the qualified associations issue since nobody had put forward more detailed examples of a specific user needs from the systems engineering domain. They had deliberately been left out of SysML 1.0 as part of keeping SysML to a simpler subset of UML, and the perception (rightly or wrongly) is that they come out of data modeling support in UML. If you want to build a case for consideration in a future ballot, we would need to take this proposed resolution out of the current ballot, so it wouldn't contradict a completed vote in future resolution. For now I've just been trying to prioritize the work we're trying to complete by our early July target for the 1.2 RTF, and I hadn't been expecting a new proposal on this issue. I can poll others (for example, on this week's telecon) to see if there's broader interest in this, but if you want us to wait before voting on whether to exclude this from our 1.2 scope it should be based on a plan to work further on it, and to assess whether the added complexity to SysML is necessary or if there alternate ways to model the situtations of interest using the existing elements. If there's not an immediate driving need (for example, if the usage would be relatively rare, as Michael Chonoles had suggested the last time I asked him this), we also need to consider if this is essential for SysML 1.2 or should be considered in the future. It would still be valuable to put together a more detailed systems engineering example which we could include in the resolution text, even if we decided to continue deferring it to SysML 1.3 or later. If you can assemble a group to consider adding qualified associations to SysML, and are willing to put together an example and/or proposal we could consider in just a few weeks, please let me know and we can adjust our schedule for this issue accordingly. --Roger -----Original Message----- From: BERNARD, Yves [mailto:Yves.Bernard@airbus.com] Sent: Tuesday, April 28, 2009 2:52 AM To: sysml-rtf@omg.org Subject: About issue 10048 : qualified associations Dear all, In some of our study cases we found it would be convenient to use those qualified associations to model associations to parts that are "located " at a given address, like memory registers for instance. Indeed, even if the "ordered" property of association end allows to model cases where associated instances can be refered using their "position" (i.e. their index), this is not they way we do it usually. As far as I know, people always use either a numerical or a symbolic address. Of course, we can build something using enumarations but qualified association is the right concept for that purpose. I would also add that situations where bi-directional transformations between SysML and UML models have to be provided, as evocated by MIchael in the issue summary, are very common in practice. I guess it's too late to add a resolution for this ballot but maybe we could try for the next one. I would be happy to participate. Regards, Yves BERNARD Avionic Engineering Research Leader AIRBUS France EDYYAI - Engineering, PM & Avionics Research Phone: 33 (0)5 67 19 45 32 Fax: 33 (0)5 61 93 08 83 The information in this e-mail is confidential. The contents may not be disclosed or used by anyone other then the addressee. Access to this e-mail by anyone else is unauthorised. If you are not the intended recipient, please notify Airbus immediately and delete this e-mail. Airbus cannot accept any responsibility for the accuracy or completeness of this e-mail as it has been sent over public networks. If you have any concerns over the content of this message or its Accuracy or Integrity, please contact Airbus immediately. All outgoing e-mails from Airbus are checked using regularly updated virus scanning software but you should take whatever measures you deem to be appropriate to ensure that this message and any attachments are virus free. From: "BERNARD, Yves" To: "Sysml-Rtf (sysml-rtf@omg.org)" Date: Tue, 26 Jul 2011 15:02:10 +0200 Subject: [SysML v1.3 RFT] Ballot 5 : issue 10048 Thread-Topic: [SysML v1.3 RFT] Ballot 5 : issue 10048 Thread-Index: Acwvi4SifF7Ji7jvSSq9u1aTjDqw9gcBt2hw Accept-Language: fr-FR, en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: acceptlanguage: fr-FR, en-US The proposed disposition is .Closed, no change. but I get no reaction nor answer to the mail above (sent June 20). Since this example comes from one of our real study case (based on a Flight Control Computer), I believe it could be worth considering it. Yves _____________________________________________ From: BERNARD, Yves Sent: lundi 20 juin 2011 22:49 To: Sysml-Rtf (sysml-rtf@omg.org) Subject: About qualified association in SysML Following the short discussion we had this afternoon, about that, I think I have a use case where qualified association could be useful. Let.s consider a processor with registers and/or memory cells. Registers and cells are typically parts we would like to use with a multiplicity greater than 1. The point is: how to address a specific register or cell? Using the part name to do so might be impossible in practice since one can have a huge number of those parts. Specifying them as .ordered. and using an index could be a solution but it is not natural for engineers who classically refer to such parts using an (hexa)numerical address. These addresses could be conveniently modeled using an association qualifier. What do you think? Yves The information in this e-mail is confidential. The contents may not be disclosed or used by anyone other than the addressee. Access to this e-mail by anyone else is unauthorised. If you are not the intended recipient, please notify Airbus immediately and delete this e-mail. Airbus cannot accept any responsibility for the accuracy or completeness of this e-mail as it has been sent over public networks. If you have any concerns over the content of this message or its Accuracy or Integrity, please contact Airbus immediately. All outgoing e-mails from Airbus are checked using regularly updated virus scanning software but you should take whatever measures you deem to be appropriate to ensure that this message and any attachments are virus free. From: Burkhart Roger M To: "BERNARD, Yves" , "sysml-rtf@omg.org" Date: Tue, 26 Jul 2011 10:22:34 -0500 Subject: Re: [SysML v1.3 RFT] Ballot 5 : issue 10048 Thread-Topic: [SysML v1.3 RFT] Ballot 5 : issue 10048 Thread-Index: Acwvi4SifF7Ji7jvSSq9u1aTjDqw9gcBt2hwAAOiMXAAAbcF4A== Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: acceptlanguage: en-US X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:5.4.6813,1.0.211,0.0.0000 definitions=2011-07-26_05:2011-07-26,2011-07-26,1970-01-01 signatures=0 X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:5.4.6813,1.0.211,0.0.0000 definitions=2011-07-26_05:2011-07-26,2011-07-26,1970-01-01 signatures=0 Yves-- As you note below, we discussed the qualified associations issue briefly in Salt Lake City. For everybody's background, this issue was MIchael Chonoles request back in July 31, 2006 to consider adding UML Qualified Associations to SysML. At the March meeting in Arlington, VA, Michael had agreed to consider tabling the issue for now and resubmitting it with any more details to justify this added complexity to the SysML language and to provide a more detailed proposal. We have had several descriptions of potential problems to be addressed by qualified associations over the years but no resolution on whether they fill sufficient unmet modeling needs to revisit the scoping decision of the original submission. The discussion of the proposed resolution specifically notes, "Alternative modeling styles can still be explored to accomplish selected modeling goals that might otherwise be expressed by qualified associations." For your particular example below, on addressing a particular register or cell by a hexadecimal address, you recognize that, "Specifying them as .ordered. and using an index could be a solution but it is not natural for engineers who classically refer to such parts using an (hexa)numerical address." Since your problem comes from a software or hybrid hardware/software domain, such a solution may be entirely natural and expected approach to this particular problem. Certainly it's how such cells are addressed in typical embedded systems, and there's nothing to preclude an index being expressed in (hexa)numerical form. Before adding an entirely new construct to the simplified form of associations in SysML, I'd like to see more clear disqualification of available solutions, which could be registered in a new issue. We should also not assume that the existing UML construct (with its additional notation of a box at the end of an association line) is necessarily the most economical solution among those available. You are correct that I should have replied to your message while it was fresh during or after the Salt Lake City meeting, but there was so much else going on and I may have thought it was already covered by the discussion we had already held. This issue is an example of one we should try to resolve one way or the other as part of the "backlog cleanup approach" (to reduce our growing queue of long-deferred issues), which we agreed as a plan going back to the Santa Clara meeting last December. The Ports and Flows discussions have diverted most of our attention, but this issue and a few others are good candidates to determine how we refresh our list of issues and in particular go ahead and decide if particular proposal should be in or out for SysML 1.x. (A major revision such as SysML 2.0 in response to new RFP would be subject to whatever submitters choose to propose.) I don't think we've crossed the threshold for the changes proposed by this particular issue so far, so I'd prefer that we go ahead and vote to decide whether we should pursue it at this time. Putting it in the ballot for review is an opportunity for a straw poll prior to the start of voting, and we could always pull it from the ballot or put it back in the deferred queue if there's strong enough opinion that we should do so. There's always the opportunity to resubmit an issue with more details, as Michael and I discussed in March. For everybody's reference, following is the entire discussion section I included in the proposed "Closed, no change" resolution in the draft ballot 5. Please see the ballot for the complete text of the original issue. This issue has been deferred since the first SysML RTF. Discussion on the issue has continued to occur, but system modeling requirements to establish a sufficient case to add the complexity of qualified associations to the subset of UML included in SysML have not been agreed on. SysML continues to have a core goal to minimize many of the more complicated aspects of UML that a systems engineer must learn, and qualified associations were excluded on these grounds by the original SysML submission. They could also potentially interfere with ongoing formalization efforts for the particular constrained forms of UML associations supported by SysML. Alternative modeling styles can still be explored to accomplish selected modeling goals that might otherwise be expressed by qualified associations. The concern about exchange of models moved from SysML into UML, changed there, and then brought back to SysML is out of scope for SysML because SysML does not address any roundtripping issues of models taken outside a strict SysML profile application. A future issue could always be raised and reconsidered, especially if it included specific text and/or examples to assess proposed changes to the specification. I'll wait to hear any further comments or suggestions to resolve how we should proceed. I just prefer that we make a decision, with a clear direction to work forward on any proposal that has the backing of RTF membership. --Roger From: BERNARD, Yves [mailto:Yves.Bernard@airbus.com] Sent: Tuesday, July 26, 2011 8:02 AM To: Sysml-Rtf (sysml-rtf@omg.org) Subject: [SysML v1.3 RFT] Ballot 5 : issue 10048 The proposed disposition is .Closed, no change. but I get no reaction nor answer to the mail above (sent June 20). Since this example comes from one of our real study case (based on a Flight Control Computer), I believe it could be worth considering it. Yves _____________________________________________ From: BERNARD, Yves Sent: lundi 20 juin 2011 22:49 To: Sysml-Rtf (sysml-rtf@omg.org) Subject: About qualified association in SysML Following the short discussion we had this afternoon, about that, I think I have a use case where qualified association could be useful. Let.s consider a processor with registers and/or memory cells. Registers and cells are typically parts we would like to use with a multiplicity greater than 1. The point is: how to address a specific register or cell? Using the part name to do so might be impossible in practice since one can have a huge number of those parts. Specifying them as .ordered. and using an index could be a solution but it is not natural for engineers who classically refer to such parts using an (hexa)numerical address. These addresses could be conveniently modeled using an association qualifier. What do you think? Yves The information in this e-mail is confidential. The contents may not be disclosed or used by anyone other than the addressee. Access to this e-mail by anyone else is unauthorised. If you are not the intended recipient, please notify Airbus immediately and delete this e-mail. Airbus cannot accept any responsibility for the accuracy or completeness of this e-mail as it has been sent over public networks. If you have any concerns over the content of this message or its Accuracy or Integrity, please contact Airbus immediately. All outgoing e-mails from Airbus are checked using regularly updated virus scanning software but you should take whatever measures you deem to be appropriate to ensure that this message and any attachments are virus free. smime3.p7s