EAST Language Changes - DEBAT - Development of EAST Based

advertisement
DEBAT: Development of EAST Based Access Tools
EAST Language Changes
Contract: 16562/02/I-LG
Reference: SS/DEBAT/ELC
Issue: 1.0
Date: 14/10/2003
Prepared by:
Date:
DEBAT Team
Checked by:
Date:
Josiane Denailhac
Approved by:
Date:
Laurent Cohen
DEBAT – Development of EAST Based Access Tools
EAST Language Changes
Reference : SS/DEBAT/ELC
Issue
: 1.0
Date
: 14/10/03
Page
:i
Document Status Sheet
Document Title
Document Reference Number
Issue
Revision
Date
1
0
14/10/03
EAST Language Changes
SS/DEBAT/ELC
Reason for change
First version
DEBAT – Development of EAST Based Access Tools
EAST Language Changes
Reference : SS/DEBAT/ELC
Issue.
: 1.0
Date
: 14/10/03
Page
: ii
Document Change Records
Document Title
Document Reference Number
Document Issue/Revision Number
Page Paragraph
All
First version
EAST Language Changes
SS/DEBAT/ELC
1.0
Reason for change
DEBAT – Development of EAST Based Access Tools
EAST Language Changes
Reference : SS/DEBAT/ELC
Issue.
: 1.0
Date
: 14/10/03
Page
: iii
Table of contents
DOCUMENT STATUS SHEET ....................................................................................................... I
DOCUMENT CHANGE RECORDS .............................................................................................. II
TABLE OF CONTENTS................................................................................................................ III
ACRONYMS AND ABBREVIATIONS ....................................................................................... IV
APPLICABLE DOCUMENTS ...................................................................................................... VI
REFERENCE DOCUMENTS ...................................................................................................... VII
1. INTRODUCTION.......................................................................................................................... 1
1.1 PURPOSE ...................................................................................................................................... 1
1.2 SCOPE .......................................................................................................................................... 1
1.3 STRUCTURE OF THE DOCUMENT ................................................................................................... 1
1.4 DEFINITIONS ................................................................................................................................ 2
2. EAST LANGUAGES CHANGES ................................................................................................ 3
2.1 VERSION MANAGEMENT............................................................................................................... 3
2.1.1 Rationale .............................................................................................................................. 3
2.1.2 Changes to the EAST language ............................................................................................ 3
2.2 DEFAULT VALUES ........................................................................................................................ 3
2.2.1 Rationale .............................................................................................................................. 3
2.2.2 Changes to the EAST language ............................................................................................ 3
2.3 CONSTANTS AND STRING CONSTANTS .......................................................................................... 4
2.3.1 Rationale .............................................................................................................................. 4
2.3.2 Changes to the EAST language ............................................................................................ 5
2.4 UNIQUELY IDENTIFYING ELEMENTS ............................................................................................. 6
2.4.1 Rationale .............................................................................................................................. 6
2.4.2 Changes to the EAST language ............................................................................................ 6
2.5 CALCULATION CAPABILITIES ....................................................................................................... 7
2.5.1 Rationale .............................................................................................................................. 7
2.5.2 EAST language changes ....................................................................................................... 8
2.5.2.1
Array lengths ............................................................................................................ 8
2.5.2.2
Discriminants ........................................................................................................... 9
DEBAT – Development of EAST Based Access Tools
EAST Language Changes
Reference : SS/DEBAT/ELC
Issue
: 1.0
Date
: 14/10/03
Page
: iv
Acronyms and Abbreviations
ADD
AMS
API
AR
ATP
CA
CAID
CAO
CAOS
CDF
CDR
CEOS
CFI
CNES
COTS
CCSDS
DEAL
DEBAT
DEBAT-DM
DEBAT-DPE
DEBAT-DEQ
DEBAT-PPT
DEBAT-UT
DDR
DDU
DDF
DED
DEDSL
DEW
DIP
DJF
DUW
DW
EAST
ECSS
EO
ESA
ESRIN
ERS
ESA
EVA
FA
FAQ
FAR
FAT
Architectural Design Document
Archive Management System
Application Program Interface
Acceptance Review
Authorisation To Proceed
Control Authority
Control Authority Identifier
Control Authority Office
Control Authority Office System
Common Data Format
Critical Design Review
Committee on Earth Observation Science
Customer Furnished Item
Centre National D’Etudes Spatiales (French Space Agency)
Commercial Off The Shelf
Consultative Committee for Space Data Systems
Display EAST Access List
Development of EAST Based Access Tools
DEBAT Data Modeller
DEBAT Data Producer & Editor
DEBAT Data Extractor & Querying
DEBAT Post Processing Tools
DEBAT Utilities
Data Description Record
Data Description Unit
Design Definition File
Data Entity Dictionary
Data Entity Description Specification Language
Data Extractor Wizard
Dissemination Information Package
Design Justification File
Data Update Wizard
DEBAT Workshop
Enhanced ADA Sub SeT
European Cooperation for Space Standardization
Earth Observation
European Space Agency
European Space Research INstitute
European Remote Sensing satellite
European Space Agency
ESA Virtual Archive
Final Acceptance
Frequently Asked Question
Factory Acceptance Review
Factory Acceptance Tests
DEBAT – Development of EAST Based Access Tools
EAST Language Changes
FDIR
FP
FPA
GUI
HDF
HTML
HTTP
HW
ICD
IDVP
IR
ITT
JSP
KOM
MACAO
MMI
NAS
OAIS
OASIS
OSAT
PAP
PDR
PMP
PUS
PVL
RB
RID
RTD
SCMP
SIP
SOAP
SOW
SPMP
SRR
SVG
TM/TC
TS
UDDI
SRD
URD
WSDL
WWW
XML
XSL
XSLT
Fault Detection, Isolation and Recovery
Final Presentation
Final Presentation and Acceptance
Graphical User Interface
Hierarchical Data Format
Hyper Text Mark-up Language
Hyper Text Transfer Protocol
Hardware
Interface Control Document
Implementation, Diffusion and Validation Plan
Interface Requirements
Invitation To Tender
Java Server Pages
Kick Off Meeting
Member Agency Control Authority Office
Man-Machine Interface
Network Attached Storage
Open Archival Information System
Space Data Modelling Help Tool
On Site installation and Acceptance Tests
Product Assurance Plan
Preliminary Design Review
Project Management Plan
Packet Utilisation Standard
Parameter Value Language
Requirements Baseline
Review Item Discrepancy
Research and Technology Development
Software Configuration Management Plan
Submission Information Package
Simple Object Access Protocol
Statement of Work
Software Project Management Plan
System Requirements Review
Scalable Vector Graphic
Telemetry / Telecommand
Technical Specifications
Universal Description Discovery and Integration
Software Requirements Document
User Requirements Document
Web Service Description Language
World Wide Web
eXtensible Mark-up Language
eXtensible Stylesheet Language
eXtensible Stylesheet Language Transformation
DEBAT – Development of EAST Based Access Tools
Reference : SS/DEBAT/ELC
Issue.
: 1.0
Date
: 14/10/03
Page
:v
Reference : SS/DEBAT/ELC
Issue.
: 1.0
Date
: 14/10/03
Page
: vi
EAST Language Changes
Applicable Documents
Title
AD1 ESRIN SOW “Development
EAST Based Access Tools”
Issue
of 1.1
Date
Reference
18/03/2002 GSPS-RTDA-EOAD-SW-02-0001
AD2 Fax received from ESA
07/06/2002 IMT-CR/9021/02/I-LG
AD3 CS SI Proposal "DEBAT"
21/06/2002 CSSI/111-1/CG/LM/2/453-1
AD4 Minutes of Kick-off Meeting
17/09/2002 /CRR/SS/DEBAT/001
–
Space
Engineering
AD5 ECSS
Standards – Software ECSS-E-40B
ECSS-E-40B
AD6 CS SI Proposal for Phase 2
March 2003 CSSI/111-1/CG/PKV/3/140
AD7 Minutes of Phase 2 Kick-off
meeting (Authorisation To Proceed)
30/04/2003 /CRR/SS/DEBAT/006
DEBAT – Development of EAST Based Access Tools
Reference : SS/DEBAT/ELC
Issue.
: 1.0
Date
: 14/10/03
Page
: vii
EAST Language Changes
Reference Documents
Title
Issue
RD1 DEBAT - Project Management Plan 1.2
Date
Reference
08/07/2003 SS/DEBAT/PMP
RD2 DEBAT - Product Assurance Plan
1.2
08/07/2003 SS/DEBAT/PAP
RD3 DEBAT –
Document
Requirements
1.2
10/03/2003 SS/DEBAT/URD
RD4 DEBAT – Software Requirements
Document
1.1
10/03/2003 SS/DEBAT/SRD
RD5 DEBAT – Architectural Design
Document
RD6 DEBAT – Interface Control
Document
RD7 The Data Description Language
EAST Specification (CCSD0010).
Blue Book.
1.1
16/09/2003 SS/DEBAT/ADD
1.1
16/09/2003 SS/DEBAT/ICD
2.0
November
2000
CCSDS 644.0-B-2
RD8 The Data Description Language
EAST - A Tutorial. Green Book.
1.0
May 1997
CCSDS 645.0-G-1
RD9 The Data Description Language
EAST - List of Conventions. Green
Book.
1.0
May 1997
CCSDS 646.0-G-1
RD10 Data Entity Dictionary Specification
Language (DEDSL) - Abstract
Syntax (CCSD0011). Blue Book.
1.0
June 2001
CCSDS 647.1-B-1
RD11 Data Entity Dictionary Specification
Language (DEDSL) - PVL Syntax
(CCSD0012). Blue Book.
RD12 Data Entity Dictionary Specification
Language (DEDSL) - XML/DTD
Syntax (CCSD0013). Blue Book.
1.0
June 2001
CCSDS 647.2-B-1
1.0
January
2002
CCSDS 647.3-B-1
User
DEBAT – Development of EAST Based Access Tools
EAST Language Changes
Reference : SS/DEBAT/ELC
Issue
: 1.0
Date
: 14/10/03
Page
:1
1. Introduction
1.1 Purpose
This document describes the changes made to the EAST language in the frame of the DEBAT
project. The proposed changes guarantee an ascending compatibility of the EAST descriptions
(previous descriptions are compatible with the proposed changes) and do not make any major
change to the main concepts of the current language.
These changes are going to be submitted to the CCSDS panel(s) for review/approval.
1.2 Scope
The current paper gives a preliminary vision of these changes. It does not deal with technical
implementation issues affecting the tools that support the EAST language. It gives examples that
are expected to be self-explanatory.
1.3 Structure of the document
This document is structured as follows:
Chapter 1: Introduction
The current chapter gives the objectives, scope, definitions and structure of the document.
Chapter 1: EAST languages changes
This chapter describes the changes made to the EAST languages starting from the rationale and
detailing the proposed change.
DEBAT – Development of EAST Based Access Tools
EAST Language Changes
Reference : SS/DEBAT/ELC
Issue.
: 1.0
Date
: 14/10/03
Page
:2
1.4 Definitions
Data Model
The data model is the name of the DEBAT Data Modeller internal
format of a data format description. This internal format (often
called IF) contains all the syntactic and semantic information of
the data. It is created, modified and read by the DEBAT Data
Modeller and is used to generate the EAST and DEDSL
description files.
IF
Internal Format: this is the old internal format used by OASIS (the
old Modeller). This file follows an in-house textual formalism that
is difficult to read and handle.
XML-IF
XML-Internal Format: this is the new internal format used by the
Modeller to store the data model information under the form of an
XML document.
EAST description file
The EAST description file contains the syntactic information of a
data model in the EAST format. This file conforms to the EAST
CCSDS recommendation. It is created by the DEBAT Data
Modeller and is used by all the other tools to read, generate,
extract, check data products.
DEDSL description file
The DEDSL description file contains the semantic information of
a data model in the DEDSL format. This file conforms to the
DEDSL CCSDS recommendation. It is created by the DEBAT
Data Modeller and is used by all the other tools when the semantic
information of a data product are managed.
DEBAT – Development of EAST Based Access Tools
EAST Language Changes
Reference : SS/DEBAT/ELC
Issue.
: 1.0
Date
: 14/10/03
Page
:3
2. EAST languages changes
2.1 Version management
2.1.1 Rationale
The goal of this change is to be able to express the version of the EAST recommendation and of
the DEBAT suite of tools in the EAST description. This information is not currently available in the
description, and it could be useful for the tools that need to process this information.
2.1.2 Changes to the EAST language
This change could be implemented as follows:
EAST_VERSION : constant STRING := “1.0”;
DEBAT_VERSION : constant STRING := “2.1”;
The version of EAST/DEBAT is defined before any constant or type declaration (within the
Declaration of Types Section of the logical package) by a STRING constant. Therefore, this change
implies the addition of a reserved word EAST_VERSION/DEBAT_VERSION in the language.
2.2 Default values
2.2.1 Rationale
The goal of this change is to be able to indicate default values for the variables of the
description. This feature is useful (notably for the EAST Data Generator) when generating data
conforming to an EAST description (currently, if a value is not set for a specific field, the EAST
generator raises and error).
NB: This feature has not to be understood as a way to express that if a peculiar field is absent from
a data file, it should take the default value.
2.2.2 Changes to the EAST language
This change could be implemented as follows:
type N1_TYPE is range 0 .. 10 ;
for N1_TYPE'size use 32 ;
type N2_TYPE is range 0 .. 10 ;
for N2_TYPE'size use 32 ;
type USER_ARRAY_TYPE is array (N1_TYPE range <> ) of CHARACTER ;
DEBAT – Development of EAST Based Access Tools
EAST Language Changes
Reference : SS/DEBAT/ELC
Issue.
: 1.0
Date
: 14/10/03
Page
:4
type A_FIELD_TYPE (N1 : N1_TYPE := 0) is record
N2 : N2_TYPE := 1 ;
USER_ARRAY : USER_ARRAY_TYPE ( 1 .. N1 ) ;
end record ;
for A_FIELD_TYPE use
record
N1 at 0 * WORD_16_BITS range 0 .. 31 ;
N2 at 2 * WORD_16_BITS range 0 .. 31 ;
end record ;
subtype ANOTHER_FIELD_TYPE is CHARACTER range '0' .. '9' ;
A_FIELD : A_FIELD_TYPE ;
ANOTHER_FIELD : ANOTHER_FIELD_TYPE := '4' ;
In this example, the field N2 has a default value 2, and the field ANOTHER_FIELD has the default
value 4. When generating data conforming to this description, if no value is set for these fields, the
default values will be generated in the data file.
The default value can only be of integer, real, enumeration, character or string type. It can also be a
constant of the allowed types defined previously in the description.
2.3 Constants and string constants
2.3.1 Rationale
In the current EAST, constants can appear in several places in an EAST description. They have
different meanings and purposes according their location in the description.
Constants can appear in the Section for the Declaration of Types.
They are declared in this section an can be used:
 in type or subtype declarations to the specification of range bounds,
 in constants declarations for the specification of values
 in record type definitions: in this case they have a special meaning: they are used as end
marker for lists.
Constants can appear in the Section for the Declaration of Variables.
 in this case they are also used as end markers for lists.
The following examples show how the constants are currently used.
a) Declaration of constants in the Section for the Declaration of Types
A_CONSTANT : constant STRING := “HELLO”
MIN : constant : 0 ;
MAX : constant := 500 ;
DEBAT – Development of EAST Based Access Tools
EAST Language Changes
Reference : SS/DEBAT/ELC
Issue.
: 1.0
Date
: 14/10/03
Page
:5
b) Use for the specification of range bounds in the Section for the Declaration of Types
type INTERVAL is array (MIN..MAX) of CHARACTER ;
c) Use in constants declarations for the specification of values in the Section for the Declaration of
Types
DOUBLE_MAX : constant := MAX * 2 ;
d) Use in record type definitions in the Section for the Declaration of Types (as end marker for
lists)
type CLIENT_ADDRESS is record
ONE_CHARACTER : CHARACTER ;
END_OF_ADDRESS : constant CHARACTER := ‘$’ ;
end record ;
d) Use in the Section for the Declaration of Variables (as end marker)
PARAGRAPH : SENTENCE; -- SENTENCE is defined previously
END_OF_PARAGRAPH_MARKER : constant STRING := ASCII.CR; -- Carriage return
The goal of this change is to extend the use of the constants in the Declaration of Types Section and
in the Declaration of Variables Section (that is currently limited to the specification of range
bounds) to be able to express the fact that a given component of the data description is a constant.
2.3.2 Changes to the EAST language
The proposed change consists in being able to specify a constant that is part of the data product, but
that has not to be understood and interpreted as a marker indicating the end of a list.
To be able to make the difference between a constant and a constant used as end-marker, the
keyword "constant" is removed from the description.
DEBAT – Development of EAST Based Access Tools
EAST Language Changes
Reference : SS/DEBAT/ELC
Issue.
: 1.0
Date
: 14/10/03
Page
:6
Package logical_ENERGY_SUN_FCSTC000
NULL_CHARACTER : constant STRING := “\0”;
type C_STRING is record
CHR : CHARACTER;
FINAL_ZERO := NULL_CHARACTER;
End record;
…
The FINAL_ZERO field is a string constant set by a string constant name (and it is not an endmarker for a list). In the example, the C_STRING type is a record of two elements (CHR and
FINAL_ZERO): it is not a list of CHR elements ended by a FINAL_ZERO element.
This is different from the following example where the FINAL_ZERO element is used as a list endmarker. In this example, the C_STRING type is a list of CHR elements that ends with the
FINAL_ZERO element.
Package logical_ENERGY_SUN_FCSTC000
NULL_CHARACTER : constant STRING := “\0”;
type C_STRING is record
CHR : CHARACTER;
FINAL_ZERO : constant STRING := NULL_CHARACTER;
End record;
…
2.4 Uniquely identifying elements
2.4.1 Rationale
In a description, some records may contain components whose size (for arrays) or existence
depends on the value of another component, with a discrete type, called a “discriminant”. If this
“discriminant” is not part of the record, it is called a “virtual discriminant”.
The goal of the change is to avoid the possible confusion between two components with same name
used as “virtual discriminants”: in the current EAST, only the last discriminant encountered
before a record is used. This leads to problems, as EAST is sometimes not able to choose the right
discriminant.
2.4.2 Changes to the EAST language
To deal with this problem, one possible solution is to write the whole EAST path for each virtual
discriminant in a description. This information can be written in a comment part of the EAST
DEBAT – Development of EAST Based Access Tools
EAST Language Changes
Reference : SS/DEBAT/ELC
Issue.
: 1.0
Date
: 14/10/03
Page
:7
description or, with a modification of the norm, in the declaration of the “virtual discriminant”. In
the following example, the first solution is used in the R_3 record and the second one in the R_4
record. In the second solution, each dot of the EAST path is replaced by a double underscore. This
second solution also implies a modification of the EAST norm in order to modify the syntax of a
discriminant identifier.
type USER_SIZE is range 0 .. 10 ;
type R_1_TYPE is record
NB : USER_SIZE ;
end record ;
type R_2_TYPE is record
NB : USER_SIZE ;
end record ;
type ELEM_TYPE is digits 2 range 0.0 .. 9.0 ;
type ARRAY_1_TYPE is array (USER_SIZE range <> ) of ELEM_TYPE ;
type R_3_TYPE (VIRTUAL_NB : USER_SIZE := 0) is record
-- VIRTUAL_NB = R_1.NB
ARRAY_1 : ARRAY_1_TYPE ( 1 .. VIRTUAL_NB ) ;
end record ;
type ARRAY_2_TYPE is array (USER_SIZE range <> ) of ELEM_TYPE ;
type R_4_TYPE (VIRTUAL_R_2__NB : USER_SIZE := 0) is record
ARRAY_2 : ARRAY_2_TYPE ( 1 .. VIRTUAL_R_2__NB) ;
end record ;
R_1 : R_1_TYPE ;
R_2 : R_2_TYPE ;
R_3 : R_3_TYPE ;
R_4 : R_4_TYPE ;
In the previous example, the size of ARRAY_1 is given by R_1.NB and the size of ARRAY_2 is
given by R_2.NB. Before this evolution, the EAST core took R_2.NB for both sizes (because it is
the last discriminant encountered before the record containing the array).
2.5 Calculation capabilities
2.5.1 Rationale
The goal of this change is to enhance the descriptive capabilities of the language by adding the
capability to specify computed values for:
DEBAT – Development of EAST Based Access Tools
EAST Language Changes
Reference : SS/DEBAT/ELC
Issue.
: 1.0
Date
: 14/10/03
Page
:8
 Array lengths: the size of an array could thus be discriminated by a computed valued
involving other fields of the description.
 Discriminants: the existence of fields could be thus discriminated by a computed value.
2.5.2 EAST language changes
2.5.2.1 Array lengths
An example is given in the next figure:
In this description, the size of the USER_ARRAY element shall be discriminated by a computed
value (N1 + N2). In the current EAST, this is not possible. This capability is implemented in the
new EAST.
This addition could be implemented as follows:
type N1_TYPE is range 0 .. 10 ;
for N1_TYPE'size use 32 ;
type N2_TYPE is range 0 .. 10 ;
for N2_TYPE'size use 32 ;
type USER_ARRAY_TYPE is array (INTEGER range <> ) of CHARACTER ;
function A_COMPUTED_VALUE return INTEGER is
begin
return A_FIELD .N_1 + A_FIELD .N_2;
end A_COMPUTED_VALUE;
type A_FIELD_TYPE (COMPUTED_USER_ARRAY : A_COMPUTED_VALUE:= 0) is
record
N1 : N1_TYPE;
N2 : N2_TYPE;
USER_ARRAY : USER_ARRAY_TYPE ( 1 .. COMPUTED_USER_ARRAY ) ;
end record ;
for A_FIELD_TYPE use
record
N1 at 0 * WORD_16_BITS range 0 .. 31 ;
N2 at 2 * WORD_16_BITS range 0 .. 31 ;
end record ;
A_FIELD : A_FIELD_TYPE ;
DEBAT – Development of EAST Based Access Tools
EAST Language Changes
Reference : SS/DEBAT/ELC
Issue.
: 1.0
Date
: 14/10/03
Page
:9
Supported operators are: + , - , * , / , ** (exponent), is_odd, is_even, cos, sin, tan, acos, asin, atan,
log, ln, cosh, sinh, tanh, acosh, asinh, atanh, ( , ) , ! (factorial).
2.5.2.2 Discriminants
An example is given in the next figure:
FIRST_DATA, SECOND_DATA, THIRD_DATA, and FOURTH_DATA are discriminated by N1
and N2:
 FIRST_DATA exists if N1 in 0 .. 10
 SECOND_DATA exists if N1 in 11 .. 20
 THIRD_DATA exists only if N1 is in 21 .. 40 and cos(N2)+sin(N2)=0.4
 FOURTH_DATA exists in the other cases
In the current recommendation, the discrimination of FIRST_DATA and SECOND_DATA is
possible, but the discrimination of THIRD_DATA and FOURTH_DATA is not possible.
This feature is implemented as follows:
type N1_TYPE is range 0 .. 60 ;
for N1_TYPE'size use 32 ;
type N2_TYPE is range 0 .. 10 ;
for N2_TYPE'size use 32 ;
subtype FIRST_DATA_TYPE is CHARACTER range 'A' .. 'Z' ;
type SECOND_DATA_TYPE is range 0 .. 25 ;
for SECOND_DATA_TYPE'size use 5 ;
subtype THIRD_DATA_TYPE is CHARACTER range 'A' .. 'Z' ;
subtype FOURTH_DATA_TYPE is CHARACTER range 'C' .. 'S' ;
type A_RECORD_TYPE (VIRTUAL_N1 : N1_TYPE := 0, VIRTUAL_N2 : N2_TYPE) is record
case VIRTUAL_N1 is
when 0 .. 10 =>
FIRST_DATA : FIRST_DATA_TYPE ;
when 11 .. 20 =>
SECOND_DATA : SECOND_DATA_TYPE ;
when others =>
-- (20 < N1 ) & (N1 <= 40) & (NEW1.N2=3) & cos(N2)+sin(N2)=0.4
DEBAT – Development of EAST Based Access Tools
EAST Language Changes
Reference : SS/DEBAT/ELC
Issue.
: 1.0
Date
: 14/10/03
Page
: 10
THIRD_DATA : THIRD_DATA_TYPE ;
-- no condition
FOURTH_DATA : FOURTH_DATA_TYPE ;
end case ;
end record ;
for A_RECORD_TYPE use
record
FIRST_DATA at 0 * WORD_16_BITS range 0 .. 7 ;
SECOND_DATA at 0 * WORD_16_BITS range 0 .. 4 ;
THIRD_DATA at 0* WORD_16_BITS range 0 .. 7 ;
FOURTH_DATA at 0* WORD_16_BITS range 0 .. 7 ;
end record ;
N1 : N1_TYPE ;
N2 : N2_TYPE ;
A_RECORD : A_RECORD_TYPE ;
The condition discriminating THIRD_DATA is expressed in a comment. This part is stored and
computed at runtime by the EAST core.
The following example presents a record structure that is determined by a Boolean condition. This
time the condition is expressed with a function.
type boolean is ( FALSE, TRUE );
.
.
.
function A_COMPUTED_CHOICE return boolean is
begin
return is_even(R1.data);
end A_COMPUTED_CHOICE;
type R1(Virtual_Val1 : A_COMPUTED_CHOICE := FALSE ) is record
case Virtual_Val1 is
when FALSE =>
data1 : Data1Type;
when TRUE =>
data2 : Data2Type;
end case;
end record;
DEBAT – Development of EAST Based Access Tools
Download