Other Languages and Specifics

Other Languages and Specifics includes standards relating to programming languages and their particular uses sometimes within certain fields. The programming languages include Full BASIC, EDDL, Ada and more.

INCITS 113A-1989[S2008]

Information Systems - Programming Languages - Modules and Individual Character Input for Full BASIC

Establishes the syntax of BASIC programs written using individual character input, or modules, or both; the semantic rules for interpreting the meaning of a BASIC program that uses individual character input, or modules, or both; the errors and exceptional circumstances that shall be detected; and also the manner in which such errors and exceptional circumstances shall be handled.

IEC 61804-3 Ed. 4.0 b:2020

Devices and integration in enterprise systems - Function blocks (FB) for process control and electronic device description language (EDDL) - Part 3: EDDL syntax and semantics

IEC 61804-3:2020 specifies the electronic device description language (EDDL) technology, which enables the integration of real product details using the tools of the engineering life cycle.
 This document specifies EDDL as a generic language for describing the properties of automation system components. EDDL is capable of describing
 • device parameters and their dependencies;
 • device functions, for example, simulation mode, calibration;
 • graphical representations, for example, menus;
 • interactions with control devices;
 • graphical representations:
 – enhanced user interface,
 – graphing system;
 • persistent data store.
 EDDL is used to create electronic device description (EDD) for e.g. concrete devices, common usable profiles or libraries. This EDD is used with appropriate tools to generate an interpretative code to support parameter handling, operation, and monitoring of automation system components such as remote I/Os, controllers, sensors, and programmable controllers. Tool implementation is outside the scope of this document.
 This document specifies the semantic and lexical structure in a syntax-independent manner. A specific syntax is defined in Annex A, but it is possible to use the semantic model also with different syntaxes.
 IEC 61804-4 specifies EDD interpretation for EDD applications and EDDs to support EDD interoperability.
 IEC 61804-5 specifies the EDDL builtin library and provides the profiles of the various fieldbuses.
  
This fourth edition cancels and replaces the third edition published in 2015. This edition constitutes a technical revision.
 This edition was developed by merging material from multiple variants of existing EDDL specifications including those from FieldComm Group (FOUNDATION™ Fieldbus , HART® ), PROFIBUS™ Nutzerorganisation e.V. (PNO), and ISA100_Wireless™ Compliance Institute (ISA100 WCI). Any places where there may be a profile deviation are now indicated in the context where the related deviation is found. As a result, the formatting and numbering of this edition may be different from any of the individual specifications from which this edition was derived.
 This edition includes the following significant technical changes with respect to the previous edition:
 • Communication profiles ISA100 and GPE were added.
 • EDD Identification Information has a new LAYOUT_TYPE attribute.
 • New construct SEMANTIC_MAP was added.
 • CLASS attribute values LOCAL_A and LOCAL_B were added.
 • Extended LIST functionality to support device managed lists.

IEEE 1178-1990 (R2008)

IEEE Standard for the Scheme Programming Language

New IEEE Standard - Active.Reaffirmed 2008. The form and meaning of programs written in the Scheme programming language, in particular, their syntax, the semantic rules for interpreting them, and the representation of data to be input or output by them, are specified. The fundamental ideas of the language and the notational conventions used for describing and writing programs in the language are presented. The syntax and semantics of expressions, programs, and definitions are specified. Scheme's built-in procedures, which include all of the language's data manipulation and input/output primitives, are described, and a formal syntax for Scheme written in extended Backus-Naur form is provided. Formal denotational semantics for Scheme and some issues in the implementation of Scheme's arithmetic are covered in the appendixes.

IEC 62714-1 Ed. 2.0 b:2018

Engineering data exchange format for use in industrial automation systems engineering - Automation Markup Language - Part 1: Architecture and general requirements

IEC 62714-1:2018 is a solution for data exchange focusing on the domain of automation engineering. The data exchange format defined in the IEC 62714 series (Automation Markup Language, AML) is an XML schema based data format and has been developed in order to support the data exchange in a heterogeneous engineering tools landscape. The goal of AML is to interconnect engineering tools in their different disciplines, e.g. mechanical plant engineering, electrical design, process engineering, process control engineering, HMI development, PLC programming, robot programming, etc. This second edition cancels and replaces the first edition published in 2014. This edition constitutes a technical revision. This edition includes the following significant technical changes with respect to the previous edition:
 a) use of CAEX 3.0 according to IEC 62424:2016
 b) improved modelling of references to documents outside of the scope of the present standard,
 c) modelling of references between CAEX attributes and items in external documents,
 d) revised role libraries,
 e) modified Port concept,
 f) modelling of multilingual expressions,
 g) modelling of structured attribute lists or array,
 h) a new AML container format,
 i) a new standard AML attribute library

IEC 62714-4 Ed. 1.0 b:2020

Engineering data exchange format for use in industrial automation systems engineering - Automation markup language - Part 4: Logic

IEC 62714-4:2020 specifies the integration of logic information as part of an AML model for the data exchange in a heterogenous engineering tool landscape of production systems.
 This document specifies three types of logic information: sequencing, behaviour, and interlocking information.
 This document deals with the six following sequencing and behaviour logic models (covering the different phases of the engineering process of production systems) and how they are integrated in AML: Gantt chart, activity-on-node network, timing diagram, Sequential Function Chart (SFC), Function Block Diagram (FBD), and mathematical expression.
 This document specifies how to model Gantt chart, activity-on-node network, and timing diagram and how they are stored in Intermediate Modelling Layer (IML).
 This document specifies how interlocking information is modelled (as interlocking source and target groups) in AML. The interlocking logic model is stored in Function Block Diagram (FBD).
 This document specifies the AML logic XML schema that stores the logic models by using IEC 61131-10.
 This document specifies how to reference PLC programs stored in PLCopen XML documents.
 This document does not define details of the data exchange procedure or implementation requirements for the import/export tools.

IEEE 1003.26-2003 (R2010)

IEEE Standard for Information Technology - Portable Operating System Interface (POSIX(R)) - Part 26: Device Control Application Program Interface (API) [C Language]

This standard is part of the POSIX series of standards. It defines an application program interface for controlling device drivers. Although it is based on the widely used ioctl() system call, the interface is type-safe and has a fixed number of parameters.

IEEE 1450.4-2017

IEEE Standard for Extensions to Standard Test Interface Language (STIL) (IEEE Std 1450-1999) for Test Flow Specification

IEEE Std 1450-1999, which specifies the Standard Test Interface Language (STIL), is extended by this standard to provide an interface between test generation tools and test equipment with regard to the specification of the flow of execution of test program components. It defines structures so that test flows, sub-flows, and binning may be described in a manner that facilitates automated generation, modification, and/or manual maintenance and, although not yet a complete run-time test language, execution on automated test equipment (ATE). It also defines an interface between tester configurations (described by IEEE Std 1450-1999 and IEEE Std 1450.2-2002) and test program components. It also defines a hierarchy of flows, sub-flows, and test components as well as structures for defining flow-related variables and processing expressions involving those variables. It provides structures that support automatic test program generation (ATPRG) and translation and that support running it natively as an ATE programming language. As an adjunct, IEEE Std 1450.3-2007 may be used by ATPRG for tester rules checking.

IEEE 1647-2019

IEEE Standard for the Functional Verification Language e

The e functional verification language is an application-specific programming language, aimed at automating the task of verifying a hardware or software design with respect to its specification. Verification environments written in e provide a model of the environment in which the design is expected to function, including the kinds of erroneous conditions the design needs to withstand. A typical verification environment is capable of generating user-controlled test inputs with statistically interesting characteristics. Such an environment can check the validity of the design responses. Functional coverage metrics are used to control the verification effort and gauge the quality of the design. e verification environments can be used throughout the design cycle, from a high-level architectural model to a fully realized system. A definition of the e language syntax and semantics and how tool developers and verification engineers should use them are contained in this standard.

IEEE 1855-2016

IEEE Standard for Fuzzy Markup Language

A new specification language, named Fuzzy Markup Language (FML), is presented in this standard, exploiting the benefits offered by eXtensible Markup Language (XML) specifications and related tools in order to model a fuzzy logic system in a human-readable and hardware independent way. Therefore, designers of industrial fuzzy systems are provided with a unified and high-level methodology for describing interoperable fuzzy systems. The W3C XML Schema definition language is used by this standard to define the syntax and semantics of the FML programs.

IEEE/ISO/IEC 14519-1999

Information technology--POSIX(R) Ada Language Interfaces--Binding for System Application Program Interface (API)--Realtime Extensions

This standard is part of the POSIX series of standards for applications and userinterfaces to open systems. It defines the Ada language bindings as package specificationsand accompanying textual descriptions of the application program interface (API).

ISO/IEC 14568:1997

Information technology - DXL: Diagram eXchange Language for tree-structured charts

This International Standard specifies the semantics and syntax of DXL. DXL is a language for exchanging tree-structured charts among CASE tools.

DXL is applicable to:

  • exchanging ISO/IEC 8631 compliant tree-structured charts (examples of which are shown in annex A (informative) of ISO/IEC 863 1);
  • exchanging program flowcharts defined in ISO/IEC 5807 if they are well-structured and don't have data defined in ISO/IEC 5807; and
  • describing procedure oriented algorithms.

This International Standard does not specify:

  • graphical information about a chart, such as the shape, size, and location of symbols;
  • configuration information of a chart, such as its version, author, and tile name; or
  • information about the data used in the algorithm described by DXL, such as its structure, reading and writing, and declaration.

ISO/IEC 18023-1:2006

Information technology - SEDRIS language bindings - Part 1: Functional specification

ISO/IEC 18023-1:2005 addresses the concepts, syntax and semantics for the representation and interchange of environmental data. It specifies:

  • a data representation model for expressing environmental data;
  • specifications of the data types and classes that together constitute the data representation model; and
  • an application program interface that supports the storage and retrieval of environmental data using the data representation model.

ISO/IEC 18023-1:2005 also specifies topological, rule-based, and other constraints that ensure appropriate data can be available for applications that rely on automatically generated behaviours when interacting with environmental data.

ISO/IEC 18024-4:2006

Information technology - SEDRIS language bindings - Part 4: C

ISO/IEC 18024-4:2006 specifies a language-dependent layer for the C programming language.

ISO/IEC 18023-1 specifies a language-independent application program interface (API) for SEDRIS. For integration into a programming language, the SEDRIS API is embedded in a language-dependent layer obeying the particular conventions of that language.

**This document has been packaged as a zipped file. The zip file contains a Readme file and it is essential to consult this file to understand the way in which the document has been structured.

ISO/IEC 19501:2005

Information technology - Open Distributed Processing - Unified Modeling Language (UML) Version 1.4.2

ISO/IEC 19501:2004 describes the Unified Modeling Language (UML), a graphical language for visualizing, specifying, constructing and documenting the artifacts of a software-intensive system. The UML offers a standard way to write a system's blueprints, including conceptual things such as business processes and system functions, as well as concrete things such as programming language statements, database schemas, and reusable software components.

ISO/IEC 19516:2020

Information technology - Object management group - Interface definition language (IDL) 4.2

This International Standard specifies the OMG Interface Definition Language (IDL). IDL is a descriptive language used to define data types and interfaces in a way that is independent of the programming language or operating system/processor platform.

The IDL specifies only the syntax used to define the data types and interfaces. It is normally used in connection with other standards that further define how these types/interfaces are utilized in specific contexts and platforms:

? Separate "language mapping" standards define how the IDL-defined constructs map to specific programming languages, such as, C/C++, Java, C#, etc.

? Separate "serialization" standards define how data objects and method invocations are serialized into a format suitable for network transmission.

? Separate "middleware" standards, such as, DDS or CORBA leverage the IDL to define data-types, services, and interfaces.

The description of IDL grammar uses a syntax notation that is similar to Extended Backus-Naur Format (EBNF).

ISO/IEC 14519:2001

Information technology - POSIX Ada Language Interfaces - Binding for System Application Program Interface (API)

This standard defines a set of system application program interfaces to operating system services. These interfaces provide access via the Ada programming language to the same operating system services for which C-language interfaces are specified in ISO/IEC 9945-1:1996 {2} 1)2)and IEEE P1003.1g {B14}.

The purpose of this standard is to support application portability at the Ada source code level. This standard is intended to be used by both application developers and system implementors.

This standard is intended to be compatible with implementations of the 1995 revision to the Ada language standard (ISO/IEC 8652:1995 {1}). Fall-back approaches compatible with implementations of the original Ada language standard (ISO/IEC 8652:1987 {B5}) are also provided (see 1.3).

This standard is intended to contain no specifications that conflict with “Year 2000” requirements.

This standard comprises three major components:

  • Definitions for terminology and concepts, and definitions and specifications that govern program structures, language-system interaction, and related requirements.
  • Definitions of the specific Ada interfaces to the system services defined by the POSIX standards, presented in the form of Ada packages.
  • Interpretations of Ada semantics with respect to the POSIX standards.

The following areas are outside the scope of this standard:

  • User interface (shell) and commands associated with Ada program development.
  • Ada bindings to the archive/interchange file formats for tar and cpio.
  • Network protocols.
  • Graphics and windowing interfaces.
  • Database management system interfaces.
  • Object or binary code portability.
  • System configuration and resource availability.
  • Interfaces to the Ada runtime system.

When the XTI Detailed Network Interface option and/or the Sockets Detailed Network Interface option are supported, then a set of DNI's (see 2.2.3.26) are also within the scope of this standard. A DNI is intended to provide access to protocol-specific features of the underlying network for highly portable applications that need access to sophisticated network features. The DNI's are based on the SPG4 XTI and 4.4 BSD socket specifications.

The following areas are outside of the scope of the DNI's:

  • Interface to manipulate underlying protocol implementations
  • Network management interface
  • Interface to manipulate performance-specific features
  • Definition for protocol address formats

This standard describes the external characteristics and facilities that are of importance to applications developers, rather than the implementation approaches that may be employed to achieve them. Special emphasis is placed on those facilities and capabilities needed for the broad spectrum of applications.

This standard has been defined exclusively at the source code level. The objective is that a Strictly Conforming POSIX.5 Application can be compiled to execute on any conforming implementation, within the portability of the application Ada code itself.

1) Plain numbers in curly braces correspond to those of the normative references in 1.2. Numbers preceded by a “B” in curly braces correspond to those of the bibliography in Annex A. See 2.1 for the description of this and the other typographical conventions followed in this document.

2) A language-independent definitions of this standard was once under development, but work on that project was suspended.

IEC 61131-3 Ed. 3.0 b:2013

Programmable controllers - Part 3: Programming languages

IEC 61131-3:2013 specifies the syntax and semantics of a unified suite of programming languages for programmable controllers (PCs). This suite consists of two textual languages, Instruction List (IL) and Structured Text (ST), and two graphical languages, Ladder Diagram (LD) and Function Block Diagram (FBD). This third edition cancels and replaces the second edition, published in 2003 and constitutes a technical revision. It includes the following significant technical changes: It is a compatible extension of the second edition. The main extensions are new data types and conversion functions, references, name spaces and the object oriented features of classes and function blocks.

IEC 61636-1 Ed. 2.0 en:2021

Software Interface for Maintenance Information Collection and Analysis (SIMICA): Exchanging Test Results and Session Information via the eXtensible Markup Language (XML)

IEC 61636-1:2021 (E) provides the definition of an exchange format, utilizing XML, for exchanging data resulting from executing tests of a unit under test (UUT) via a test program in an automatic test environment. This standard is published as a double logo IEC-IEEE standard.

ISO/IEC 13719-2:1998

Information technology - Portable Common Tool Environment (PCTE) - Part 2: C programming language binding

This part of ISO/IEC 13719 defines the binding of the Portable Common Tool Environment (PCTE), as specified in ISO/IEC 13719-1, to the C programming language.

A number of features are not completely defined in ISO/IEC 13719-1, some freedom being allowed to the implementor. Some of these features are specified as implementation limits. Some constraints are placed on these implementation limits by this part of ISO/IEC 13719. These constraints are specified in clause 24, Implementation Limits.

PCTE is an interface to a set of facilities that forms the basis for constructing environments supporting systems engineering projects. These facilities are designed particularly to provide an infrastructure for programs which may be part of such environments. Such programs, which are used as aids to system development, are often referred to as tools.

ISO/IEC 13719-3:1998

Information technology - Portable common tool environment (PCTE) - Part 3: Ada programming language binding

This part of ISO/IEC 13719 defines the binding of the Portable Common Tool Environment (PCTE) interfaces, as specified in ISO/IEC 13719-1, to the Ada programming language.

A number of features are not completely defined in ISO/IEC 13719-1, some freedom being allowed to the implementor. Some of these features are specified as implementation limits. Some constraints are placed on these implementation limits by this part of ISO/IEC 13719. These constraints are specified in clause 24.

PCTE is an interface to a set of facilities that forms the basis for constructing environments supporting systems engineering projects. These facilities are designed particularly to provide an infrastructure for programs which may be part of such environments. Such programs, which are used as aids to system development, are often referred to as tools.

ISO/IEC 13719-4:1998

Information technology - Portable Common Tool Environment (PCTE) - Part 4: IDL binding (Interface Definition Language)

This part of ISO/IEC 13719 defines the standard binding of the Portable Common Tool Environment (PCTE), as specified in ISO/IEC 13719-1, to the CORBA Interface Definition Language (IDL) defined in ISO/IEC CD 14750.

A number of features are not completely defined in ISO/IEC 13719-1, some freedom being allowed to the implementer. Some of these features are specified as implementation limits. Some constraints are placed on these implementation limits by this IDL Binding Standard. These constraints are specified in clause 24, Implementation Limits.

PCTE is an interface to a set of facilities that forms the basis for constructing environments supporting systems engineering projects. These facilities are designed particularly to provide an infrastructure for programs which may be part of such environments. Such programs, which are used as aids to systems development, are often referred to as tools.

IEEE 1671 Series-2018

IEEE Automatic Test Markup Language (ATML) - IEEE 1671(TM) Series (Bundle)

The 1671 bundle supports the development of Test Program Sets (TPSs) that will be used in an automatic test environment. It specifies an exchange format, utilizing XML, for identifying all of the hardware, software and documentation associated with a unit under test (UUT). It contains downloadable .xsd files from http://standards.ieee.org/downloads/1671/. This UUT may be tested and diagnosed using a test program set (TPS) on an automatic test system (ATS). This test station may be used as a component of a test program set to test and diagnose a unit under test. This bundle consists of IEEE 1671-2010, IEEE 1671.1-2017, IEEE 1671.2-2012, IEEE 1671.3-2017, IEEE 1671.4-2014, IEEE 1671.5-2015, IEEE 1671.6-2015.

IEEE 1671.5-2015

IEEE Standard for Automatic Test Markup Language (ATML) Test Adapter Description

An exchange format using extensible markup language (XML) for identifying all of the hardware, software, and documentation associated with a test adapter is specified in this document. This test adapter may be used as a component of a test program set to test and diagnose a unit under test.

IEEE 1671.6-2015

IEEE Standard for Automatic Test Markup Language (ATML) Test Station Description

An exchange format, using extensible markup language (XML), for identifying all of the hardware, software, and documentation associated with a test station is specified in this document. This test station may be used with a test program set to test and diagnose a unit under test.