tutorial: language usage in information interchange unit (sfdu), one of several ccsds ... language...

28
REPORT CONCERNING SPACE DATA SYSTEM STANDARDS LANGUAGE USAGE IN INFORMATION INTERCHANGE TUTORIAL CCSDS 642.1-G-1 GREEN BOOK October 1989

Upload: vuthien

Post on 28-Apr-2018

220 views

Category:

Documents


3 download

TRANSCRIPT

ConsultativeCommittee for

Space Data Systems

REPORT CONCERNING SPACEDATA SYSTEM STANDARDS

LANGUAGE USAGEIN INFORMATION

INTERCHANGE TUTORIAL

CCSDS 642.1-G-1

GREEN BOOK

October 1989

CCSDS REPORT: LANGUAGE USAGE IN INFORMATION INTERCHANGE TUTORIAL

Issue-l iii October 1989

AUTHORITY

Issue: Green Book, Issue-1Date: October 1989Location: CCSDS Panel 2 meeting,

September 1989Ottawa, Ontario, Canada

This report reflects the consensus technical understanding ofthe Panel 2 members representing the following memberAgencies of the Consultative Committee for Space Data Systems(CCSDS):

• British National Space Center (BNSC)/United Kingdom

• Canadian Space Agency (CSA)/Canada

• Centre National D'Etudes Spatiales (CNES)/France

• Deutsche Luft and Raumfahrt e.V (DLR)/FRG

• European Space Agency (ESA)/Europe

• Indian Space Research Organization (ISRO)/India

• Instituto de Pesquisas Espaciais (INPE)/Brazil

• National Aeronautics and Space Administration(NASA)/USA

• National Space Development Agency of Japan(NASDA)/Japan

This report is published and maintained by:

CCSDS SecretariatCommunications and Data Systems Division, (Code-TS)National Aeronautics and Space AdministrationWashington, DC 20546, USA

CCSDS REPORT: LANGUAGE USAGE IN INFORMATION INTERCHANGE TUTORIAL

Issue-l iv October 1989

FOREWORD

This document is a tutorial on the use of languages fordescriptive purposes in information interchange. It hasbeen prepared by the Consultative Committee on Space DataSystems (CCSDS) Panel 2, Standard Data InterchangeStructures (SDIS).

This document discusses some of the challenges involved withthe interchange of information in the international spacecommunity. It assumes the use of the standard formatteddata unit (SFDU), one of several CCSDS recommendations, as amethodology for information interchange.

This document evaluates the choice and usage of languages ineach of three interchange categories. These categoriesreflect two factors involving the relationship between theproducing and receiving environments:

• Capability for communication between environments• Degree of dissimilarity between the environments

Based on these two factors, interchanges are classified intothree categories: closed, negotiated, and open. Examplesare provided to illustrate these categories and highlightthe language considerations involved with each category.

CCSDS REPORT: LANGUAGE USAGE IN INFORMATION INTERCHANGE TUTORIAL

Issue-l v October 1989

DOCUMENT CONTROL

Document No. Title DateStatus/Remarks

CCSDS 642.1-G-l Report Concerning SpaceData System Standards:Language Usage inInformation InterchangeTutorial

October1989

CurrentIssue

CCSDS REPORT: LANGUAGE USAGE IN INFORMATION INTERCHANGE TUTORIAL

Issue-l vi October 1989

[Page intentionally left blank.]

CCSDS REPORT: LANGUAGE USAGE IN INFORMATION INTERCHANGE TUTORIAL

Issue-l vii October 1989

CONTENTS

Sections Page

REFERENCES .................................. viii

1 INTRODUCTION ................................ 1-1

1.1 PURPOSE ................................ 1-11.2 DOCUMENT ORGANIZATION .................. 1-1

2 BACKGROUND .................................. 2-1

2.1 INTRODUCTION ........................... 2-12.2 INTERCHANGE ENVIRONMENT ................ 2-12.3 ROLE OF LANGUAGES ...................... 2-5

3 LANGUAGE FEATURES AND INTERCHANGE ........... 3-1

3.1 INTRODUCTION ........................... 3-13.2 GENERAL FEATURES ....................... 3-1

3.2.1 DESCRIPTION BY REFERENCE .... 3-13.2.2 SUPPORT OF BASIC DATA TYPES . 3-1

3.3 DATA TYPE FEATURES ..................... 3-2

3.3.1 DATA TYPE DEFINITIONCAPABILITIES ................ 3-2

3.3.2 DATA TYPE STRUCTURINGCAPABILITIES ................ 3-2

3.4 PHYSICAL REPRESENTATION CAPABILITIES ... 3-33.5 LANGUAGE IMPLEMENTATION CONSIDERATIONS . 3-4

4 INTERCHANGE LIFE-CYCLE CONSIDERATIONS ....... 4-1

4.1 INTRODUCTION ........................... 4-14.2 PRODUCTION INTERCHANGE DESCRIPTION AND

SCENARIO ............................... 4-14.3 AD HOC INTERCHANGE DESCRIPTION AND

SCENARIO ............................... 4-24.4 ARCHIVAL INTERCHANGE DESCRIPTION AND

SCENARIO ............................... 4-4

Annexes

A LIST OF ACRONYMS ............................ A-1B GLOSSARY .................................... B-1

CCSDS REPORT: LANGUAGE USAGE IN INFORMATION INTERCHANGE TUTORIAL

Issue-l viii October 1989

REFERENCES

[l] Consultative Committee for Space Data Systems, CCSDS620.1-W-3, Standard Formatted Data Units--Structure andConstruction Rules (recommendation), June 1989 or laterissue

[2] --, CCSDS 610.1-G-2, Standard Formatted Data Units--Product Aggregation Aspects, June 1989 or later issue

[3] --, CCSDS 640.0-W-3, Transfer Syntax Notation(specification), June 1989 or later issue

[4] Head, T., "A Pilot Data Descriptive Language," paperpresented at the Consultative Committee for Space DataSystems Panel 2 International Workshop, Garmisch,Germany, 1987

[5] Liskov, B., et al., "Abstraction Mechanisms in CLU,"Communications of the ACM, vol. 20, number 8, August1977, pp 564-576

[6] Tremblay, J. and Sorenson, P., The Theory and Practiceof Compiler Writing, McGraw-Hill, 1985

CCSDS REPORT: LANGUAGE USAGE IN INFORMATION INTERCHANGE TUTORIAL

Issue-1 1-1 October 1989

1. INTRODUCTION

One of the primary goals of the international space communityis the interchange of information between space informationsystems. In an effort to promote and support suchinterchanges, the Consultative Committee for Space DataSystems (CCSDS) has developed and is developingrecommendations for space information interchange. Amongthese recommendations is the specification of the standardformatted data unit (SFDU) as a methodology for informationinterchange (Reference 1). Intrinsic to the SFDUspecification is the use of a data description record (DDR)to specify the representation of the interchangedinformation. Use of this specification enables theinterchange of information in a form usable by the targetsystem.

1.1 PURPOSE

This document provides background information for users asthey choose a language for use in the DDR of an SFDU. Theinterchange process can be complicated by differences inenvironments and by priorities between the source and targetsystems. This document explores what effect these factorshave on the evaluation of a language for use in theinformation interchange process. This document serves as acompanion to CCSDS Panel 2 language evaluation workingpapers, which are produced as appropriate. The SFDUstructure standard is discussed in References 1 and 2.

1.2 DOCUMENT ORGANIZATION

This document is divided into four sections and discusseswhat role languages play in information interchange in theSFDU environment.

Following Section 1, which provides an introduction tolanguage usage in information interchange, Section 2 containsan explanation of the challenges faced in the exchange ofspace science data. The interchange environment and the roleof languages in the interchange process is also discussed.

Section 3 deals with use of language to specify data. Itidentifies the features within a language that enable theinterchange process.

Section 4 shows how the intended usage affects the choice oflanguages in the interchange process.

CCSDS REPORT: LANGUAGE USAGE IN INFORMATION INTERCHANGE TUTORIAL

Issue-1 2-1 October 1989

2. BACKGROUND

2.1 INTRODUCTION

The collection of space science data is a costly and time-consuming process. It has been known for some time that thescience data obtained is of use to a wide community of users,both at the time it is obtained and in the future. Theability to interchange this data in a form that is usable toeither primary or secondary users is an important goal. Whenthe processing and storage environments of the source andtarget systems differ, substantial care and effort must beput forth to obtain this interchange.

CCSDS has recommended the use of the SFDU (References 1 and2) to provide a methodology for space informationinterchange. This recommendation provides a labelingmechanism that enables the self-description of theinformation being interchanged. One type of informationsupported within the SFDU structure is the data descriptionunit (DDU), which incorporates DDRs to describe datarepresentation. The DDU provides or references theinformation necessary to process the data.

While it is desirable that the information in the DDU/DDR bemachine interpretable, it is not required. The use ofEnglish for data description is currently the default;formalized notations and languages addressing the concerns ofheterogeneous interchange are under development (References 3and 4). This document, however, focuses on languages thatlend themselves to automated procedures.

2.2 INTERCHANGE ENVIRONMENT

Current information interchange practices requirecommunication between the source and target systems. Suchcommunication is necessary to ensure that data is transportedin a representation usable by the target system. This is atrivial problem if the systems are congruent (identical inrelevant attributes) but may become more challenging if thesystems utilize different machine architectures. Thefollowing are among the differences encountered inheterogeneous-interchanges:

• Differences in the representation of character data

• Differences in the number and ordering of octetsused in the representation of integers and realnumbers

CCSDS REPORT: LANGUAGE USAGE IN INFORMATION INTERCHANGE TUTORIAL

Issue-1 2-2 October 1989

• Differences in numbering of most significant toleast significant bits (ascending or descending) inbinary data

• Differences in the use of complemented notation ofnumeric values

At present such discrepancies are accommodated by negotiatingthe physical representation of the data being presented tothe target system. A priori knowledge of the target systemby the source system makes such a negotiated interchangepossible. When the source and target systems are independentin time and space, such negotiations are not possible.

One approach of the negotiated interchange is to useutilities on the source system to make it acceptable to thetarget system. The transformation is made on the outgoingsystem in order to avoid untransformed data, which may bespuriously interpreted by the target system as a controlcharacter. Utilities may also be used on the source systemto convert incoming data, but caution must be used to avoidmisinterpreting data as control characters on the targetsystem. Another approach is the use of a highly structuredinterchange format, using a custom encoding of the datavalues. This approach has been used in highly specializeduser communities, where the information interchanged conformsto a number of restrictions.

As the number of partner environments grows, the number ofnegotiated procedures grows geometrically. For example,between two systems there are generally two requiredprocedures: one to take information from site A to site B,and the other from site B to site A. With 4 sites, eachrequiring different procedures to communicate, the number ofrequired procedures rises to 12: site A to site B, site A tosite C, site A to site D, etc.

Even within a relatively constant processing environment,upgrades to systems and media may produce incongruities overtime. The transformations necessary for upgrades are usuallywell supported between sequential releases of a product(i.e., there is generally a suite of utilities or othersupport to aid the migration between release 1 and release2). Problems are more likely to arise when the data producedfrom a much earlier release of software, hardware, media, oroperating system needs to be transported to a later system.

CCSDS REPORT: LANGUAGE USAGE IN INFORMATION INTERCHANGE TUTORIAL

Issue-1 2-3 October 1989

The changeover in media from punched card to floppy disk ortape and on to optical disk is an example of advances inmedia technology. The types of data organization used tooptimize storage and access vary widely between media.Advances in hardware and operating systems have similareffects in physical representations of data. The changes inrepresentation that have occurred over the last 20 yearssuggest that it is prudent to have as complete aspecification as possible for data that may be archived forretrieval decades later.

The ability to have knowledge of the partner environment isthe key factor in determining what assumptions can be madeand what specific differences can be accommodated in a giveninterchange. If a priori knowledge of the partnerenvironment is not possible or practical, the sourceenvironment must take care to provide as complete aspecification of the data representation as possible.

Such information may include both formal notations andtextual material. It should be noted, however, that if thedata is expected to have a long latency period before reuse,a simple pointer to manufacturer and model of hardware andversion of software/operating system is insufficient.

Interchanges can be classified into three groups based on theability to have information of the partner environment and,if such knowledge exists, the degree of congruence betweenenvironments. These three classifications are closedinterchange, negotiated interchange and, open interchange.

A closed interchange is characterized by full knowledge amongcongruent environments. This can be viewed as a degeneratecase of interchange because there is no need fortransformation or for accommodation between such systems.

A negotiated interchange is how most heterogeneousinterchanges are currently handled. This type ischaracterized by the fact that both source and targetenvironments are known to each other. The differencesbetween the systems are accommodated by the use of systemutilities or custom software. As one would expect, theability to communicate is essential in order to negotiate thephysical representation of the data to be transported.

An open interchange makes no assumptions about the partnerenvironment in an interchange. To operate in the absence ofknowledge of the partner environment, the rigorous andexhaustive specification of the data being transported or

CCSDS REPORT: LANGUAGE USAGE IN INFORMATION INTERCHANGE TUTORIAL

Issue-1 2-4 October 1989

stored is required. Such specification is vital when systemsare separated by time. There is no way of knowing what newmachine architectures will evolve or if there will be anyutilities or documentation available to aid in thetransformation of data from current representations to thosein use at the time of future need.

Table 2-1 summarizes what types of interchange can be usedfor a given set of environmental circumstances. In thistable, case 1 includes environments that are congruent andknown to each other, case 2 includes environmentsnoncongruent and known to each other, and case 3 includesenvironments unknown to each other (where congruence is not afactor).

As illustrated in Table 2-1, the open interchange model maybe used under all conditions, and any model may be used inconditions where the environments are well understood andcongruent. While the more restrictive environment of theclosed interchange may provide more processing efficiency, itdepends on a restricted environment and may requiresubstantial reworking if those restrictions are violated, asthey may be as systems evolve over time.

Table 2-1. Conditions for Interchange Model Usage

Conditions Case 1 Case 2 Case 3

Ability for interchangepartners to communicate(or have full knowledge ofeach other)

Yes Yes No

Congruent environments Yes No -

Model available for use:

1. Closed Yes No No2. Negotiated Yes Yes No3. Open Yes Yes Yes

If an interchange is part of an ongoing sequence ofinterchanges, the cost effectiveness of any given choice willbe impacted by the number of interchanges to be performedover a given timeframe, by possible requirements for systemindependence in the interchange implementation, and by theprobability of environmental change in that period. Types ofenvironmental change likely to cause concern are changes in

CCSDS REPORT: LANGUAGE USAGE IN INFORMATION INTERCHANGE TUTORIAL

Issue-1 2-5 October 1989

processing machinery or architecture and changes (includingupgrades/new releases) in operating system or in transportmedia and protocol.

These impacts are most sharply felt in more restrictiveenvironment requirements of the closed interchange and thenegotiated open interchange than in the more robust genericopen interchange. Those choosing languages for interchangemust look at the expected life cycle of the interchange andprobability of environmental change/upgrade in that timeframein reaching a decision.

Space science information may be involved in all three typesof interchange within its life cycle. The operationaltransfer of data is likely to take place between knownparties on a regular basis. Generic open interchange methodsare currently being developed; as experience is gained,performance and efficiency gains will be made. Until genericopen interchange methods mature, the volume of data,frequency of transfer, and longevity of the transferagreements may make closed or negotiated interchange methodsmore attractive.

2.3 ROLE OF LANGUAGES

Languages allow the specification of data being transportedor stored. This specification may be a physical or logicalrepresentation of the information that the data represents.Logical specifications are found in the declarative portionof programming languages. The specification notes the basicdata type of the information [i.e., character, Boolean(logical), integer, or real], as well as interrelationshipsas found in records, vectors, arrays, and sets. Somelanguages also allow the specification of special-use types,which are relevant to the type of information beingdescribed. A language or notation that describes how theinformation is logically organized is referred to as a datadescription language (DDL).

Data also has a physical representation that differs betweenmachine architectures, operating systems, and media. Thisphysical representation may be viewed as describing theactual bit patterns encountered in the interchange process.These differences include, but are not restricted to

• Differences in the representation of character data[e.g., Extended Binary Coded Decimal InterchangeCode (EBCDIC), 7-bit American Standard Code forInformation Interchange (ASCII), 8-bit ASCII]

CCSDS REPORT: LANGUAGE USAGE IN INFORMATION INTERCHANGE TUTORIAL

Issue-1 2-6 October 1989

• Differences in the number of bytes used torepresent numeric values (16- versus 32-bitintegers)

• Differences in the numbering of bits in an octet(right to left or left to right); a criticaldifference if a series of bit flags is being usedand in the representation of real numbers

• Differences in the complement notation used torepresent numerics (i.e., one's or two's complementnotations create quite different bit patterns inrepresenting the same value)

A language or notation that depicts the physicalrepresentation of the data being interchanged is referred toas a data interchange language (DIL). DILs currently underdevelopment contain substantial DDL capabilities. While thepresence of such information is necessary for interchangebetween dissimilar systems, the development of DILs is stillat an early stage.

There are two basic approaches that have been taken in thedevelopment of DILs: canonical and descriptive. Thecanonical approach utilizes a predefined, interim, data typerepresentation that is independent of the internal machinerepresentation of either partner. The descriptive approachprovides a complete bit-level specification of each data typeused in the interchange.

Many file transfer utilities use the canonical approach andconvert numerics into character representation for thetransfer process over communications lines. This characterrepresentation is probably the most general way oftransferring numeric data but has large overhead costs inboth storage and performance. The choice of a single numericrepresentation other than character representation or binaryencoding (with specified most-significant-byte ordering) isthe subject of study by standards committees. Othercanonical representation efforts have specified a choice ofcurrently supported machine representations.

Descriptive representation efforts provide flexibility inspecification of representation and enable user extensions torepresentation types. This flexibility may result in somecost efficiency, depending on the implementation.

Most programming languages concern themselves primarily withthe logical description of data. This is a proper approach

CCSDS REPORT: LANGUAGE USAGE IN INFORMATION INTERCHANGE TUTORIAL

Issue-1 2-7 October 1989

to ensure that the algorithms used in the data manipulationportion of the language are portable and do not tiethemselves to a particular machine implementation.

The use of information provided by DDLs and DILs is essentialfor the interchange of information where the parties areseparated by time or when the processing or storageenvironments are divergent.

CCSDS REPORT: LANGUAGE USAGE IN INFORMATION INTERCHANGE TUTORIAL

Issue-1 3-1 October 1989

3. LANGUAGE FEATURES AND INTERCHANGE

3.1 INTRODUCTION

The use of language for specification in data interchangemakes use of various features that enable the user todescribe, in detail, both the logical and physicalrepresentations of the data. As discussed in the previoussection, a language or notation used for describing thelogical representation of data is referred to as a DDL; oneused for describing the physical representation is referredto as a DIL. Some languages/notations provide both DDL andDIL capabilities.

The suitability of a language for use in the interchangeprocess involves factors such as portability, commercialavailability, support, and the existence of standards. Thissection discusses various language features and their role ininformation interchange.

3.2 GENERAL FEATURES

For any language or notation, there are several featuresregarding expressiveness that are necessary to allow for theidentification and access of data values in a generalizedfashion.

3.2.1 DESCRIPTION BY REFERENCE

Description by reference is the ability to separate thedescription of the data from the data itself. By using thiscapability, it is possible to access portions of the dataseparately and distinctly by name. Cataloging and retrievalprocesses access data fields by name. This need for namedreference also extends to the aggregated data records,enabling logically related data items to be accessed as agroup. Without this capability, data is not easily decoupledfrom a specific application, and the possibility for itsreuse is highly restricted. This feature is required if DDRsare to be written for the interchange process.

3.2.2 SUPPORT OF BASIC DATA TYPES

The "atomic" types of character and numeric real and integermust be supported within the language at a minimum.Additionally, Boolean (logical), bit, and complex typesshould be able to be accommodated within the framework of thelanguage set.

CCSDS REPORT: LANGUAGE USAGE IN INFORMATION INTERCHANGE TUTORIAL

Issue-1 3-2 October 1989

3.3 DATA TYPE FEATURES

The data type features discussed in this section focusprimarily on the logical representation of data and theability to define user data types.

3.3.1 DATA TYPE DEFINITION CAPABILITIES

Data type definition is the ability of the language to defineand name user data types for use within an application,library, or community. An example of this capability wouldbe the definition of time or date as a specific data type toensure that its representation and usage are consistent.This utilizes the notion of data abstraction, as described inthe following quotation from Reference 5:

A data abstraction is used to introduce a new type ofdata object that is deemed useful in the domain of theproblem being solved. At the level of use, theprogrammer is concerned with the behavior of these dataobjects, what kinds of information can be stored in themand obtained from them. The programmer is NOT concernedwith how data objects are presented in storage nor thealgorithms used to store and access information in them.In fact, a data abstraction is often used to delay suchdecisions until a later stage in the design.

In addition to data abstraction, data definition capabilitiesmay also include the naming of data types representingcomposite data units, such as the structures discussed in thenext section.

Another example of a composite data type used within spaceinformation systems is the image type. Images are composedof a number of individual values but are used as a cohesiveunit. The ability to define and access an image as a dataunit greatly enhances the usability of a language.

Note that specification of legal operations on a data type isnot part of the transfer description, as these operations aredependent on the data manipulation language.

3.3.2 DATA TYPE STRUCTURING CAPABILITIES

Data type structuring is the ability of the language todescribe the logical relationship of "atomic" data items.This type of relationship may be conveyed through the use ofdata structures that support the ability to classify and

CCSDS REPORT: LANGUAGE USAGE IN INFORMATION INTERCHANGE TUTORIAL

Issue-1 3-3 October 1989

aggregate data, which in turn support the processes ofgeneralization and association. As mentioned previously,images are an example of this type of composite datastructure.

Classification is the grouping of entities that sharecharacteristics over which uniform conditions hold. A"class" corresponds to an explicit or implicit "typedefinition." In this respect one could reasonably expect atype such as an image to have a certain set of commoncharacteristics such as parameters to describe the number ofrows and pixels in an image.

Aggregation is grouping of entities into a unit. A recordcan be seen as an aggregate of its component fields. Imagesare a collection of values that define a unified whole.

Generalization captures the commonalities of one or moregiven classes, utilizing the uniform condition shared byclass members. There are a number of operations that can beperformed on images, such as displaying them, which would beinappropriate to perform on other data types. One is able togeneralize over that common set of conditions found in imagesto perform these operations.

Association describes a collection of entities of the sameclass. Array types and tables are associations of members ofa given type. Some images are actually a series of imagesfrom different spectra, although each image may be usedindependently. It is the association of these images thatprovides the comprehensive unit.

3.4 PHYSICAL REPRESENTATION CAPABILITIES

The ability to describe physical representation is not withinthe scope of current programming languages. Indeed, in aneffort to promote portability, standard programming practicesmay encourage the "hiding" of actual physical representationand implementation details. This capability is used to gainthe benefits of data abstraction, as discussed in Section3.3.1. This orientation discourages the deliberate use ofmachine-dependent methods and algorithms, which can shortenthe life cycle of applications by making transport or upgradeto new machines or systems unwieldy.

Ironically, the very methods needed to support portableapplications lead to difficulty in transporting the dataproduced or used by those applications. This difficulty

CCSDS REPORT: LANGUAGE USAGE IN INFORMATION INTERCHANGE TUTORIAL

Issue-1 3-4 October 1989

arises because, although the details of representation remainconstant within any given environment, these details arehidden to discourage the use of environment-specific (i.e.,nonportable) optimizations. However, this is the veryinformation necessary to account for when moving data betweensystems.

A DIL needs to be able to specify the bit patternrepresentation of data to be transported. Thisrepresentation must specify not only basic data types, butalso how the implementation producing the information haschosen to represent these types. Among the representationissues are the encoding rules used for representing characterdata and the varied representations of numerical data.

Current programming systems do not address these issues.There are two efforts under way by CCSDS to provide thislevel of specification capability. They are the transfersyntax data notation (TSDN), discussed in Reference 3, andthe pilot data descriptive language (PDDL), discussed inReference 4. Both efforts provide a method for specifyingthe physical representation, as well as adding some of thelogical representation capabilities discussed previously.

3.5 LANGUAGE IMPLEMENTATION CONSIDERATIONS

Among the considerations for choosing a DDL and/or DIL is theavailability and support of a given language. For a languageto be useful in the interchange process, the capability toparse the language or notation must be available andconsistent in each environment. The availability of nationalor preferably international standards for a language is adefinite advantage in the viability of its use in theinterchange process.

Beyond the availability of standards, the commercialavailability and support of a language adds to theexpectation of continued availability and the maintenance ofthe language and provides recourse in the event ofunanticipated results. The availability of software toolssuch as compilers, interpreters, and service libraries, aswell as interfaces to data base management packages, may makea language attractive for use in a particular environment.

CCSDS REPORT: LANGUAGE USAGE IN INFORMATION INTERCHANGE TUTORIAL

Issue-1 3-5 October 1989

The ease of use of a language is also a consideration.A practical explanation of ease of use is provided inReference 6:

It is desirable that the constructs of a language be easy tolearn and remember. Once programmers are familiar with thelanguage, it should not be necessary for them to consultmanuals constantly. The language should be so simple andstraightforward that the proper way to do something isreasonably apparent. On the other hand, there should not bemany ways to do the same thing, as the programmer will thenflounder helplessly trying to decide which is best.

Ease of use is degraded if needed data constructs cannot bedescribed without resorting to creative use of a language'sdeclarative capabilities. The need for procedural methods orworkarounds to compensate for lack of descriptive robustnessin a language may offset the advantages of familiarity byincreasing both processing and maintenance overhead.

CCSDS REPORT: LANGUAGE USAGE IN INFORMATION INTERCHANGE TUTORIAL

Issue-1 4-1 October 1989

4. INTERCHANGE LIFE-CYCLE CONSIDERATIONS

4.1 INTRODUCTION

The circumstances, requirements, and constraints surroundingany information interchange will have an influence on thechoice of language used in the interchange. While aninterchange may be viewed as a single transaction, it islikely that it is one of a series of interchanges betweenvarious sites. The partner environment and/or content typeof the interchange may vary in this series. The expectednumber of cycles of interchange, the life-cycle calendartimeframe, and the number and diversity of the recipients areall factors that have practical implications.

The life cycle of the interchange being addressed will impactthe relative priority of performance and flexibility. Thesepriorities will influence language choice. To explore thesedifferences, interchanges can be divided into threecategories: production, ad hoc, and archival. Thesecategories focus on the predictability of repeated ormultiple requests and the likelihood of a prioricommunication or agreements. A scenario is provided in thefollowing subsections for each category, using one of theinterchange models described in Section 2.

4.2 PRODUCTION INTERCHANGE DESCRIPTION AND SCENARIO

This category of interchange is characterized by the factthat the same type of information is interchanged repeatedlybetween known systems or from node to node within a system.In some sense, this may be viewed almost as a subscriptionservice. Because of its predictability and the amount ofprior communication required, this type of interchange ismost likely to be a closed interchange or negotiatedinterchange. Until a highly efficient set of SFDU servicesis available for a recommended DIL, these interchanges arelikely to use implied DILs, such as system utilities andcustom applications to perform transformations.

This category of interchange may well have a known set ofrecipients and a relatively constant DDU. This is thecategory-of interchange in which standard informationproducts are distributed on a regular basis. The recipientsare likely to be prime investigators, research organizations,other agencies, distribution points, and archive centers.

While this approach gives performance gains, it assumes thatthe environment will remain unchanged at both ends. A data

CCSDS REPORT: LANGUAGE USAGE IN INFORMATION INTERCHANGE TUTORIAL

Issue-1 4-2 October 1989

base management system (DBMS) upgrade at the source systemmay produce files incompatible with the target system.Upgrades to machine or operating systems on either end of theinterchange could well entail substantial refitting effortsto accommodate change. The cost and efficiency tradeoffsbetween a closed system and a more flexible, open system mustbe viewed against the expected life cycles of the mission andthe partner processing environments.

The volume and predictability of the data and itsdistribution may make the use of a closed model appear costeffective. It assumes that the processing environments areunlikely to change substantially over the life cycle of theinterchange agreement. However, the probability of upgradeand processing environment evolution over years may make anopen system approach more cost effective and efficient in thelong term, especially from a maintenance standpoint.

This scenario is one in which an investigator wishes toreceive a monthly extract of data from an ongoing 2-yearmission. The data is distributed from a central source thatutilizes a proprietary DBMS. The investigator is using thesame DBMS under the same hardware and operating systemconfiguration as the source.

The investigator decides to capitalize on performanceadvantages available under severe restrictions. Under thisclosed interchange, it is possible to use the proprietaryformat to transport data between the two systems. Dependingon the DBMS, the DDR may consist of schema or may only be areference to the DBMS software that can access theproprietary format, which includes data description.

The source site upgrades to a new version of the DBMS, whichproduces files incompatible with the previous version. Thenew version can read and convert data from the previousversion, but backward conversion is not possible. Theinvestigator must find alternative methods to obtain his orher data until the DBMS at his or her site is upgraded to thenew version.

4.3 AD HOC INTERCHANGE DESCRIPTION AND SCENARIO

This interchange category is characterized by the fact thatthe actual description of the data to be interchanged may notbe known a priori, and there is no reason to believe that theparticular request will be repeated, although the samerecipient is likely to make future requests.

CCSDS REPORT: LANGUAGE USAGE IN INFORMATION INTERCHANGE TUTORIAL

Issue-1 4-3 October 1989

The recipients are likely to be users who are performingadditional analysis and requesting information that fits acertain set of criteria. This interchange category is likelyto generate nonreusable DDUs. This need for the generationof custom DDUs for each interchange would indicate the needfor a robust DDL to describe the logical representation ofthe data.

If this request is between well-acquainted systems, it may bepossible to use the implicit DIL of a negotiated transfer.Note that the use of a negotiated interchange is sensitive tochanges in the partner environments. Continued communicationis required to allow the coordination of necessaryadjustments to accommodate changes in either environment.

This type of interchange is certainly a candidate for use ofa formal DIL. The use of open interchange is particularlyattractive in a situation where new machine architectures ortransport media are evolving and where multiple environmentsare involved. The fact that any particular data requestrepresentation is not necessarily to be reused and the factthat requests may come from a variety of systems may make theuse of a generic open interchange model attractive from amaintenance and administrative viewpoint.

This scenario is one in which another investigator wishes toreceive sets of data from the same ongoing 2-year mission,based on the values in the data. This investigator is at asite that uses different hardware and software than thesource site. Communication between the systems/operationsstaff at the two sites reveals that standard utilities existto transform the data into a form usable at the target site.

A DDU is generated with a DDR written in Ada to describe thelogical representation of the data. While no DDR is writtento describe the physical representation, an implicit DILexists in the usage of the standard utilities, whichtransform the physical representation.

An upgrade occurs in the operating system at the receivingsite, which impacts the internal representation of data. Thereceiving site needs to use a second set of utilities totransform the data to its current status, as the sending siteutilities have not been upgraded to reflect the new format.

CCSDS REPORT: LANGUAGE USAGE IN INFORMATION INTERCHANGE TUTORIAL

Issue-1 4-4 October 1989

4.4 ARCHIVAL INTERCHANGE DESCRIPTION AND SCENARIO

This type of interchange often involves separation of sourceand target environments by time, which may precludecommunication between the source and target systems. Thisinability to depend on communication makes use of an explicitDIL essential in the specification of the archivalrepresentation of information. It is conceivable thatarchived data will need to be accessed decades after itsrepresentation has been specified. It is likely that theevolution of processing and storage technology will make useof implicit DIL unfeasible. By necessity, these will be openinterchanges. The explicit DIL may be textual until anautomatable notation/language is available.

This scenario is 25 years after the end of the 2-year missiondiscussed in the previous scenarios; an investigatorrequests a copy of the archived data. This investigatorwishes to compare recently gathered data with the historicreadings of the earlier mission. Luckily, the data wasstored in SFDU format with a DDU containing both DDL and DILdescriptions.

Although the environment in which the data was generated andstored is no longer supported, automated SFDU services areused to put the information into a form usable by therequesting investigator's system. The information containedwithin the SFDU also contains other information, such as adata dictionary and supplemental information, which enables abetter understanding of the archived data.

Another set of historic data that this investigator requestswas also archived in SFDU format but used a textual DIL. Theinformation is still retrievable but requires substantialmanual intervention. One of the principal investigator's(PI's) graduate assistants matches the description with abinary dump of the data and then writes custom software torecover the required information.

CCSDS REPORT: LANGUAGE USAGE IN INFORMATION INTERCHANGE TUTORIAL

Issue-1 A-1 October 1989

ANNEX A

GLOSSARY OF TERMINOLOGY

CCSDS REPORT: LANGUAGE USAGE IN INFORMATION INTERCHANGE TUTORIAL

Issue-1 A-2 October 1989

ANNEX A - GLOSSARY OF TERMINOLOGY

ASCII American Standard Code for InformationInterchange: a 7-bit code also known as USAStandard Code for Information Interchange(USASCII)

Closed SystemInterchange

An information interchange between systems usingprivate agreements on data representation;includes reliance on common environments

CongruentEnvironments

Processing environments that are consistent witheach other in the processing and representationof data

Data Representation forms of information dealt with byinformation systems and their users

DDL data description language: used for specifyingthe logical representation of data

DIL data interchange language: used for specifyingthe physical (bit pattern) representation of data

Implicit DIL Use of system utilities or custom software inplace of an explicit DIL in the interchange databetween heterogeneous environments

Information Any kind of knowledge that is exchangeablebetween users

Language A definition comprised of a grammar andassociated semantics

NegotiatedSystemInterchange

Interchange between systems using differentphysical representations, where transformationutilities or custom software is used in place ofan explicit DIL

Open SystemInterchange

Interchange between systems where communicationand/or congruence cannot be assumed

SFDU standard formatted data unit: data units thatconform to CCSDS recommendations for structure,construction rules, and field specificationdefinition

CCSDS REPORT: LANGUAGE USAGE IN INFORMATION INTERCHANGE TUTORIAL

Issue-1 B-1 October 1989

ANNEX B

LIST OF ACRONYMS

CCSDS REPORT: LANGUAGE USAGE IN INFORMATION INTERCHANGE TUTORIAL

Issue-1 B-2 October 1989

ANNEX B - LIST OF ACRONYMS

ASCII American Standard Code for InformationInterchange

CCSDS Consultative Committee for Space Data Systems

DBMS data base management system

DDL data description language

DDR data description record

DDU data description unit

DIL data interchange language

EBCDIC Extended Binary Coded Decimal Interchange Code

PDDL pilot data description language

SFDU standard formatted data unit

TSDN transfer syntax data notation