1、INTERNATIONAL STANDARD ISO/IEC 14568 First edition 1997-05-l 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. i
2、v INTERNATIONAL STANDARD 0 ISO/IEC ISO/IEC 14568: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
3、applicable to: 1. exchanging ISO/IEC 8631 compliant 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 proce
4、dure oriented algorithms. This International Standard does not specify: 1. graphical information about a chart, such as the shape, size, and location of symbols; 2. configuration information of a chart, such as its version, author, and tile name; or 3. information about the data used in the algorith
5、m described by DXL, such as its structure, reading 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 vali
6、d. All standards are subject to revision, and parties to agreements based on this International Standard are encouraged to investigate the possibility of applying the most recent editions of the standards indicated below. Members of IEC and IS0 maintain registers of currently valid International Sta
7、ndards. ISOIIEC 646: 199 1, Information technology - IS0 7-bit coded character setfor information interchange. ISO/IEC 2022: 1994, Information technology - Character code structure and extension techniques. ISO/IEC 4873: 199 1, Information technology - IS0 8-bit code for information interchange - St
8、ructure and rules for implementation. IS0 5807: 1985, Information processing - Documentation symbols and conventions for data, program and system flowcharts, program network charts and system resources charts. ISO/IEC 863 1: 1989, Information technology - Program constructs and conventions for their
9、 represen- tation. IS0 8859-l : 1987, Information processing - 8-bit single-byte coded graphic character sets - Part I: Latin alphabet No. I. ISOIIEC 10646- 1: 1993, Information technology - Universal Multiple-Octet Coded Character Set (UCS) - Part I: Architecture and Basic Multilingual Plane. Curre
10、ntly under revision. 1 ISOLIEC 14568:1997(E) 0 ISO/IEC 3 Definition and acronym For the purposes of this International Standard, the following definition and acronym apply. 3.1 Definition 3.1.1 tree-structured chart: A chart depicting program constructs defined in ISO/IEC 863 1 and having the struct
11、ure of a tree. 3.2 Acronym 3.2.1 CASE: Computer Aided Software Engineering 4 Notation of DXL syntax The metalanguage used in this International Standard to specify the syntax of the constructs is based on Backus-Naur Form. The notation has been modified from the original to permit more convenient de
12、scription. Table 1 lists the meanings of the various meta-symbols. Table 1: Metalanguage Symbols There are two levels of compliance, level 0 and level 1. Level 0 includes syntactic elements compliant only to Program Constructs of ISO/IEC 8631. Level 1 includes level 0 and syntactic elements correspo
13、nding to subdivided elements of Program Constructs. 5 Definition of DXL 5.1 Lexical elements := 1 - - - : := - := 1 1 1 ) 1 1 := ; I : := M-Packet 1 End-M Packet ( Profile ) End Profile I Identification r End-Identification I Identifier I is I Module Algorithm I End-Module-Algorithm I imperative I “
14、null” I “call” I “goto” 1 “abstract” I begin I end 1 parallel I endparallel I loop I end-loop I condition I “while” I “until” I “for” ) if I then I end-if I exclusive-select ( else-if I else I end-exclusive-select I case 1 when I inclusive select I end inclusive select I terminate I system I module
15、7 block 2 0 ISO/IEC ISO/IEC 14568:1997(E) := := f I := I := - 1 := “O - ,” 1 “Oh” A is one of the graphical characters defined in ISO/IEC 646, ISO/IEC 2022, ISO/IEC 4873 andSO/IEC 8859-l. A is another standard character such as ISO/IEC 10646-l. is LF defined in ISO/IEC 646. is HT defined in ISO/IEC
16、646. A is separated from other lexical elements by delimiters (, ,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 description rule of and is implementation-dependent. Delimiters can be inserted into
17、only by putting an escape character immediately in front of them. 5.2 Module Packet Module Packet is a unit for exchanging tree-structured charts among CASE tools. ) End-M-Packet ; 5.3 Profile Paragraph Profile Paragraph supplements information used to analyze and . - := Profile End-Profile ; should
18、 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 Module Identification Paragraph Module Identification Paragraph provides the name and the overview of
19、the following immediately afterwards. 3 ISO/IEC 14568:1997(E) 0 ISOhEC - := Identification Identifier is ; End-Identification ; shall be unique within Module Packet. should include: 1. the module specification, such as function, usage, and interface; 2. the module type, such as system, subprogram, t
20、ask, process, procedure, subroutine, or function; and 3. the programming language for implementing the module. 5.5 Module Algorithm Paragraph Each Module Algorithm Paragraph describes an algorithm of a tree-structured chart for each module. - := Module-Algorithm End-Module-Ago 5.5.1 Statement := “:”
21、 r= I - - := identifies an immediately following . is valid only inside the module it is in. shall be unique within the . 5.5.2 Imperative Statement := . Imperative - - ; := - := I I - = “null” . . = “ca,” . . - := - = “goto” . . corresponds to Imperative Construct of ISO/IEC 8631. This statement de
22、notes a process thatexecutes and transfers its control 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 control to the module specified by - denotes a process that transfers its control to
23、the place specified by . 5.5.3 Blocked Statement - := - “abstract” - - . .= . . - 4 0 ISO/IEC ISO/IEC 14568: 1997(E) := := - - - corresponds to Serial Statement, Parallel Statement, Iterative Statement, or Selective Choice Statement of ISO/IEC 863 1. NOTE expresses abstract process descriptions in t
24、he stepwise refinement. An example of DXL description with this statement 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 Serial Construct of ISOAEC 8631, whi
25、ch denotes a set of sequential process corresponds to Parallel Construct of ISO/IEC 8631, which denotes a parallel process execution. 5.5.6 Iterative Statement := - I I -:= - - -condition loop end-loop ; := - - - ?oop end-loop condition ; := loop end loop - - ; := “while” “until” I “for” - - := “whi
26、le” “until” corresponds to Iterative Construct of ISO/IEC 863 1. This statement denotes a repeated process w%h a control condition described by . 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 t
27、he condition is satisfied. c) for: Continue a loop within the discrete range of . 5 ISO/IEC 14568: 1997(E) 0 ISO/IEC 5.5.7 Selective Choice Statement := - cmonadic selective statement := % - - end-if ; - then := - 4 type selective statement I := exclusive select if- then else-if then else end exclus
28、ive-select ; := - - exclusive select case when end exclusive-select ; := inclusive selective statement := - inclusive select case when : end-inclusive-select ; corresponds to Selective Choice Construct of ISOAEC 863 1, which denotes a conditional selection of processes. corresponds to Dyadic Selecti
29、ve Construct and Multiple Exclusive Selective Construct of ISO/IEC 863 1. DXL provides two types of statements to describe a condition of the multiple exclusive selective choice: and . - - - type - - - selects the that corresponds to the first having a boolean value %ue” has a boolean value “false”,
30、 in the enumerated conditions. If every following else is selected. the immediately selects the that corresponds to the first coinciding with in the enumerated conditions. corresponds to Multiple Inclusive Selective Construct of ISO/lEC 863 1. - - 5.5.8 Termination Statement := := terminate ; system
31、 I module ) block - corresponds to Termination of ISO/IEC 863 1. - If - is system, all modules related to this termination stop here. If is module, the module that contains this termination stops here and returns its control to the calling module. 6 0 ISO/IEC ISOAEC 14568:1997(E) If is block, the bl
32、ock identified by stops here and transfers its control to the next statement of this block. 7 ISOAEC 14568: 1997(E) Annex A (informative) 0 ISO/IEC Examples of DXL description A.1 Example with “Abstract” M-Packet Profile Codeset: default; Identifier: Max(32); Specification: default; Originated: HCPt
33、oos 1 .O; 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 tile; Constraints: Only English words can be counted; Revision: 06/05/95 H.T.; Design: 05/30/95
34、 H.N.; 1 End-Identification; - This is a sample chart - for experimental descriptions. 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 loop imperat
35、ive Read one record; if End-of-file then terminate block I; end-if; abstract Count the number of words in the record loop abstract Search for words in the record begin 8 0 ISO/IEC ISO/IEC 14568: 1997(E) abstract Search for a head character of a word loop abstract Search for a head character exclusiv
36、e select if Alphabetical Character then terminate block I; else if Other character then imperative null; else:if End-of-record then terminate block I; end-exclusive select; - end-loop; abstract Search for a delimiter between words loop abstract Search for a head character of the delimiter exclusive
37、select if Alphabetical Character then imperative null; else if Other character then terminate block; elseIif End-of-record then terminate block I; end exclusive select; end-ioop; - end; imperative Add 1 to the value of the word-counter; end-loop; end-loop; abstract Post-process begin imperative Clos
38、e the tile; end; end; End-Module-Algorithm; End-M-Packet; A.2 Example without “Abstract” M-Packet Profile Codeset: default; Identifier: Max(32); Specification: default; Originated: HCPtoos 1 .O; 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 be counted; 9