1、C SA I N T ERN AT ION A1 / - I International Standard ISO/IEC 14568199 7 (first edition 1997-05-15) has been adopted without modification as CSA Standard CAN/CSA-ISO/IEC 14568-00, which has been approved as a National Standard of Canada by the Standards Council of Canada. ISBN 1-55324-093-6 March 20
2、00 National Standard of Canada (ISO/IEC 14568:1997) CAAl,/CSA=ISO/T.EC 14568-00 Information technology - DXL: Diagram exchange Language for tree-structured charts Technologies de /information - DXL: Langage pour this remains the continuing responsibility of the accredited stand a rds-deve Io pmen t
3、org a n izat ion. Those who have a need to apply standards are encouraged to use National Standards of Canada whenever practicable. These standards are subject to periodic review; therefore, users are cautioned to obtain the latest edition from the organization preparing the standard. The responsibi
4、lity for approving National Standards of Canada rests with the Standards Council of Canada 45 OConnor Street, Suite 1200 Ottawa, Ontario, K1 P 6N7 Canada A National Standard of Canada is a standard which Although the intended primary application of this Standard is stated in its Scope, it is importa
5、nt to note that it remains the responsibility of the users to judge its suitability for their particular purpose. lnformation technology - DXL: Diagram eXchqnqe Language for tree-structured charts CAN/CSA-ISO/IfC 7 4568-00 CAN/CSA-ISO/IEC 14568-00 Infomation technology - DXL: Diagram exchange Langua
6、ge for tree-structured charts CSA Preface Standards development within the Information Technology sector is harmonized with international standards development. Through the CSA Technical Committee on Information Technology (TCIT), Canadians serve as the Canadian Advisory Committee (CAC) on ISO/IEC J
7、oint Technical Committee 1 on Information Technology (ISO/IEC JTCI) for the Standards Council of Canada (SCC), the IS0 member body for Canada and sponsor of the Canadian National Committee of the IEC. Also, as a member of the International Telecommunication Union (ITU), Canada participates in the In
8、ternational Telegraph and Telephone Consultative Committee (ITU-T). This International Standard was reviewed by the CSA TCIT under the jurisdiction of the Strategic Steering Committee on Information Technology and deemed acceptable for use in Canada. (A committee membership list is available on requ
9、est from the CSA Project Manager.) From time to time, ISO/IEC may publish addenda, corrigenda, etc. The CSA TCIT will review these documents for approval and publication, For a listing, refer to the CSA Information Products catalogue or CSA lnfo Update or contact a CSA Sales representative. This Sta
10、ndard has been formally approved, without modification, by these Committees and has been approved as a National Standard of Canada by the Standards Council of Canada. March 2000 0 CSA International - 2000 All rights reserved. No part of this publication may be reproduced in any form whatsoever witho
11、ut the prior permission of the publisher. ISO/IfC material is reprinted with permission. inquiries regarding this National Standard of Canada should be addressed to CSA International, 7 78 Rexdale Boulevard, Toronto, Ontario, MPW 1 R3. March 2000 CSA/1 I NTE RNATI ONAL STANDARD ISOJIEC 14568 First e
12、dition 1997-05-1 5 Information technology - DXL: Diagram exchange Language for tree-structured charts Technologies de /information - DXL: Langage pour and 2. existing CASE data can also be reused if it can be converted through the data exchange language. iv INTERNATIONAL STANDARD 0 ISO/IEC ISO/IEC 1
13、4568:1997(E) Information technology - DXL: Diagram exchange Language for tree-structured charts 1 Scope This International Standard specifies the semantics and syntax of DXL. DXL is a language for exchanging tree-structured charts among CASE tools. DXL is applicable to: 1. exchanging ISO/IEC 8631 co
14、mpliant tree-structured charts (examples of which are shown in annex A (informative) of ISO/IEC 863 1); 2. exchanging program flowcharts defined in ISO/IEC 5807 if they are well-structured and dont have data defined in ISO/IEC 5807; and 3. describing procedure oriented algorithms. This International
15、 Standard does not specifl: 1. graphical information about a chart, such as the shape, size, and location of symboIs; 2. configuration information of a chart, such as its version, author, and file name; or 3. information about the data used in the algorithm described by DXL, such as its structure, r
16、eading and writing, and declaration. 2 Normative references The following standards contain provisions which, through reference in this text, constitute provisions of this International Standard. At the time of publication, the editions indicated were valid. All standards are subject to revision, an
17、d parties to agreements based on this International Standard are encouraged to investigate the possibiIity of applying the most recent editions of the standards indicated below. Members of IEC and IS0 maintain registers of currently valid International Standards. ISO/IEC 646: 199 1, Information tech
18、nology - IS0 7-bit coded character set for information interchange. ISO/IEC 2022: 1994, Information technology - Character code structure and extension techniques. ISO/IEC 4873 : 1991, Information technology - IS0 1 : I := M-Packet I End-M-Packet I I I I Profile I End-Profile I Identification I End-
19、Identification I Identifier 1 is 1 Module-Algorithm I End-Module-Algorithm 1 imperative I “null” 1 “call” j “goto” I “abstract” I begin 1 end I parallel I endjarallel I loop I end-Ioop I condition I “while” I “until” I “fr” I if 1 then f end-if I exclusive-select I else-if I else I end-exclusive-sel
20、ect I case 1 when I inclusive-seiect I end-inclusive-select I terminate I system I module I block 2 0 ISOLIEC ISO/IEC 14568:1997(E) := 3 := 1 I J := I := - I (TAB := “% ” 1 1 “% ” A is one of the graphical characters defined in ISO/?EC 646, ISO/IEC 2022, ISOAEC 4873 and ISOAEC 8859-1. A is another s
21、tandard character such as ISOIIEC 10646-1. are control characters defined in ISO/IEC 646. is separated from other lexical elements by delimiters (c, I, , %, I%, ;) or by one or more spaces. identifies a part of or a position in a module. in describes a specification of a process or a condition. The
22、description rule of and is implementation-dependent. Delimiters can be inserted into only by putting an escape character immediately in fiont of them. 5.2 Module Packet Module Packet is a unit for exchanging tree-structured charts among CASE tools. := M-Packet End-MPacket ; 5.3 Profile Paragraph Pro
23、file Paragraph supplements infomation used to analyze and . := Profile 3 End-P r o fi 1 e ; should include: 1. the code set used in and ; 2. the maximum string length of , , , and ; 3. the type of tree-structured chart; and 4. information about the level of compliance described in clause 4. 5.4 Modu
24、le Identification Paragraph Module Identification Paragraph provides the name and the overview of the following immediately afterwards. 3 ISO/IEC 14568: 1997(E) 0 ISO/IEC := Identification Identifier is ; End-Identification ; shatl be unique within Module Packet. shouId include: 1. the module specif
25、ication, such as function, usage, and interface; 2. the module type, such as system, subprogram, task, process, procedure, subroutine, or function; and 3. the programming language for impIementing the module. 5.5 Module Algorithm Paragraph Each Module Algorithm Paragraph describes an algorithm of a
26、tree-structured chart for each module. := Module-Algorithm End-Module-Algori thm ; 5.5.1 Statement := “:” 1 := I I := identifies an immediately following . is valid only inside the module it is in. shall be unique within the . 5,5.2 Imperative Statement := := I 1 := nul1” := := “goto” := imperative
27、; := “call” corresponds to Imperative Construct of ISO/IEC 863 1. This statement denotes a process that executes and transfers its controI to the next statement. denotes a process that does not execute anything and transfers its control to the next statement. denotes a process that transfers its con
28、trol to the module specified by . denotes a process that transfers its control to the place specified by . 5.5.3 BIocked Statement := “abstract” 4 0 ISO/IEC ISO/IEC 14568: 1997(E) := := I I expresses abstract process descriptions in the stepwise refinement. An example of DXL description with this st
29、atement is given in clause A. 1. identifies the immediately following is valid only inside the module it is in. shall be unique within the . 5.5.4 Serial Statement := begin end ; corresponds to SeriaI Construct of ISO/IEC 863 1 , which denotes a set of sequential processes. 5.5.5 Parallel Statement
30、:= parallel endgarallel ; corresponds to Parallel Construct of ISO/IEC 863 1, which denotes a parallel process execution. 5.5.6 Iterative Statement -4 terative-statement : := 1 1 := condition J end-loop ; loop end-loop condition ; := loop end-loop ; := C := “while” 1 “until” “for” := “while” I “unti
31、l” cposttested-iteration-statement := . Both and distinguish control conditions into the following types: a) while: Continue a loop while the condition is satisfied. b) until: Stop a loop when the condition is satisfied. c) for: Continue a loop within the discrete range of . 5 ISO/IEC 14568:1997(E)
32、0 ISOAEC 5.5.7 Selective Choice Statement := I I := if Cmultip le-exc lusive-selective-statemeno : := end-if ; : : = exclusive-select if then else-if then else end-exclusive-select ; exclusive-select case end-exclusive-select ; := when : := := := inclusive-select case end-inclusive-select ; when : c
33、orresponds to Selective Choice Construct of ISO/IEC 843 I, which denotes a conditional selection of processes. and . selects the that conxponds to the first having a boolean value “true” in the enumerated conditions. If every has a boolean value “false”, the immediately following else is seIected. t
34、hat corresponds to the first coinciding with in the enumerated conditions. := terminate ; corresponds to Termination of ISO/IEC 863 1 . If is system, all modules related to this termination stop here. If is block, the block identified by stops here and transfers its control to the next statement of
35、this block. 7 ISO/IEC 14568:1997(E) Annex A (informative) Examples of DXL description A.1 Example with “Abstract” M-Pac ket Profile Codeset: default; Identifier: Max(32); Specification: default; Originated: HCPtoos 1 .O; 1 End-Pro file; Identification Identifier is ; Title: Word count program; Modul
36、e: int word-count(char *); Input: File name; Output: Number of word; Function: Count the number of word in the input file; Constraints: Only English words can be counted; Revision: 06/05/95 H.T.; Design: 05/30/95 H.N.; 3 End-Identi fication; - This is a sample chart - for experimental descriptions,
37、Module-Algorithm abstract Count the number of words in a file begin abstract Pre-process begin imperative Open the file; imperative Initialize the word-counter; end; abstract Count the number of words I oop imperative Read one record; if End-of-file then terminate block I; end-if; abstract Search fo
38、r words in the record begin 8 0 ISO/IEC IsO/IEC 14548: 1997(E) abstract Search for a head character of a word loop abstract Search for a head character exclusive-select if Alphabetical Character else-if Other character then imperative null; else-if End-of-record then terminate block I; then terminat
39、e block 13; end-exclusive-select; end-loop; abstract Search for a delimiter between words Ioop abstract Search for a head character of the delimiter exclusive-select if Alphabetical Character then imperative null; else-if Other character then terminate block; else-if End-of-record then terminate blo
40、ck I; end_exclusive_select; end-loop; end; imperative Add 1 to the value of the word-counter; end-loop; end-loop; CBLKOO 1 O abstract Post-process begin end; imperative CIose the file; end; End-ModuleAlgorithm; End-M-Packet; A.2 Example without “Abstract” M-Pac ket Profile Codeset: default; Identifi
41、er: Max(32); Specification: default; Originated: HCPtoos 1.0; 1 End-Profile; Identification Identifier is ; Title: Word count program; Module: int word-count(char *); Input: File name; Output: Number of word; Function: Count the number of word in the input file; Constraints: Only English words can b
42、e counted; 9 ISO/IEC 14568:1997) 0 ISOAEC Revision: 06/05/95 H.T; Design: 05/30/95 H.N; I End-Identification; - This is a sample chart - for experimental descriptions. Module-Algorithm begin begin imperative Open the file; imperative Initialize the word-counter; end; I; end-if; loop CBLKOOD begin lo
43、op exclusive-select if Alphabetical Character then terminate block I; else-if Other character then imperative nulI; else-if End-of-record then terminate block I; end-exclusive-select ; end-loop; loop exclusive-select if Alphabetical Character then imperative null; else-if Other character then termin
44、ate blockCBLK008; else-if End-of-record then terminate block I; end-exclusive-select ; end-loop; end; imperative Add 1 to the value of the word-counter; end-loop; end-loop; CBLKOO 1 O begin end; imperative Close the file; end; End-Mo dule-A 1 gor ithm ; End-M-Packet ; 0 ISOAEC ISO/IEC 14568:1997(E)
45、Annex B (informative) Correspondences between DXL syntax and program constructs of ISOfiEC 8631 DXL syntactic elements are classified based on the correspondence to program constructs of ISO/IEC 863 1. 1. Imperative Construct of ISOAEC 8631 includes: := := : := - . .= : := - := . .= . .- . .- : := ;
46、 I 1 “null” “call” goto” J “abstract” I I 2. Serial Construct of ISOAEC 8631 includes: := begin end ; 3. Parallel Construct of ISO/IEC 8631 includes: endgarallel ; 4. Iterative Construct of ISOAEC 8631 includes: 4terative-staternenP := I loop end-Loop ; loop end-loop condition ; loop end-loop ; cpos
47、ttested-iteration-statement := := := := “while” 1 “until” 1 “for” := “while I “until” 5. Selective Choice Construct of ISO/IEC 8631 includes: := I I then end-if ; 11 ISO/IEC 14568:1997(E) 0 ISOAEC := 1 := excIusive-select if then else-? then end-exclusive-select ; := when : := := multipleinclusivese
48、lectivestatemen := inclusive-select case : 1 6. Termination of ISO/IEC 8631 includes: := terminate ; := system 1 module I block 12 0 ISOOEC Annex C (informative) Position of DXL DXL is one of the languages for exchanging charts and diagrams among CASE tools. The standardization of such languages and formats is ongoing in ISOAEC JTC