Previous Next Functional Tool Requirements Homepage  
System Development Submodel  
SSD15 - Compiling  

  LSE15 - Kompilieren

Contents  
  • 1 Allocation to V-Model and Methods Allocation
  • 2 Brief Characteristics
  • 3 Requirements
  •       3.1 Requirements for Interfaces
  •       3.2 Requirements for the Methods Support
  •       3.3 Requirements for Functions
  •       3.4 Other Requirements
  • 1 Allocation to V-Model and Methods Allocation

    V-Model

    SD6.1 - Coding of SW Modules

  • SW Modules
  • SD6.2 - Realization of Database

  • Database
  • Method

    none

    2 Brief Characteristics

    This service unit defines the requirements for tools applied to compile source code into a target code.
    The compilation guarantees that the semantic of the program remains unchanged. The target code can be optimized with regard to fast runtime or low memory requirements.

    3 Requirements

    3.1 Requirements for Interfaces

    SSD15.I.1 Granularity The exchange of control parameters with SWFM01 - Workflow Management is possible for individual closed function packages of the tool by means of a disclosed, documented interface.
    SSD15.I.2 Input interface to SSD12 - Generating Components and Modules It is possible to integrate directly source code generated with SSD12 for Components and Modules without further transformation from the object management in order to be compiled.
    SSD15.I.3 Input interface to SSD13 - Generating Databases It is possible to integrate directly physical schema specifications generated with SSD13 for Databases without further transformation from the object management in order to be compiled.
    SSD15.I.4 Input interface to SSD14 - Generating User Interface Formats It is possible to integrate physical schema specifications generated with SSD14 for interfaces without further transformation from the object management in order to be compiled.
    SSD15.I.5 Output interface to SSD16 - Linking It is possible to transmit compiled code without further transformation via the object management to SSD16 in order to be linked.

    3.2 Requirements for the Methods Support

    none

    3.3 Requirements for Functions

    SSD15.F.1 Error-free compilation A source code program which is free of errors both with regard to syntax and to semantics is compiled into a semantically equivalent program in the target code.
    SSD15.F.2 Locations
    SSD15.F.2.1 Source code It is possible to enter the position of the source code to be compiled.
    Normally the source code is stored in a file.
    SSD15.F.2.2 Listing It is possible to enter the position of the compilation protocol (listing).
    Normally, the listing is written to a file; however, it may also be displayed on the screen or be printed in form of a list.
    SSD15.F.2.3 Target code It is possible to enter the file name for the target code to be generated.
    SSD15.F.3 End identification It is possible to cancel reading from source code by means of a special character or a special character string.
    In an Ada program the character string "--$" in the first column of a line might be a possible identification. This way it is possible to signal the end of the source code when reading from the terminal.
    SSD15.F.4 Listing
    SSD15.F.4.1 Variants Two variants are possible for the layout of the listing: terminal or printer.
    The terminal layout has a restricted line width (normally 80 characters per line). The layout for printers, on the other hand, can utilize the entire width when printing (normally up to 132 characters).
    SSD15.F.4.2 Summary It is possible to get a summary of the compilation process displayed on the terminal.
    The summary includes type and number of compilation errors.
    SSD15.F.4.3 Errors It is possible to suppress error-free lines in the listing.
    Only lines containing errors are displayed/printed together with the corresponding error messages.
    SSD15.F.4.4 Details The listing contains the options valid for the current compilation, the relevant parameters, and the data and time of the compilation.
    SSD15.F.4.5 Statistics
    SSD15.F.4.5.1 Statistic at the end The statistics are displayed at the end of the listing.
    SSD15.F.4.5.2 Source code lines The statistics of the listing contain the number of source code lines.
    SSD15.F.4.5.3 Target code size The statistics of the listing contain the size of the target code.
    Normally, the size is listed in the smallest addressable machine unit, i. e. in bytes.
    SSD15.F.4.5.4 Times The statistics of the listing contain the elapsed time and the actual CPU time.
    SSD15.F.5 No code generation It is possible to suppress the code generation during the compilation.
    Only possible errors are reported.
    SSD15.F.6 Debug information It is possible to instrument the target code with debug information.
    Target code thus instrumented can-if linked with the debug option as well-be tested with a debugger.
    SSD15.F.7 Test mode It is possible to enhance the listing with information utilized in tests.
    Such information might be: time measurements for the compilation of statements, generated (interim) code in various representations.
    SSD15.F.8 Error messages
    SSD15.F.8.1 Classification At least two classes exist: "error" and "warning".
    A further classification would differentiate between "syntax error", "semantic error", "warning", and "compiler error".
    SSD15.F.8.2 Marking The error position is marked in the listing.
    This is realized e. g. by a pointer directed towards the error in the source code.
    SSD15.F.8.3 Embedding The error messages are embedded in the source code in the listing.
    SSD15.F.8.4 Measures The error correcting measures are included in the listing.
    Example: after the detection of a syntax error the automatically inserted tokens resulting in a syntactically correct program are inserted in the listing.
    SSD15.F.8.5 User group oriented Prior to the compilation it is possible to define if the error messages are to be more detailed or shorter.
    The more detailed form is practical for the first-time user while the shorter form is better suited for the language expert who can do without detailed explanations in the error messages.
    SSD15.F.8.6 Error statistics at the end The error statistics are displayed at the end of the listing.
    SSD15.F.9 Interfaces to programming languages
    SSD15.F.9.1 Assembler An interface to the Assembler language is available.
    SSD15.F.9.2 Ada An interface to Ada is available.
    SSD15.F.9.3 FORTRAN An interface to FORTRAN is available.
    SSD15.F.9.4 COBOL An interface to COBOL is available.
    SSD15.F.9.5 C An interface to C is available.
    SSD15.F.9.6 C++ An interface is available to C++.
    SSD15.F.9.7 Standard conformity The programming language supported is applied in conformance to the standard.
    SSD15.F.9.8 Implementation dependency The options depending on the implementation of the programming language are documented.
    SSD15.F.10 Optimizations
    SSD15.F.10.1 Runtime It is possible to determine by means of an option that the code is optimized with regard to shortest runtime.
    The memory requirements for the target code may then be increased.
    SSD15.F.10.2 Memory requirements It is possible to determine by means of an option that the code is optimized with regard to lowest memory requirements.
    The runtime of the target code may then be increased.

    3.4 Other Requirements

    SSD15.O.1 Error messages
    SSD15.O.1.1 Comprehensibility The error messages are easy to understand and to trace back.
    In case the error could not be sufficiently explained in the listing it is necessary to refer to the corresponding position in the official language description.
    SSD15.O.1.2 Language The error messages are written in a way adjusted to the corresponding language environment.
    SSD15.O.2 Upward compatibility It must be possible to process objects generated with an older release of the tool with the later release of that tool, without loss of information and functionality.
    SSD15.O.3 Procedural command language The tool has a procedural command language that can be applied by the user to generate and run macros or procedures.
    SSD15.O.4 Complexity There is no limitation of the complexity caused by the tool itself.
    SSD15.O.5 Documentation The chosen implementation options of the tool are documented.

    Previous Next GDPA Online Last Updated 01.Jan.2002 Updated by Webmaster Last Revised 01.Jan.2002 Revised by Webmaster