Issue 18510: ListFunctions should have a ListConcat behavior (fuml-rtf) Source: Model Driven Solutions (Mr. Ed Seidewitz, ed-s(at)modeldriven.com) Nature: Uncategorized Issue Severity: Summary: Specification: Semantics of a Foundational Subset for Executable UML Models (fUML), v1.1, RTF Beta (ptc/2012-10-18) Subclause: 9.2.6 List Functions The FoundationalModelLibrary::PrimitiveBehaviors::ListFunctions currently includes only ListGet and ListSize behaviors. However, given only these functions and the other capabilities in fUML, it is very difficult (if not impossible) to concatenate two arbitrary lists. The ListFunctions package should have a primitive ListConcat behavior to perform this function. Resolution: Add ListFunctions::ListConcat It actually is possible to implement a ListConcat activity, using two "pass-through" structured activity nodes connected by a control flow, which sequentially feed the two lists to be concatenated to a merge node. However, this is certainly not a particularly natural construction. ListSize and ListGet could also actually be implemented using expansion regions/loop nodes (as currently noted in the spec), but it is still more useful to have them as primitive functions. The same is true of ListConcat. Revised Text: In 9.3.6 ListFunctions, replace the last sentence of the first paragraph with: Note that the list arguments for all the list functions are untyped and that the results of ListGet and ListConcat are also untyped. In the first sentence of the second paragraph, remove the phrase "using expansion regions". In Table 9.7, add a new row: ListConcat(list1[*]{ordered,nonunique}, list2[*]{ordered,nonunique}) [*]{ordered,nonunique} Returns the list with all the values of list1 followed by all the values of list2. In the normative fUML_Library.xmi, within the representation for the package FoundationalModelLibrary::PrimitiveBehaviors::ListFunctions, add the following: <packagedElement xmi:type="uml:FunctionBehavior" xmi:id="PrimitiveBehaviors-ListFunctions-ListConcat" name="ListConcat" isAbstract="true" isReentrant="false"> <ownedParameter xmi:type="uml:Parameter" xmi:id="PrimitiveBehaviors-ListFunctions-ListConcat-list1" name="list1" isOrdered = "true" isUnique = "false"> <lowerValue xmi:type="uml:LiteralInteger" xmi:id="PrimitiveBehaviors-ListFunctions-ListConcat-list1-_lowerValue"/> <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="PrimitiveBehaviors-ListFunctions-ListConcat-list1-_upperValue" value="*"/> </ownedParameter> <ownedParameter xmi:type="uml:Parameter" xmi:id="PrimitiveBehaviors-ListFunctions-ListConcat-list2" name="list2" isOrdered = "true" isUnique = "false"> <lowerValue xmi:type="uml:LiteralInteger" xmi:id="PrimitiveBehaviors-ListFunctions-ListConcat-list2-_lowerValue"/> <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="PrimitiveBehaviors-ListFunctions-ListConcat-list2-_upperValue" value="*"/> </ownedParameter> <ownedParameter xmi:type="uml:Parameter" xmi:id="PrimitiveBehaviors-ListFunctions-ListConcat-result" name="result" direction="return" isOrdered = "true" isUnique = "false"> <lowerValue xmi:type="uml:LiteralInteger" xmi:id="PrimitiveBehaviors-ListFunctions-ListConcat-result-_lowerValue"/> <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="PrimitiveBehaviors-ListFunctions-ListConcat-result-_upperValue" value="*"/> </ownedParameter> </packagedElement> Actions taken: February 27, 2013: received issue October 8, 2015: Resolved December 22, 2015: closed issue Discussion: End of Annotations:===== m: Ed Seidewitz To: "issues@omg.org" Date: Wed, 27 Feb 2013 17:25:44 -0500 Subject: ListFunctions should have a ListConcat behavior Thread-Topic: ListFunctions should have a ListConcat behavior Thread-Index: Ac4VOR8pLb83mPhVQZe+YAljqvaP0g== Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: acceptlanguage: en-US X-Mailprotector-Decision: deliver X-Mailprotector-Connection: TLSv1|[10.1.50.225]|10.1.50.225|outbound.mailprotector.net|0.0|0.0|0|||0|0|0|0 X-Mailprotector-Results: null_ptr clean X-Mailprotector-Score: 40 X-Mailprotector-IP-Analysis: 0, 10.1.50.225, Ugly c=0.792909 p=-0.974499 Source White X-Mailprotector-Scan-Diagnostics: 0-0-0-5301-c X-Mailprotector-ID: dade556b-2516-4eb9-a845-7592b6fcc4a6 X-Virus-Scanned: amavisd-new at omg.org Specification: Semantics of a Foundational Subset for Executable UML Models (fUML), v1.1, RTF Beta (ptc/2012-10-18) Subclause: 9.2.6 List Functions The FoundationalModelLibrary::PrimitiveBehaviors::ListFunctions currently includes only ListGet and ListSize behaviors. However, given only these functions and the other capabilities in fUML, it is very difficult (if not impossible) to concatenate two arbitrary lists. The ListFunctions package should have a primitive ListConcat behavior to perform this function.