Issue 18454: Keywords are inconsistently defined and applied (uml25-ftf) Source: Microsoft (Mr. Steve Cook, stcook(at)microsoft.com) Nature: Uncategorized Issue Severity: Summary: The word “keyword” is used inconsistently throughout the spec. It is defined in Annex C, which clearly says that keywords are always enclosed in guillemets, and lists the keywords that appear in the spec. Non-stereotype keyword are currently all defined starting with lower case, while standard stereotypes (also listed in Annex C and counting as keywords) use upper case. However: 1. Several keywords defined in the spec are missing from Annex C: bind, collaboration, complete, disjoint, parallel, iterative, stream and flow. 2. Several references in the spec to standard stereotypes use lower case and should use upper: derive, refine, trace 3. In 7.7.5 instantiate is described and lower-cased as a keyword when it should be referred to as a standard stereotype in upper case 4. 9.2.4 states that the standard notation for classifiers “shows the metaclass in guillemets”. This is not true: almost all classifiers define a lower-case keyword for their notation, such as interface; sometimes the keyword is different from the metaclass name, e.g. primitive. 5. Notwithstanding the above, the notations for Collaboration, Class and StateMachine explicitly and inconsistently use the metaclass name with uppercase. In the case of Collaboration (11.7.4) and Class (11.4.4), Annex C is missing the keyword; in the case of StateMachine, Annex C shows it as statemachine. 6. Some words are described as keywords when they are not. Clause 13: all, at, after, when; clause 14: via, protocol; clause 17: sd, self, out, strict 7. Annex C itself uses the phrase ‘the keyword “trace”’ when it should surely say ‘the keyword «Trace»’. Resolution: Revised Text: Actions taken: February 14, 2013: received issue Discussion: End of Annotations:===== m: Steve Cook To: Juergen Boldt Subject: FW: UML 2.5 issue. Keywords are inconsistently defined and applied Thread-Topic: UML 2.5 issue. Keywords are inconsistently defined and applied Thread-Index: Ac4J3gsz9+F1duK+SfyPzcTtVRhJXwAtbRZA Date: Thu, 14 Feb 2013 09:20:58 +0000 Accept-Language: en-GB, en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.166.18.104] X-Forefront-Antispam-Report: CIP:131.107.125.37;CTRY:US;IPV:CAL;IPV:NLI;EFV:NLI;SFV:NSPM;SFS:(189002)(199002)(16236675001)(4396001)(76482001)(512954001)(16406001)(56776001)(79102001)(53806001)(54316002)(5343655001)(47446002)(5343635001)(80022001)(20776003)(15202345001)(33656001)(51856001)(54356001)(74502001)(74662001)(50986001)(44976002)(47976001)(31966008)(65816001)(56816002)(47736001)(55846006)(63696002)(46102001)(59766001)(77982001)(49866001);DIR:OUT;SFP:;SCL:1;SRVR:BL2FFO11HUB022;H:TK5EX14MLTC104.redmond.corp.microsoft.com;RD:InfoDomainNonexistent;MX:1;A:1;LANG:en; X-OriginatorOrg: microsoft.onmicrosoft.com X-Forefront-PRVS: 0757EEBDCA X-Virus-Scanned: amavisd-new at omg.org Juergen I sent this issue yesterday before the other ones . you have logged the others but appear to have missed this one. Thanks -- Steve From: Steve Cook [mailto:Steve.Cook@microsoft.com] Sent: 13 February 2013 11:58 To: issues@omg.org Cc: uml25-ftf@omg.org Subject: UML 2.5 issue. Keywords are inconsistently defined and applied The word .keyword. is used inconsistently throughout the spec. It is defined in Annex C, which clearly says that keywords are always enclosed in guillemets, and lists the keywords that appear in the spec. Non-stereotype keyword are currently all defined starting with lower case, while standard stereotypes (also listed in Annex C and counting as keywords) use upper case. However: 1. Several keywords defined in the spec are missing from Annex C: bind, collaboration, complete, disjoint, parallel, iterative, stream and flow. 2. Several references in the spec to standard stereotypes use lower case and should use upper: derive, refine, trace 3. In 7.7.5 instantiate is described and lower-cased as a keyword when it should be referred to as a standard stereotype in upper case 4. 9.2.4 states that the standard notation for classifiers .shows the metaclass in guillemets.. This is not true: almost all classifiers define a lower-case keyword for their notation, such as interface; sometimes the keyword is different from the metaclass name, e.g. primitive. 5. Notwithstanding the above, the notations for Collaboration, Class and StateMachine explicitly and inconsistently use the metaclass name with uppercase. In the case of Collaboration (11.7.4) and Class (11.4.4), Annex C is missing the keyword; in the case of StateMachine, Annex C shows it as statemachine. 6. Some words are described as keywords when they are not. Clause 13: all, at, after, when; clause 14: via, protocol; clause 17: sd, self, out, strict 7. Annex C itself uses the phrase .the keyword .trace.. when it should surely say .the keyword «Trace».. Thanks -- Steve Date: Tue, 19 Mar 2013 15:01:13 +0000 From: Dave Hawkins User-Agent: Mozilla/5.0 (X11; Linux i686 on x86_64; rv:17.0) Gecko/17.0 Thunderbird/17.0 To: "Manfred R. Koethe" CC: "uml25-ftf@omg.org" Subject: [UML 2.5 FTF] Ballot 3 - Preview 3 - Issue 18454 X-Source-IP: ucsinet21.oracle.com [156.151.31.93] X-Virus-Scanned: amavisd-new at omg.org X-Brightmail-Tracker: AAAAAR0YzSg= X-Brightmail-Tracker: AAAAAA== A number of definitions are to be removed. However this list doesn't include: all, at, after and when despite the updates to section 13.3.4. Although section 14.3.4 describes extended as a keyword and places it in guillemets, the figures 14.37 and 14.38 actually use braces as originally described in the table. So either the keyword should no longer be referred to as such and should be removed from the table, or, preferrably, the diagrams should be updated. If 14.3.7 and 14.38 are updated to use guillemets, it would be consistent to update figure 14.42 for protocol. In which case protocol needs to be referred to as a keyword and added to the keywords table. It should probably be added anyway because 14.2.4 indicates that a StateMachine can use the classifier notation with the 'statemachine' keyword and a ProtocolStateMachine is a StateMachine so needs something similar. Cheers, Dave On 16/03/13 21:03, Manfred R. Koethe wrote: Dear Colleagues, Here is Preview 3 of Ballot 3. Issue 8274 and 17933 are withdrawn from this ballot. Kind regards, Manfred --------------------------------------------------------------- Manfred R. Koethe 88solutions Corporation tel: +1 (617) 848 0525 fax: +1 (815) 550 2086 mailto: koethe@88solutions.com web: http://www.88solutions.com --------(Model-Driven Modeling Solutions)-------- -- Dave Hawkins | Principal Software Engineer | +44 118 924 0022 Oracle JDeveloper Development Oracle Corporation UK Ltd is a company incorporated in England & Wales. Company Reg. No. 1782505. Reg. office: Oracle Parkway, Thames Valley Park, Reading RG6 1RA.