1、 International Telecommunication Union ITU-T Z.119TELECOMMUNICATION STANDARDIZATION SECTOR OF ITU (02/2007) SERIES Z: LANGUAGES AND GENERAL SOFTWARE ASPECTS FOR TELECOMMUNICATION SYSTEMS Formal description techniques (FDT) Application of formal description techniques Guidelines for UML profile desig
2、n ITU-T Recommendation Z.119 ITU-T Z-SERIES RECOMMENDATIONS LANGUAGES AND GENERAL SOFTWARE ASPECTS FOR TELECOMMUNICATION SYSTEMS FORMAL DESCRIPTION TECHNIQUES (FDT) Specification and Description Language (SDL) Z.100Z.109 Application of formal description techniques Z.110Z.119 Message Sequence Chart
3、(MSC) Z.120Z.129 Extended Object Definition Language (eODL) Z.130Z.139 Testing and Test Control Notation (TTCN) Z.140Z.149 User Requirements Notation (URN) Z.150Z.159 PROGRAMMING LANGUAGES CHILL: The ITU-T high level language Z.200Z.209 MAN-MACHINE LANGUAGE General principles Z.300Z.309 Basic syntax
4、 and dialogue procedures Z.310Z.319 Extended MML for visual display terminals Z.320Z.329 Specification of the man-machine interface Z.330Z.349 Data-oriented human-machine interfaces Z.350Z.359 Human-machine interfaces for the management of telecommunications networks Z.360Z.379 QUALITY Quality of te
5、lecommunication software Z.400Z.409 Quality aspects of protocol-related Recommendations Z.450Z.459 METHODS Methods for validation and testing Z.500Z.519 MIDDLEWARE Processing environment architectures Z.600Z.609 For further details, please refer to the list of ITU-T Recommendations. ITU-T Rec. Z.119
6、 (02/2007) i ITU-T Recommendation Z.119 Guidelines for UML profile design Summary ITU-T provides several languages for telecommunication applications (see Recommendations in the X.680 series, Z.100 series, Z.120 series, Z.130 series, Z.140 series and Z.150 series). Although each of these languages c
7、an be used on its own, they can also be used as a family of system design languages by showing the relationship between the languages. For this purpose, UML defined by the object management group (OMG) can be used as a framework to bind the languages together and capture the relationships through th
8、e creation of a UML profile for each language. The purpose of this Recommendation is to provide a guideline on how to read and write such profiles. Source ITU-T Recommendation Z.119 was approved on 13 February 2007 by ITU-T Study Group 17 (2005-2008) under the ITU-T Recommendation A.8 procedure. ii
9、ITU-T Rec. Z.119 (02/2007) FOREWORD The International Telecommunication Union (ITU) is the United Nations specialized agency in the field of telecommunications. The ITU Telecommunication Standardization Sector (ITU-T) is a permanent organ of ITU. ITU-T is responsible for studying technical, operatin
10、g and tariff questions and issuing Recommendations on them with a view to standardizing telecommunications on a worldwide basis. The World Telecommunication Standardization Assembly (WTSA), which meets every four years, establishes the topics for study by the ITU-T study groups which, in turn, produ
11、ce Recommendations on these topics. The approval of ITU-T Recommendations is covered by the procedure laid down in WTSA Resolution 1. In some areas of information technology which fall within ITU-Ts purview, the necessary standards are prepared on a collaborative basis with ISO and IEC. NOTE In this
12、 Recommendation, the expression “Administration“ is used for conciseness to indicate both a telecommunication administration and a recognized operating agency. Compliance with this Recommendation is voluntary. However, the Recommendation may contain certain mandatory provisions (to ensure e.g. inter
13、operability or applicability) and compliance with the Recommendation is achieved when all of these mandatory provisions are met. The words “shall“ or some other obligatory language such as “must“ and the negative equivalents are used to express requirements. The use of such words does not suggest th
14、at compliance with the Recommendation is required of any party. INTELLECTUAL PROPERTY RIGHTS ITU draws attention to the possibility that the practice or implementation of this Recommendation may involve the use of a claimed Intellectual Property Right. ITU takes no position concerning the evidence,
15、validity or applicability of claimed Intellectual Property Rights, whether asserted by ITU members or others outside of the Recommendation development process. As of the date of approval of this Recommendation, ITU had not received notice of intellectual property, protected by patents, which may be
16、required to implement this Recommendation. However, implementers are cautioned that this may not represent the latest information and are therefore strongly urged to consult the TSB patent database at http:/www.itu.int/ITU-T/ipr/. ITU 2007 All rights reserved. No part of this publication may be repr
17、oduced, by any means whatsoever, without the prior written permission of ITU. ITU-T Rec. Z.119 (02/2007) iii CONTENTS Page 1 Scope 1 2 References. 1 3 Definitions 1 4 Abbreviations 2 5 Profile basics. 2 6 A profile document. 5 6.1 Common conventions. 6 6.2 Text of Recommendation defining the profile
18、 . 7 6.3 Structure of stereotype second level clauses 7 7 Specifying semantics 9 8 Specifying notation. 9 9 An example second level clause. 10 9.1 Property 10 ITU-T Rec. Z.119 (02/2007) 1 ITU-T Recommendation Z.119 Guidelines for UML profile design 1 Scope This Recommendation is intended to provide
19、a common and pragmatic approach to writing, reading and editing an ITU-T Recommendation that is a UML profile for a language within the family of ITU-T system design languages (see Recommendations in the X.680 series, Z.100 series, Z.120 series, Z.130 series, Z.140 series and Z.150 series). Each of
20、UML profile Recommendation for such an ITU-T system design language (hereinafter referred to as an ITU-T language) provides a basis for using UML models with tools for the ITU-T language, adapting UML tools to support the ITU-T language, and being able to integrate models in and tools for the ITU-T
21、language with other models and tools that fit into the UML framework. Such profiles are therefore useful to both toolmakers and language users, though the benefit for language users is most likely to be through supporting tools. 2 References The following ITU-T Recommendations and other references c
22、ontain provisions which, through reference in this text, constitute provisions of this Recommendation. At the time of publication, the editions indicated were valid. All Recommendations and other references are subject to revision; users of this Recommendation are therefore encouraged to investigate
23、 the possibility of applying the most recent edition of the Recommendations and other references listed below. A list of the currently valid ITU-T Recommendations is regularly published. The reference to a document within this Recommendation does not give it, as a stand-alone document, the status of
24、 a Recommendation. OMG UML OMG Unified Modeling Language: Superstructure version 2.1.1 formal/ 2007-02-05 3 Definitions This Recommendation defines the following terms: 3.1 ITU-T language: A formal language defined in an ITU-T Recommendation that is used as a system design language such as the langu
25、ages defined by Recommendations in the X.680 series, Z.100 series, Z.120 series, Z.130 series, Z.140 series and Z.150 series. 3.2 second level clause: The term second level clause shall be used to two-digit numbered text passage. 3.3 system design language: A formal notation that has a well-defined
26、syntax and semantics that is used for some aspect of the engineering systems ranging from statements of requirements for procurement or in standards to the deployment of implemented systems or networks. 3.4 third level clause: The term third level clause shall be used to three-digit numbered text pa
27、ssage. 3.5 top level clause: The term top level clause shall be used to denote single-digit numbered text passage. 2 ITU-T Rec. Z.119 (02/2007) 4 Abbreviations This Recommendation uses the following abbreviations: BNF Backus-Naur Form of syntax description UML Unified Modeling Language 2.0 (see OMG
28、UML) UML-SS OMG UML-2.0 Superstructure Specification (see OMG UML) 5 Profile basics Although UML provides a substantial framework for the description of models, the UML-SS leaves many aspects undefined (or open to semantic variation) including some of the concrete syntax of the language. The result
29、is that for many kinds of model the well-defined parts of UML are inadequate to define a useful language, and a profile is needed. Most UML tools implicitly provide such profiles to make UML practical, for example binding the action language to C+ or Java. For an ITU-T language, a specific profile i
30、s provided binding UML to the semantics of the ITU-T language as defined by the ITU-T Recommendation(s) for that language and therefore closing semantic variation points. The framework of UML covers many different aspects of engineering from requirements capture through to configuration and deployme
31、nt. By contrast, each ITU-T language focuses on more specific modelling such as user requirements expression, definition of protocol data types, modelling message sequences, specification and description of a system of state machines, definition of tests, or interface and deployment characteristics.
32、 Therefore, a UML profile for an ITU-T language is applicable only to those parts of UML covering the same domain: UML is constrained by the profile. The purpose of a UML profile is essentially the following: to define how to associate extra information with model elements in a UML model; to define
33、additional concepts that are not defined by UML, but that can be based on the existing UML concepts; to constrain UML so that the model can be mapped to the ITU-T language. From a pragmatic point of view, a profile is simply a UML package stereotyped with keyword “profile“. The “profile“ package con
34、tains stereotypes that define: tagged values (the attributes of the stereotype); what model element to extend (the extends relation to a metaclass). ITU-T Rec. Z.119 (02/2007) 3 A simple example is shown in Figure 1. profile package UseCaseDetails11profile packagemetaclass fromappropriate metamodele
35、xtension definitionstereotype definitiontag definitions(stereotype attributes)metaclassUML:UseCasestereotypeUseCaseDefPrecondition : CharstringActionSequence : CharstringAlternatives : CharstringPostconidition : CharstringFigure 1 In this example, we have defined a stereotype called UseCaseDef that
36、extends the built-in UML concept UseCase. The purpose of this is to add some extra items to all use cases (the concept defined by UseCase). In this case, the extras are Precondition, ActionSequence, Alternatives and Postcondition attributes of the stereotype. The stereotype extends the metaclass wit
37、h multiplicity 11. This is essential because it will enforce that from a users point of view whenever a use case is created in a package where the profile is applied, the use case will have the specified properties. Moreover, if the stereotype has the same name as the metaclass (in this case UseCase
38、 instead of UseCaseDef), in application models the name UseCase always refers to the extended definition. This is the mechanism that should be used in ITU-T language profiles whenever there is a need to add extra information to the built-in UML concepts. In the text of a profile, multiplicity should
39、 be specified as “multiplicity 11“ or “multiplicity of 11“ to emphasize that there is exactly one. The form “multiplicity 1“ should never be used because this has the same appearance as a reference. There is a derived boolean attribute of the association between metaclass and the stereotype called i
40、sRequired that can be shown as “required“ on the association at the same end as the multiplicity 11. The “required“ notation is redundant compared with the notation for multiplicity of 11, but if these diagrams are drawn it is preferable to use the multiplicity only because isRequired is derived fro
41、m the multiplicity and there is no explicit notation for “not required“. 4 ITU-T Rec. Z.119 (02/2007) A second use of a profile is to introduce new concepts. A simple example is shown in Figure 2. Optionally appliedstereotypeprofile package UseCaseDetailsstereotypeImportantUseCasePriority: Integerme
42、taclassUML:UseCase01Figure 2 In this example, we have introduced a new concept called “ImportantUseCase“. From a users point of view, it would be visible as a stereotype that optionally can be applied to use cases. The key point to notice is that the multiplicity of the extends relation is “01“. Thi
43、s means that some UseCases will be ImportantUseCases, but not all of them. This is the mechanism that should be used in ITU-T language profiles, when there is a need to add concepts that have no direct mapping to a built-in UML concept. Occasionally the same UML concept has two (or more) alternative
44、 extensions, one of which should be applied. In this case, the original UML concept should be extended with the stereotype multiplicity 11 with the same name as the original concept, and this stereotype is extended with the alternative extensions with multiplicity 01 with different names. The stereo
45、type of the original UML concept shall have an additional constraint that every extension shall have the constraints and properties of one (and only one) of the alternative extensions. In UML, a profile is applied to a package using a dashed arrow notation with the keyword apply within quotes as in
46、Figure 3. package MyPackage MyPackage apply UseCaseDetails Figure 3 ITU-T Rec. Z.119 (02/2007) 5 However, it should be noted that UML tools also usually provide simpler ways to apply profiles, so from a users point of view, the relevant ITU-T profile would simply be selected in the user interface of
47、 the tool and would then immediately give access to the definitions in the profile. To summarize, the main points of the UML profile definitions that should be used when defining ITU-T language profiles: stereotypes that extend the built-in UML metaclasses with multiplicity 11 are used to add extra
48、information to built-in UML concepts; stereotypes that extend the built-in UML metaclasses with multiplicity 01 are used to define new concepts based on the built-in UML concepts. 6 A profile document Table 1 Arrangement of elements (typical) Element Clause numbers Introductory materiala)Title pageb
49、), Summary, Sourceb), Keywords (optional), Forewordb), Table of contentsb), Introduction (describes the purpose of the profile) None Recommendation core material Title None Scope (describes the scope of the profile, and the following second level clauses) 1 Conformance (stating rules for conformance) 1.1 Notation (stating notation guidelines for the UML) 1.2 Restrictions to languages (for example Restriction to MSC and UML, stating the parts of the ITU-T language and UML-SS covered) 1.3 Reference