CAOS XML CA SN

Document Sample
CAOS XML CA SN Powered By Docstoc
					    DEBAT: Development of EAST Based Access
                    Tools
      OASIS Type Library Design Document




Contract: 16562/02/I-LG
Reference: SS/DEBAT/TLDD
Issue: 1.0
Date: 04/03/2003

Prepared by:
                                                 Date:
               Jérôme Ferreira

Checked by:
                                                 Date:
               Laurent Cohen

Approved by:
                                                 Date:
               Carlos Guerreiro




                             DEBAT – Development of EAST Based Access Tools
                                                                         Reference: SS/DEBAT/TLDD
                                                                         Issue    : 1.0
                     OASIS Type Library Design Document                  Date     : 04/03/2003
                                                                         Page     :i




                          Document Status Sheet

      Document Title                    OASIS Type Library Design Document
Document Reference Number                       SS/DEBAT/TLDD
Issue  Revision      Date                       Reason for change
  1       0      04/03/2003 First version




                        DEBAT – Development of EAST Based Access Tools
                                                                           Reference: SS/DEBAT/TLDD
                                                                           Issue    : 1.0
                       OASIS Type Library Design Document                  Date     : 04/03/2003
                                                                           Page     : ii




                         Document Change Records

Document Title                               OASIS Type Library Design Document
Document Reference Number                            SS/DEBAT/TLDD
Document Issue/Revision Number                              1.0
 Page Paragraph                               Reason for change
  All              First version of the document




                          DEBAT – Development of EAST Based Access Tools
                                                                                                                  Reference: SS/DEBAT/TLDD
                                                                                                                  Issue    : 1.0
                                      OASIS Type Library Design Document                                          Date     : 04/03/2003
                                                                                                                  Page     : iii




                                                      Table of contents
1. INTRODUCTION .......................................................................................................................... 1
  1.1 OBJECTIVES ................................................................................................................................. 1
  1.2 SCOPE .......................................................................................................................................... 1
  1.3 STRUCTURE OF THE DOCUMENT ................................................................................................... 1
2. GLOBAL VIEW ............................................................................................................................ 2
  2.1 DEFINITION OF THE CHANGES ...................................................................................................... 2
  2.2 SOFTWARE STRUCTURE ................................................................................................................ 2
    2.2.1 Global architecture .............................................................................................................. 2
    2.2.2 MMI structure....................................................................................................................... 4
  2.3 COMMUNICATIONS ....................................................................................................................... 5
    2.3.1 External communication....................................................................................................... 5
    2.3.2 Internal communication ....................................................................................................... 6
  2.4 DATA STRUCTURE ........................................................................................................................ 6
    2.4.1 Organisation of the data in memory..................................................................................... 6
    2.4.2 Organisation of the data in files ........................................................................................... 8
3. MAIN POINTS OF THE DESIGN ............................................................................................ 14
  3.1 USE CASES ................................................................................................................................. 14
    3.1.1 Add types into a library ...................................................................................................... 15
    3.1.2 Create types into a library.................................................................................................. 17
    3.1.3 Import types into a library.................................................................................................. 18
    3.1.4 Edit types ............................................................................................................................ 21
    3.1.5 Save types in a library ........................................................................................................ 23
    3.1.6 Create folder....................................................................................................................... 26
  3.2 MMI CHANGES .......................................................................................................................... 28
    3.2.1 Main window ...................................................................................................................... 28
    3.2.2 Type handling popup menu ................................................................................................ 28
    3.2.3 Adding a type to a library / Pasting a type from a library ................................................. 30
    3.2.4 Importing a type ................................................................................................................. 30
    3.2.5 Creating a folder ................................................................................................................ 31




                                           DEBAT – Development of EAST Based Access Tools
                                                                                                         Reference: SS/DEBAT/TLDD
                                                                                                         Issue    : 1.0
                                    OASIS Type Library Design Document                                   Date     : 04/03/2003
                                                                                                         Page     : iv




                                                    Table of figures
Figure 2-1 : OASIS global architecture ............................................................................................... 2
Figure 2-2 : OASIS MMI classes ......................................................................................................... 4
Figure 2-3 : OASIS Input and output ................................................................................................... 5
Figure 2-4 : OASIS modules communication ...................................................................................... 6
Figure 2-5 : OASIS class diagram ....................................................................................................... 7
Figure 2-6 : LibraryVersion attribute ................................................................................................... 8
Figure 2-7 : linkedLibrary attribute ..................................................................................................... 9
Figure 2-8 : OASIS "if" description file ............................................................................................ 11
Figure 2-9 : OASIS type library file .................................................................................................. 12
Figure 2-10 : Type library save file ................................................................................................... 13
Figure 2-11 : Decision diagram : loading a type from a library ........................................................ 13
Figure 3-1 : Type library use cases .................................................................................................... 14
Figure 3-2 : OASIS main window ..................................................................................................... 28
Figure 3-3 : Type library popup menu ............................................................................................... 29
Figure 3-4 : Add type library dialog box ........................................................................................... 29
Figure 3-5 : OASIS how to type a field ............................................................................................. 30
Figure 3-6 : OASIS select a type from a library ................................................................................ 31
Figure 3-7 : OASIS Folder creation ................................................................................................... 31




                                         DEBAT – Development of EAST Based Access Tools
                                                                Reference: SS/DEBAT/TLDD
                                                                Issue    : 1.0
            OASIS Type Library Design Document                  Date     : 04/03/2003
                                                                Page     :v




             Acronyms and Abbreviations
ADD            Architectural Design Document
AMS            Archive Management System
API            Application Program Interface
AR             Acceptance Review
ATP            Authorisation To Proceed
CA             Control Authority
CAID           Control Authority Identifier
CAO            Control Authority Office
CAOS           Control Authority Office System
CDF            Common Data Format
CDR            Critical Design Review
CEOS           Committee on Earth Observation Science
CFI            Customer Furnished Item
CNES           Centre National D‟Etudes Spatiales (French Space Agency)
COTS           Commercial Off The Shelf
CCSDS          Consultative Committee for Space Data Systems
DEAL           Display EAST Access List
DEBAT          Development of EAST Based Access Tools
DEBAT-DM       DEBAT Data Modeller
DEBAT-DPE      DEBAT Data Producer & Editor
DEBAT-DEQ      DEBAT Data Extractor & Querying
DEBAT-PPT      DEBAT Post Processing Tools
DEBAT-UT       DEBAT Utilities
DDR            Data Description Record
DDU            Data Description Unit
DDF            Design Definition File
DED            Data Entity Dictionary
DEDSL          Data Entity Description Specification Language
DEW            Data Extractor Wizard
DIP            Dissemination Information Package
DJF            Design Justification File
DUW            Data Update Wizard
DW             DEBAT Workshop
EAST           Enhanced ADA Sub SeT
ECSS           European Cooperation for Space Standardization
EO             Earth Observation
ESA            European Space Agency
ESRIN          European Space Research INstitute
ERS            European Remote Sensing satellite
ESA            European Space Agency
EVA            ESA Virtual Archive
FA             Final Acceptance
FAQ            Frequently Asked Question




               DEBAT – Development of EAST Based Access Tools
                                                            Reference: SS/DEBAT/TLDD
                                                            Issue    : 1.0
        OASIS Type Library Design Document                  Date     : 04/03/2003
                                                            Page     : vi


FAR        Factory Acceptance Review
FAT        Factory Acceptance Tests
FDIR       Fault Detection, Isolation and Recovery
FP         Final Presentation
FPA        Final Presentation and Acceptance
GUI        Graphical User Interface
HDF        Hierarchical Data Format
HTTP       Hyper Text Transfer Protocol
HW         Hardware
ICD        Interface Control Document
IDVP       Implementation, Diffusion and Validation Plan
IF         Internal Format (OASIS file)
IR         Interface Requirements
ITT        Invitation To Tender
JSP        Java Server Pages
KOM        Kick Off Meeting
MACAO      Member Agency Control Authority Office
MMI        Man-Machine Interface
NAS        Network Attached Storage
OAIS       Open Archival Information System
OASIS      Space Data Modelling Help Tool
OSAT       On Site installation and Acceptance Tests
PAP        Product Assurance Plan
PDR        Preliminary Design Review
PMP        Project Management Plan
PUS        Packet Utilisation Standard
PVL        Parameter Value Language
RB         Requirements Baseline
RID        Review Item Discrepancy
RTD        Research and Technology Development
SCMP       Software Configuration Management Plan
SIP        Submission Information Package
SOAP       Simple Object Access Protocol
SOW        Statement of Work
SPMP       Software Project Management Plan
SRR        System Requirements Review
SVG        Scalable Vector Graphic
TM/TC      Telemetry / Telecommand
TS         Technical Specifications
UDDI       Universal Description Discovery and Integration
URD        User Requirements Document
WSDL       Web Service Description Language
WWW        World Wide Web
XML        eXtensible Mark-up Language
XSL        eXtensible Stylesheet Language
XSLT       eXtensible Stylesheet Language Transformation




           DEBAT – Development of EAST Based Access Tools
                                                                         Reference: SS/DEBAT/TLDD
                                                                         Issue   : 1.0
                     OASIS Type Library Design Document                  Date     : 04/03/2003
                                                                         Page     : vii




                            Applicable Documents

                 Title                   Issue         Date             Reference
AD1 ESRIN SOW “Development            of 1.1        18/03/2002 GSPS-RTDA-EOAD-SW-02-0001
    EAST Based Access Tools”

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

AD5 ECSS     –    Space    Engineering                             ECSS-E-40B
    Standards – Software ECSS-E-40B




                        DEBAT – Development of EAST Based Access Tools
                                                                       Reference: SS/DEBAT/TLDD
                                                                       Issue    : 1.0
                   OASIS Type Library Design Document                  Date     : 04/03/2003
                                                                       Page     : viii




                         Reference Documents

                    Title             Issue   Date          Reference
RD1   DEBAT - Project Management Plan  1.1 30/10/2002 SS/DEBAT/PMP
RD2   DEBAT - Product Assurance Plan   1.1 30/10/2002 SS/DEBAT/PAP
RD3   DOCUMENT DE CONCEPTION 1.0 25/02/1997 OAS-CP-451-CI
      DE L‟API DE MANIPULATION DE
      LA FORME INTERNE D‟OASIS
RD4   MANUEL DE REFERENCE DE 1.0 25/02/1997 OAS-MR-401-CI
      L‟API DE MANIPULATION DE LA
      FORME INTERNE D‟OASIS




                      DEBAT – Development of EAST Based Access Tools
                                                                              Reference: SS/DEBAT/TLDD
                                                                              Issue   : 1.0
                          OASIS Type Library Design Document                  Date     : 04/03/2003
                                                                              Page     :1



1. Introduction

1.1 Objectives
This document takes place in the frame of the DEBAT – Development of EAST Based Access
Tools – project. DEBAT is aimed at building a set of enhanced tools based upon the EAST
technology to support the entire data life cycle for various kind of users.

The purpose of this document is to describe the design of the type libraries support in OASIS. This
new feature will make the data modelling process easier, less time consuming and tedious: this
evolution has been often required by the end-users.

1.2 Scope
This document details the design of the type library support for OASIS. It gives an overview of the
current design of the tool and presents the main changes needed to implement this new feature.

1.3 Structure of the document
This document is organised as follows:

Chapter 1 : Introduction
The current chapter gives the objectives, scope and structure of the document.

Chapter 2 : Global view
This chapter describes the global structure of the current OASIS tool in order to understand its main
design principles.

Chapter 3 : Main points of the design
This chapter details the foreseen changes in the tool. It also illustrates through several class
diagrams and sequence diagrams the main design choices.




                             DEBAT – Development of EAST Based Access Tools
                                                                                 Reference: SS/DEBAT/TLDD
                                                                                 Issue   : 1.0
                          OASIS Type Library Design Document                     Date     : 04/03/2003
                                                                                 Page     :2



2. Global view

2.1 Definition of the changes

The types library concept is aiming at helping users to manage and share common parts of data
descriptions (and notably, sharing data types between several data descriptions, function that is not
available in the current EAST tools).
Projects are often creating common data types such as time representation, space position, … These
types could be reused in several data models, but the current OASIS tool doesn't provide any means
to be able to share these types between several data models (therefore, the user has to rebuild them
from scratch each time).
Most of the changes in OASIS impact the low level API and the internal data model format used by
the tool. A few changes impact the OASIS MMI.

2.2 Software structure

          2.2.1 Global architecture
The internal format (“.if” file used by OASIS) is the main component of the OASIS software. It
describes all the data types used in a data model. An API is provided in order to allow other
modules to access the internal format.
The OASIS modules are depicted in the following diagram :


                                                M.M.I



                                                                              DED reader


                                                                                DED
                                                                              generator
                                  EAST reader
                  Checker                             Documentation
                                                        generator             FullDED
                                      EAST
                                                                              generator
                                    generator


                                             A.P.I. – I.F.



                                           Physical module



                              Figure 2-1 : OASIS global architecture



                             DEBAT – Development of EAST Based Access Tools
                                                                                Reference: SS/DEBAT/TLDD
                                                                                Issue   : 1.0
                          OASIS Type Library Design Document                    Date     : 04/03/2003
                                                                                Page     :3




                     Modules                                               Description

M.M.I                                                 The Man-Machine Interface allows the users to
                                                      access all of the OASIS functionalities through a
                                                      graphical interface.
Checker                                               The checker verifies the seized data and shows
                                                      all the errors encountered.
D.E.D. generator                                      This module generates a file that contains the
                                                      semantic information. This file is written in PVL
                                                      language.
E.A.S.T. generator                                    The EAST generator creates the EAST file
                                                      corresponding to the data model being edited.
                                                      The EAST generation consists in producing a
                                                      logical package and a physical package from the
                                                      internal format associated with the current
                                                      selected data model.
FullDED generator                                     This module allows to generate a file that
                                                      contains all of the semantic information. This file
                                                      is written in PVL language.
Documentation generator                               This module generates the interface documents
                                                      that specifies the format and the semantics of the
                                                      data: these documents are generated in
                                                      PostScript format.
E.A.S.T. reader                                       This module allows to read an EAST file
                                                      (“*.eas”) and then to create an internal format
                                                      file (“*.if”) associated to this EAST description.
D.E.D reader                                          This functionality makes it possible to add in the
                                                      internal format a set of information to the
                                                      semantic attributes of the objects from a file
                                                      expressed in PVL language.
A.P.I. – I.F.                                         This API provides the interface to the OASIS
                                                      internal format
Physical module                                       The physical module manages the files
                                                      containing all the information needed for the
                                                      description of the data model.




                               DEBAT – Development of EAST Based Access Tools
                                                                              Reference: SS/DEBAT/TLDD
                                                                              Issue   : 1.0
                         OASIS Type Library Design Document                   Date     : 04/03/2003
                                                                              Page     :4




          2.2.2 MMI structure
The MMI uses:
      Classes of the XVT Power C++ library,
        Additional classes which are not available in XVT Power C++, such as drag & drop
         classes.

The MMI is based on a set of C++ classes:
      classes (application, document, windows) defined in XVT Architect,
        display or data processing classes (tree visualisation, formatting functions), which are not
         available in XVT Architect,
        classes (window or under-view), which are not available in XVT Architect.

XVT Architect is a tool allowing to describe an application graphically, and to generate the
associated C++ files. The XVT Power C++ library provides most of the widgets needed for building
man-machine interfaces.

The following diagram depicts the OASIS MMI classes built in XVT Architect :




                                 Figure 2-2 : OASIS MMI classes




                             DEBAT – Development of EAST Based Access Tools
                                                                                    Reference: SS/DEBAT/TLDD
                                                                                    Issue   : 1.0
                          OASIS Type Library Design Document                        Date     : 04/03/2003
                                                                                    Page     :5


OASIS MMI classes are divided in three parts :
     an object application (CApplication). It is the first object created by the application. An
       application (OasisApp in the previous diagram) creates the documents objects and
       maintains a list of them.
        documents (CDocument). A document (such as Desc, List, GIDocument in the previous
         diagram) creates the windows objects and maintains a list of them.
        windows (Cwindow). A window (such as ListVue, InformationWin, …) in the previous
         diagram) represents the graphical windows composing the MMI.


2.3 Communications

          2.3.1 External communication
OASIS is a stand alone tool. The next picture shows the inputs and outputs of OASIS :



                                                               EAST files
                  Types library
                                                              DEDSL-PVL files

                            New
                                                     import
                           import

                                                         New
                                                                                Types library
                                                        outputs
                       input
                                   OASIS                                  DEDSL-PVL files
                                                    outputs             ADA files.
            OASIS files
                                                                       OASIS files.
                                                                      EAST files




                                  Figure 2-3 : OASIS Input and output

The current OASIS tool handles the following inputs/outputs :
      OASIS inputs are specific files with extension “.if”. Less advised but also possible, it can
         import EAST and DEDSL-PVL files.
        OASIS outputs are EAST syntactic files, DEDSL-PVL semantic files, and ADA interface
         definition (ADA specification files).




                               DEBAT – Development of EAST Based Access Tools
                                                                                     Reference: SS/DEBAT/TLDD
                                                                                     Issue   : 1.0
                            OASIS Type Library Design Document                       Date     : 04/03/2003
                                                                                     Page     :6


The addition of the type library support implies that the OASIS tool will be able to load/store types
from library files.

          2.3.2 Internal communication
The figure below describes the interactions between OASIS modules :


                                                   M.M.I                          EAST reader




                                                                                  DED reader



                                                                                     DED
                                                                                   generator
                 Physical
                 modules                         A.P.I. – I.F.
                                                                                   FullDED
                                                                                   generator


                                                                                     EAST
                                                                                   generator


                                                                              Documentation
                                                  Checker                       generator


                             Figure 2-4 : OASIS modules communication

The API provides access to the internal format of the data model being edited and encapsulates all
the mechanisms allowing the handling of the types of a data model.

2.4 Data structure
The data managed by the tool can be encountered in two forms :
        data available in memory at a given time under the form of objects,
        data stored in files.

          2.4.1 Organisation of the data in memory
No major changes have to be made in the way of storing data in memory. Type within libraries will
be stored in memory in the same way that OASIS handles and stores its internal format. A type




                                 DEBAT – Development of EAST Based Access Tools
                                                                                       Reference: SS/DEBAT/TLDD
                                                                                       Issue   : 1.0
                              OASIS Type Library Design Document                       Date     : 04/03/2003
                                                                                       Page     :7


coming from a library will have the same behaviour in memory as complete data model (indeed, a
type can simply be viewed as a kind of data model).
Only some specific attributes (mainly the type name and version) have to be added in order to be
able to differentiate the types coming from a library and the types that are internal to a specific data
model. With those specific attributes, the types coming from a library will be clearly identified and
handled.
An OASIS data model is a collection of types describing the data. The following figure gives a
simplified overview of the class diagram making-up the OASIS internal format.

                                               OasisObject



                                                                                            IFValue
                                                 IFObject
                                                                                       # value: Float


                                             IFCheckedObject

             IFMachine
       # name: String                                                                    IFNamedValue
                                                                          constants
       # standards: String                 IFDocumentedObject                           # name: String
                                                                                   *

         0..1 sendingMachine

                                            IFTypeSupport
                                         # name: String      support
                                supports # wordSize: Integer  1
                                      * # creationDate: Date                            IFRootReference
                                                             support rootRecord
                                         # editionDate: Date
                                                               1              1
                                         # saveDate: Date




                                              IFDataModel
           IFCopiedType                # filename: String                               IFTypeLibrary
                                       # readOnly: Boolean                       # filename: String
                 * supports            # semanticCheckDate: Date                 # libraryDate: Date
                                       # syntaxicCheckDate: Date
                                                                                          * typeLibraries
                                       # eastDate: Date
                                                                 dataModels
                                       # dedDate: Date
                                                                  *
                                       # docDate: Date

                                                                        handler           handler
              1 clipBoard                                                     1           1
           OasisClipBoard                                                     OasisIFHandler
                          clipBoard                                  handler
                          1                                                 1


                                      Figure 2-5 : OASIS class diagram


                                DEBAT – Development of EAST Based Access Tools
                                                                               Reference: SS/DEBAT/TLDD
                                                                               Issue   : 1.0
                           OASIS Type Library Design Document                  Date     : 04/03/2003
                                                                               Page     :8




The IFDataModel is the unit that allows to handle all the objects of the internal format.
The IFTypeLibrary class has to be added to be able to handle types coming from a library (in the
same way that a data model is managed).


           2.4.2 Organisation of the data in files
The way of saving description files has to be changed in order to support type libraries. In the
current version of OASIS, types are saved directly within the data model file.

The addition of the type library support implies that OASIS will be able to save the files
corresponding to the definition of a type coming from a library.

Therefore, OASIS has to be able to load/save two kind of files :
      Description files (“*.if”), as it is currently the case
         And type library files (*.otl standing for Oasis Type Library)

               2.4.2.1 OASIS description files

When OASIS loads a type written in an OASIS data model, OASIS must know if the type comes
from a library or if the type is internal to the description.

Therefore, two new attributes have to be added to the definition of a type:
      libraryVersion: indicates the version of the library (incremented with each modification),
         linkedLibrary : indicates if the type comes from a library or not.

If the type is internal to a description, these two attributes will not appear in the definition of the
type. Thus, the types belonging to this description will be handled and loaded/saved exactly in the
same way that OASIS does in its current version.
If the type comes from a type library, the libraryVersion attribute will contain a string specified as
follow :

                                     LibraryVersion « x.y »


                                    Attribute    Version      Revision



                                Figure 2-6 : LibraryVersion attribute

And the linkedLibrary attribute will contain a string specified as follow :




                              DEBAT – Development of EAST Based Access Tools
                                                                              Reference: SS/DEBAT/TLDD
                                                                              Issue   : 1.0
                        OASIS Type Library Design Document                    Date     : 04/03/2003
                                                                              Page     :9




                      LinkedLibrary « /Libraries/cryosat_Date_V1.2.otl »



                                                    Access path to the file
                             Attribute               containing the type
                                                         definition




                              Figure 2-7 : linkedLibrary attribute

The two next pages illustrate an example of an OASIS description file in which one type comes
from a type library.




                           DEBAT – Development of EAST Based Access Tools
                                                                                     Reference: SS/DEBAT/TLDD
                                                                                     Issue   : 1.0
                           OASIS Type Library Design Document                        Date     : 04/03/2003
                                                                                     Page     : 10



1 IFDataModel {                                                  entry point to the « if » file
        sticker 0
        name "DESCRIPTION"                                       name of the description
        selectedStandard ""                                      chosen standard
        wordSize 16                                              word size in memory
        creationDate 1035549283                                  creation date
        editionDate 1035824050                                   edition date
        saveDate 1035824063                                      save date
        arrayOrganization 1                                      column or row mode
        rootRecord 2                                             root record reference
        types 12, 7, 16, 21, 22, 5, 24, 3                        list of necessary types
        openPathes 27, 28                                        paths, represent the tree
        semanticCheckDate 0                                      semantic control date
        syntaxicCheckDate 0                                      syntactic control date
        eastDate 0                                               east generation date
        dedDate 0                                                ded generation date
        docDate 0                                                doc generation date
        fullDedDate 0                                            fullded generation date
        OasisVersion "OASIS V3.1 (2002, October)"                OASIS version used to generate this file
}
2 IFRootReference {                                              graphic representation of the description
        sticker 0
        type 3                                                   type of the root record
}
3 IFRecordType {                                                 structure type
        sticker 0
        name ""                                                  no name, it is the root
        bitsSize 0                                               no size
        fields 4                                                 contains one field
}
4 IFRecordField {                                                field of the structure
        sticker 0
        name "A_DATE"                                            name of the structure
        textOfExistenceCondition ""
        type 5                                                   type of the structure
}
5 IFCharacterType {                                              type definition, it is a character
        sticker 0
        linkedLibrary « \Library\cryosat_Date_V1.2.otl »         the type comes from a library
        name "A_DATE_TYPE"                                       name of the type
        bitsSize 0
        isGeneric 0
        begin 6                                                  lower limit
        end 10                                                   upper limit
}
6 IFValue {                                                      OASIS value type
        value 0                                                  value 0
        stringValue ""                                           it is not a string
        type 7                                                   its type is defined at node 7
}




                               DEBAT – Development of EAST Based Access Tools
                                                                                Reference: SS/DEBAT/TLDD
                                                                                Issue   : 1.0
                         OASIS Type Library Design Document                     Date     : 04/03/2003
                                                                                Page     : 11



7 IFCharacterType {                                              the value is a character
         sticker 0
         name "CHARACTER"                                        its name is CHARACTER
         bitsSize 0                                              size is 0
         isGeneric 1                                             it is a generaic type used by OASIS
         begin 8                                                 lower limit
         end 9                                                   upper limit
}
8 IFValue {
         value 0                                                 value 0
         stringValue ""                                          it is not a string
         type 7                                                  its type is defined at node 7
}
9 IFValue {
         value 255                                               value 255
         stringValue ""                                          it is not a string
         type 7                                                  its type is defined at node 7
}
10 IFValue {
         value 255                                               value 255
         stringValue ""                                          it is not a string
         type 7                                                  its type is defined at node 7
}
12 IFIntegerType {
         sticker 0
         name "INTEGER"                                          name of the type
         bitsSize 0                                              size is 0
         isGeneric 1                                             it is a generic type used by OASIS
         deductedAttribute 2                                     deduction mode of limits
         bitsSizeComputationMode 2                               calculation mode of the limits
         begin 13
         end 14
         size 15
}
13 IFValue {
         value -32768
         stringValue ""
         type 12
}
14 IFValue {
         value 32767
         stringValue ""
         type 12
}
~~ truncated file ~~



                             Figure 2-8 : OASIS "if" description file




                            DEBAT – Development of EAST Based Access Tools
                                                                                                           Reference: SS/DEBAT/TLDD
                                                                                                           Issue   : 1.0
                                    OASIS Type Library Design Document                                     Date     : 04/03/2003
                                                                                                           Page     : 12




                   2.4.2.2 OASIS type library files

Types stored in a library will follow the same format as the OASIS description files. Therefore, the
same structure will be used to save a type library.
   1 IFTypeLibrary {                                              entry point to the « otl » file, it is a OASIS type library
             sticker 0
             name "DATE_CRYOSAT_V1.0_TYPELIBRARY"                 name of the type library
             creationDate 1035549283                              creation date
             editionDate 1035824050                               edition date
             saveDate 1035824063                                  save date
             arrayOrganization 1
             rootRecord 2                                         root of the type library
             types 7, 14, 19, 22, 23, 3, 5                        list of necessary types
             oasisVersion "OASIS V3.1 (2002, November)"           OASIS version used to generate this file
             libraryVersion "1.2"                                 library version
   }
   2 IFRootReference {                                            graphic representation of the description
             sticker 0
             type 3                                               type of the root record
   }
   3 IFRecordType {                                               structure type
             sticker 0
             name ""                                              no name, it is the root
             bitsSize 0                                           no size
             fields 4                                             contains one field
   }
   4 IFRecordField {
             sticker 0
             name "A_DATE"                                        name of the structure
             textOfExistenceCondition ""
             type 5                                               type of the structure
   }
   5 IFIntegerType {
             sticker 0
             name "DATE_CRYOSAT"                                  name of the type
             bitsSize 0
             isGeneric 0
             deductedAttribute 2
             bitsSizeComputationMode 2
             begin 6                                              lower limit
             end 11                                               upper limit
             size 12                                              size
   }
   6 IFValue {                                                    OASIS value type
             value 0                                              value 0
             stringValue ""                                       it is not a string
             type 7                                               its type is defined at node 7
   }
   7 IFIntegerType {
             sticker 0
             name "INTEGER"
             bitsSize 0
             isGeneric 1
             deductedAttribute 2
             bitsSizeComputationMode 2
             begin 8
             end 9
             size 10
   }                                                    ~truncated file~



                                            Figure 2-9 : OASIS type library file




                                        DEBAT – Development of EAST Based Access Tools
                                                                                                                        Reference: SS/DEBAT/TLDD
                                                                                                                        Issue   : 1.0
                             OASIS Type Library Design Document                                                         Date     : 04/03/2003
                                                                                                                        Page     : 13


Each type of a library will be saved separately in a file. The name of the file containing the type will
be defined as follow :
                                                     CRYOSAT_DATE_V1.2.otl




                                                                                             Extension of the file
                                  Name of the type         Version of the library          identifying a type library
                                                                                            (OASIS Type Library)



                                 Figure 2-10 : Type library save file
This solution presents several advantages:
       The identification of the library files is easier; users can know immediately the type name
          and version.
         The loading and saving is simplified and quicker as only the types used are loaded.
         The OASIS data models stay autonomous and do not necessarily need the original library
          used to create them.
          The library is not fixed and can evolve.
The following diagram explains through an example the algorithm used to load a type coming from
a library :
                        Type library to load
                       Cryosat_date_V1.2.olt


                         List all the files
                        Cryosat_Date_*.olt




                             Is there a              Yes                  Does the              Yes
                                                                         user want                           Update the type with a
                               higher
                                                                         to update                              higher version
                             version ?
                                                                         the type ?



                                          No                                          No




                             Does the                Yes
                                                                      Load in memory :
                               file
                                                                    Cryosat_date_V1.2.olt
                              exist ?




                                          No

                      Load the type definition
                       contained in the « if »
                                file


                   Figure 2-11 : Decision diagram : loading a type from a library




                                   DEBAT – Development of EAST Based Access Tools
                                                                             Reference: SS/DEBAT/TLDD
                                                                             Issue   : 1.0
                         OASIS Type Library Design Document                  Date     : 04/03/2003
                                                                             Page     : 14



3. Main points of the design

3.1 Use cases
The following diagram presents the functions provided by the type library support in OASIS.
These functions are detailed in the following chapters.


                                            TypeLibrary


                                                              Add type




                                                             Create type
                 OASIS



                                                             Import type




                                                              Edit type




                                                              Save type
                 OASIS
                 Users

                                                            Create Folder




                                Figure 3-1 : Type library use cases




                            DEBAT – Development of EAST Based Access Tools
                                                                              Reference: SS/DEBAT/TLDD
                                                                              Issue   : 1.0
                          OASIS Type Library Design Document                  Date     : 04/03/2003
                                                                              Page     : 15




          3.1.1 Add types into a library

              3.1.1.1 Use case




                 OASIS
                 Users                              Add type


                                                                                Repository



                 OASIS




                          Project : DEBAT – OASIS Type Libraries
                           USE CASE TEXTUAL DESCRIPTION
Number : UC_TL_01                 Name : Add a type in a library

Actors : OASIS user and OASIS application.

Pre-condition : A data model is being edited in OASIS. The OASIS user drags & drops a type
from the graphical tree of a data model to the graphical tree displaying the type libraries.

Description :
The OASIS user selects a node in the graphical tree representing the data model. Then, he drags
and drops it on the type library tree.

OASIS opens a dialog box in order to choose a name and a version for the new type to be stored
in the library.

If the values entered are valid (name and version are correct), the new type is created, loaded in
memory and saved on the disk.
Otherwise, some warnings are raised in order to warn the user.

The graphical views are finally updated to take into account the changes.

Post-condition : No error or warning popup appears on the screen. The type file “*.otl” is saved
on disk in the type library directory

Exceptions :
 Exception 1 : IFWAR_fileAlreadyExists : a file with the same name already exists.
 Exception 2 : IFERR_typeLibraryCreationFailed : unable to create the type.



                             DEBAT – Development of EAST Based Access Tools
                                                                                               Reference: SS/DEBAT/TLDD
                                                                                               Issue   : 1.0
                             OASIS Type Library Design Document                                Date     : 04/03/2003
                                                                                               Page     : 16


 Exception 3 : IFERR_typeLibrarySaveFailed : unable to save the type.

Scenarii :
 Scenario 1 : Add a type and no error occurs.
 Scenario 2 : Add a type and an error is raised.
      - Scenario 3 : The type already exists.
      - Scenario 4 : The type creation failed.
      - Scenario 5 : The type backup failed.
 Scenario 6 : Add a type and the OASIS user selects a wrong name or version.
 Scenario 7 : Add a type and the user cancels the action.



              3.1.1.2 Sequence diagram




              OASIS                          OASIS MMI                     OASIS API            Repository
              Users
                      Drag & Drop a type

                      Get version and name

                                                         NewTypeLibrary
                  Set valid version and name             (name, version)


                                                     Return CmdOasis


                                                     GetCreatedTypeLibrar
                                                     y
                                                   Return IFTypeLibrary*



                                                          SetType



                                                     SaveTypeLibrary
                                                                                       Write

                                                     Return CmdOasis



                                                          Update MMI




                                  DEBAT – Development of EAST Based Access Tools
                                                                               Reference: SS/DEBAT/TLDD
                                                                               Issue   : 1.0
                           OASIS Type Library Design Document                  Date     : 04/03/2003
                                                                               Page     : 17



          3.1.2 Create types into a library

               3.1.2.1 Use case



                                                      Create type


              OASIS                                                              Repository
              Users



                           Project : DEBAT – OASIS Type Libraries
                            USE CASE TEXTUAL DESCRIPTION
Number : UC_TL_02             Name : Type creation

Actors : OASIS user

Pre-condition : OASIS is running and the data model window is opened. The OASIS user points
the mouse on the type library graphical tree and clicks on a node with the right button.

Description :
The OASIS user selects a node in the type library tree with a right click, and a pop up menu
appears. If the node is not terminal, then the option NEW TYPE is available.

By selecting this option a new dialog box appears in order to allow the user to enter the new type
library name and version.

If the values entered are valid (name and version are correct), the new type is added in the type
library tree, and opened in the graphical tree. The user is then able to edit the newly created type.
Otherwise, some warnings are raised in order to warn the user.

The graphical views are finally updated to take into account the changes.
Post-condition : No error or warning popup appear on the screen. The type file “*.otl” is saved
on disk in the type library directory.

Exceptions :
 Exception 1 : IFWAR_fileAlreadyExists : a file with the same name already exists.
 Exception 2 : IFERR_typeLibraryCreationFailed : unable to create the type.
 Exception 3 : IFERR_typeLibrarySaveFailed : unable to save the type.

Scenarii :
 Scenario 1 : Create a type and no error occurs.
 Scenario 2 : Create a type and an error is raised.
      - Scenario 3 : The type already exists.
      - Scenario 4 : The type creation failed.
      - Scenario 5 : The type backup failed.


                              DEBAT – Development of EAST Based Access Tools
                                                                                            Reference: SS/DEBAT/TLDD
                                                                                            Issue   : 1.0
                              OASIS Type Library Design Document                            Date     : 04/03/2003
                                                                                            Page     : 18


 Scenario 6 : Create a type and the OASIS user selects a wrong name or version.
 Scenario 7 : Create a type and the user cancels the action.



              3.1.2.2 Sequence diagram




          OASIS                           OASIS MMI                     OASIS API               OASIS API
          Users
                     Create a new type

                  Get version and name

                                                  NewTypeLibrary
                  Set valid version and           (name, version)
                  name

                                                Return CmdOasis


                                                GetCreatedTypeLibrary

                                                Return IFTypeLibrary*


                                                  SaveTypeLibrary
                                                                                    Write

                                                  Return CmdOasis



                                                      Update MMI




          3.1.3 Import types into a library

              3.1.3.1 Use case




                                                            Import type


         OASIS                                                                                     Repository
         Users




                                   DEBAT – Development of EAST Based Access Tools
                                                                              Reference: SS/DEBAT/TLDD
                                                                              Issue   : 1.0
                          OASIS Type Library Design Document                  Date     : 04/03/2003
                                                                              Page     : 19


                           Project : DEBAT – OASIS type Libraries
                           USE CASE TEXTUAL DESCRIPTION
Number : UC_TL_03                    Name : Import type

Actors : OASIS user

Pre-condition : OASIS is running and the data model window is opened. The OASIS user points
the mouse on the type library graphical tree and clicks on a node with the right button.

Description :
The OASIS user selects a node in the type library tree with a right click, and a pop up menu
appears. If the node is not terminal, then the option IMPORT is available.

By selecting this option a new dialog box appears in order to allow the user to select the type he
wants to import (*otl file).

If the selected type is valid (the type is not corrupted), the new type is added, and loaded in
memory.
Otherwise, some warnings are raised in order to warn the user.

The graphical views are finally updated to take into account the changes.

Post-condition : No error or warning popup appear on the screen. The imported type file “*.otl”
is saved on disk in the type library directory.

Exception :
 Exception 1 : IFERR_typeLibraryOpenFailed : the file is corrupted.
 Exception 2 : IFERR_typeLibraryImportFailed : unable to import the selected type library

Scenarii :
 Scenario 1 : Import a type and no error occurs.
 Scenario 2 : Import a type and an error is raised.
      - Scenario 3 : The type importation failed.
      - Scenario 4 : The imported type already exist in the type library directory.
 Scenario 4 : Import a type and the user cancels the action.




                             DEBAT – Development of EAST Based Access Tools
                                                                                    Reference: SS/DEBAT/TLDD
                                                                                    Issue   : 1.0
                       OASIS Type Library Design Document                           Date     : 04/03/2003
                                                                                    Page     : 20


        3.1.3.2 Sequence diagram




OASIS                            OASIS MMI                           OASIS API           OASIS API
Users
        Right click and select
               Import

              Get filename

           Set valid filename




                                             AnalyseFile(filename)

                                             File is not corrupted


                                             openTypeLibrary
                                                                                 Read

                                          Return CmdOasis

                                          GetCreatedTypeLibrary

                                          Return IFTypeLibrary*

                                             ImportTypeLibrary

                                          Return CmdOasis

                                              SaveTypeLibrary
                                                                                 Write

                                          Return CmdOasis



                                              Update MMI




                             DEBAT – Development of EAST Based Access Tools
                                                                               Reference: SS/DEBAT/TLDD
                                                                               Issue   : 1.0
                          OASIS Type Library Design Document                   Date     : 04/03/2003
                                                                               Page     : 21



          3.1.4 Edit types

               3.1.4.1 Use case



                                                     Edit type



          OASIS                                                                       Repository
          Users

                           Project : DEBAT – OASIS type Libraries
                           USE CASE TEXTUAL DESCRIPTION
Number : UC_TL_04                 Name : Type edition

Actors : OASIS user

Pre-condition : OASIS is running and the data model window is opened. The type to edit is
available in the type library tree.

Description :
The OASIS user selects a node in the type library tree with a right click, and a pop up menu
appears. If the node is terminal, then the option EDIT is available.

If the selected type is valid (the file is not corrupted), the type is loaded in memory and ready to
be edited.
By selecting this option two new windows are opened. The first one is the information window
and the second is the graphical tree representation of the type to be edited.

Otherwise, some warnings are raised in order to warn the user.

The graphical views are finally updated to take into account the changes.

Post-condition : No error or warning popup appear on the screen. The type is displayed to be
edited.

Exception :
 Exception 1 : IFERR_typeLibraryOpenFailed : the file is corrupted

Scenarii :
 Scenario 1 : Edit a type and no error occurs.
 Scenario 2 : Edit a type and an error is raised.
      - Scenario 3 : The type opening failed.




                              DEBAT – Development of EAST Based Access Tools
                                                                              Reference: SS/DEBAT/TLDD
                                                                              Issue   : 1.0
                       OASIS Type Library Design Document                     Date     : 04/03/2003
                                                                              Page     : 22


         3.1.4.2 Sequence diagram




OASIS
Users                        OASIS MMI                            OASIS API              Repository


            Select a type
                                       Get the selected type library           Read

                                        Return IFTypeLibrary*
        Right click and select
                 Edit

                                         OpenTypeLibrary Tree



                                            Update MMI




                            DEBAT – Development of EAST Based Access Tools
                                                                                 Reference: SS/DEBAT/TLDD
                                                                                 Issue   : 1.0
                            OASIS Type Library Design Document                   Date     : 04/03/2003
                                                                                 Page     : 23




           3.1.5 Save types in a library

               3.1.5.1 Use case




                                                   Save type


           OASIS                                                                        Repository
           Users


                             Project : DEBAT – OASIS type Libraries
                             USE CASE TEXTUAL DESCRIPTION
Number : UC_TL_05                 Name : Type saving

Actors : OASIS user

Pre-condition : OASIS is running and the type to save is available in the type library.

Description :
The OASIS user selects a node in the type library tree with a right click, and a pop up menu
appears. If the node is terminal, then the option SAVE is available.

If the selected type is valid (the file is not corrupted), the type is saved on disk.

The user must enter a new type version. If this version is the same of the existing type file, a
backup of the type is created before overwriting the current type.

Otherwise, some warnings are raised in order to warn the user.

The graphical views are finally updated to take into account the changes.

Post-condition : No error or warning popup appear on the screen. The type file “*.otl” is saved
on disk in the type library directory.

Exception :
 Exception 1 : IFWAR_fileAlreadyExists : a file with the same name already exists.
 Exception 2 : IFWAR_noSpaceLeftOnDevice : the file system is full.
 Exception 3 : IFWAR_VersionInvalid : the version entered is not valid.
 Exception 4 : IFERR_typeLibrarySaveFailed : unable to save the type library.

Scenarii :
 Scenario 1 : Save a type and no error occurs.
 Scenario 2 : Save a type and an error is raised.



                               DEBAT – Development of EAST Based Access Tools
                                                                             Reference: SS/DEBAT/TLDD
                                                                             Issue   : 1.0
                         OASIS Type Library Design Document                  Date     : 04/03/2003
                                                                             Page     : 24


     - Scenario 3 : The type backup failed.
     - Scenario 4 : The type version is not valid.
     - Scenario 5 : No space is available on disk.
     - Scenario 6 : The type already exists in the current directory.
 Scenario 6 : Save a type and the OASIS user selects a wrong name or version.
 Scenario 7 : Save a type and the user cancels the action.




                            DEBAT – Development of EAST Based Access Tools
                                                                                Reference: SS/DEBAT/TLDD
                                                                                Issue   : 1.0
                           OASIS Type Library Design Document                   Date     : 04/03/2003
                                                                                Page     : 25


           3.1.5.2 Sequence diagram




OASIS                            OASIS MMI                          OASIS API           OASIS API
Users
           Select a type
                                        Get the selected type library

                                        Return IFTypeLibrary*
        Right click and select
                 Save


            Get a version
                                         OpenTypeLibrary Tree

         Set valid version
                                         Set type library version


                                             Return CmdOasis



                                       Set type library filename

                                             Return CmdOasis



                                             Save type library
                                                                                Write

                                             Return CmdOasis



                                               Update MMI




                             DEBAT – Development of EAST Based Access Tools
                                                                               Reference: SS/DEBAT/TLDD
                                                                               Issue   : 1.0
                           OASIS Type Library Design Document                  Date     : 04/03/2003
                                                                               Page     : 26




           3.1.6 Create folder

               3.1.6.1 Use case



                                                   Create folder



          OASIS                                                                        Repository
          Users

                            Project : DEBAT – OASIS type Libraries
                            USE CASE TEXTUAL DESCRIPTION
Number : UC_TL_06                  Name : Create folder

Actors : OASIS user

Pre-condition : OASIS is running and the data model window is opened.

Description :
The OASIS user selects a node in the type library tree with a right click, and a pop up menu
appears. If the node is not terminal, then the option CREATE FOLDER is available.

By selecting this option a new dialog box appears in order to allow the user to select the Create
folder name and version.

If the selected folder name is valid (the directory does not exist), the new directory is added in the
type library tree.
Otherwise, some warnings are raised in order to warn the user.

The graphical views are finally updated to take into account the changes.

Post-condition : No error or warning popup appear on the screen.

Exception :
 Exception 1 : IFWAR_NameInvalid : the folder name is invalid.

Scenarii :
 Scenario 1 : Create a folder and no error occurs.
 Scenario 2 : Create a folder and an error is raised.
      - Scenario 3 : The folder name is not valid.




                              DEBAT – Development of EAST Based Access Tools
                                                                              Reference: SS/DEBAT/TLDD
                                                                              Issue   : 1.0
                       OASIS Type Library Design Document                     Date     : 04/03/2003
                                                                              Page     : 27


        3.1.6.2 Sequence diagram




OASIS
Users                         OASIS MMI                         OASIS API                Repository


           Select the root


        Right click and select
            Create folder

              GetName


        Set a valid name
                                             Create directory
                                                                              mkdir




                                            Update MMI




                             DEBAT – Development of EAST Based Access Tools
                                                                              Reference: SS/DEBAT/TLDD
                                                                              Issue   : 1.0
                          OASIS Type Library Design Document                  Date     : 04/03/2003
                                                                              Page     : 28




3.2 MMI changes

Regarding the visual aspects, some changes have to be made. These changes are described in the
following sub-chapters.

          3.2.1 Main window

The main window that shows all the opened descriptions and types has to be modified. Indeed, a
distinction must be made between the types belonging to a library and the other types that are
directly part of the data model.
The following picture illustrates the changes to the main window.




                                                                                       Type
                                                                                     libraries




                                                                                Types depending
                                                                                 on the selected
                                                                                   description




                                                                                   Types coming
                                                                                from a type library
                                                                                  and used by the
                                                                                      selected
                                                                                  description are
                                                                                 marked with the
                                                                                   character „@‟
                           Data model


                                 Figure 3-2 : OASIS main window

          3.2.2 Type handling popup menu
All of the actions to be applied to types coming from the libraries can be accessed by a right click
on the tree representing the type library.

The available functionalities are :
      New type: to create a new type in a library.
        Import: to import a new type in a library.



                             DEBAT – Development of EAST Based Access Tools
                                                                                Reference: SS/DEBAT/TLDD
                                                                                Issue   : 1.0
                           OASIS Type Library Design Document                   Date     : 04/03/2003
                                                                                Page     : 29


         Save: to save the selected type.
         Edit: to edit and modify the selected type.
        Create folder: create a new folder on disk (this feature allow to organise the types within a
         logical tree structure of libraries).
The following picture shows the access to the functionalities :




                                                                                     Command access
                                                                                     menu for editing,
                                                                                       creating and
                                                                                      saving type in
                                                                                         libraries




                                Figure 3-3 : Type library popup menu

When the OASIS user adds a type in the type library, a dialog box is displayed in order to allow the
user to define a name and a version for the new type.
The dialog box is as follow :




                                                                                 Name for the new
                                                                                      type




                                                                               Version for the new
                                                                                      type




                               Figure 3-4 : Add type library dialog box



                              DEBAT – Development of EAST Based Access Tools
                                                                                     Reference: SS/DEBAT/TLDD
                                                                                     Issue   : 1.0
                          OASIS Type Library Design Document                         Date     : 04/03/2003
                                                                                     Page     : 30



          3.2.3 Adding a type to a library / Pasting a type from a library
When the user wants to add a type belonging to an existing data model displayed in OASIS to a
library, he has to drag and drop the selected type from the data model window to the type library
tree.
When he wants to set the type of a node of the data model being displayed, he has to right-click on
the selected node to be typed and choose Paste from Library after having selected the type in the
type library tree.




         Selected type to be                Types linked to the                 The selected node to be
               pasted                       current description                         defined



                                Figure 3-5 : OASIS how to type a field


          3.2.4 Importing a type
If the user wants to import a type into a library, a browser will be opened and thus the user will be
able to select a type from a list of type libraries. The following screenshot shows the new window :




                               DEBAT – Development of EAST Based Access Tools
                                                                              Reference: SS/DEBAT/TLDD
                                                                              Issue   : 1.0
                          OASIS Type Library Design Document                  Date     : 04/03/2003
                                                                              Page     : 31




                          Figure 3-6 : OASIS select a type from a library


          3.2.5 Creating a folder
If the user wants to create a new library folder in the tree, the following dialog box will be opened
in order to select the new folder name :




                                Figure 3-7 : OASIS Folder creation




                             DEBAT – Development of EAST Based Access Tools

				
DOCUMENT INFO