Field Device Integration (FDI) - Part 6: FDI Technology Mapping

IEC 62769-6:2015 specifies the technology mapping for the concepts described in the Field Device Integration (FDI) standard. The technology mapping focuses on implementation regarding the components FDI Client and User Interface Plug-in (UIP) that are specific only to the workstation platform as defined in IEC 62769-4:2015, Annex E.

Intégration des dispositifs de terrain (FDI) - Partie 6: Mapping de technologies FDI

L'IEC 62769-6:2015 spécifie le mapping de technologies pour les concepts décrits dans la norme d'intégration des appareils de terrain (FDI). Le mapping de technologies se concentre sur la mise en oeuvre relative aux composants: Client FDI et Plugiciel d'Interface Utilisateur (UIP) qui ne sont spécifiques qu'à la plate-forme de station de travail telle que définie dans l'IEC 62769-4:2015, Annexe E.

General Information

Status
Published
Publication Date
11-May-2015
Current Stage
DELPUB - Deleted Publication
Start Date
05-Feb-2021
Completion Date
15-Jun-2018
Ref Project

Relations

Standard
IEC 62769-6:2015 - Field Device Integration (FDI) - Part 6: FDI Technology Mapping
English and French language
55 pages
sale 15% off
Preview
sale 15% off
Preview

Standards Content (Sample)


IEC 62769-6 ®
Edition 1.0 2015-05
INTERNATIONAL
STANDARD
NORME
INTERNATIONALE
colour
inside
Field Device Integration (FDI) –
Part 6: FDI Technology Mapping

Intégration des appareils de terrain (FDI) –
Partie 6: Mapping de technologies FDI

All rights reserved. Unless otherwise specified, no part of this publication may be reproduced or utilized in any form
or by any means, electronic or mechanical, including photocopying and microfilm, without permission in writing from
either IEC or IEC's member National Committee in the country of the requester. If you have any questions about IEC
copyright or have an enquiry about obtaining additional rights to this publication, please contact the address below or
your local IEC member National Committee for further information.

Droits de reproduction réservés. Sauf indication contraire, aucune partie de cette publication ne peut être reproduite
ni utilisée sous quelque forme que ce soit et par aucun procédé, électronique ou mécanique, y compris la photocopie
et les microfilms, sans l'accord écrit de l'IEC ou du Comité national de l'IEC du pays du demandeur. Si vous avez des
questions sur le copyright de l'IEC ou si vous désirez obtenir des droits supplémentaires sur cette publication, utilisez
les coordonnées ci-après ou contactez le Comité national de l'IEC de votre pays de résidence.

IEC Central Office Tel.: +41 22 919 02 11
3, rue de Varembé Fax: +41 22 919 03 00
CH-1211 Geneva 20 info@iec.ch
Switzerland www.iec.ch
About the IEC
The International Electrotechnical Commission (IEC) is the leading global organization that prepares and publishes
International Standards for all electrical, electronic and related technologies.

About IEC publications
The technical content of IEC publications is kept under constant review by the IEC. Please make sure that you have the
latest edition, a corrigenda or an amendment might have been published.

IEC Catalogue - webstore.iec.ch/catalogue Electropedia - www.electropedia.org
The stand-alone application for consulting the entire The world's leading online dictionary of electronic and
bibliographical information on IEC International Standards, electrical terms containing more than 30 000 terms and
Technical Specifications, Technical Reports and other definitions in English and French, with equivalent terms in 15
documents. Available for PC, Mac OS, Android Tablets and additional languages. Also known as the International
iPad. Electrotechnical Vocabulary (IEV) online.

IEC publications search - www.iec.ch/searchpub IEC Glossary - std.iec.ch/glossary
The advanced search enables to find IEC publications by a More than 60 000 electrotechnical terminology entries in
variety of criteria (reference number, text, technical English and French extracted from the Terms and Definitions
committee,…). It also gives information on projects, replaced clause of IEC publications issued since 2002. Some entries
and withdrawn publications. have been collected from earlier publications of IEC TC 37,

77, 86 and CISPR.
IEC Just Published - webstore.iec.ch/justpublished
Stay up to date on all new IEC publications. Just Published IEC Customer Service Centre - webstore.iec.ch/csc
details all new publications released. Available online and If you wish to give us your feedback on this publication or
also once a month by email. need further assistance, please contact the Customer Service
Centre: csc@iec.ch.
A propos de l'IEC
La Commission Electrotechnique Internationale (IEC) est la première organisation mondiale qui élabore et publie des
Normes internationales pour tout ce qui a trait à l'électricité, à l'électronique et aux technologies apparentées.

A propos des publications IEC
Le contenu technique des publications IEC est constamment revu. Veuillez vous assurer que vous possédez l’édition la
plus récente, un corrigendum ou amendement peut avoir été publié.

Catalogue IEC - webstore.iec.ch/catalogue Electropedia - www.electropedia.org
Application autonome pour consulter tous les renseignements
Le premier dictionnaire en ligne de termes électroniques et
bibliographiques sur les Normes internationales,
électriques. Il contient plus de 30 000 termes et définitions en
Spécifications techniques, Rapports techniques et autres
anglais et en français, ainsi que les termes équivalents dans
documents de l'IEC. Disponible pour PC, Mac OS, tablettes
15 langues additionnelles. Egalement appelé Vocabulaire
Android et iPad.
Electrotechnique International (IEV) en ligne.

Recherche de publications IEC - www.iec.ch/searchpub
Glossaire IEC - std.iec.ch/glossary
Plus de 60 000 entrées terminologiques électrotechniques, en
La recherche avancée permet de trouver des publications IEC
en utilisant différents critères (numéro de référence, texte, anglais et en français, extraites des articles Termes et
comité d’études,…). Elle donne aussi des informations sur les Définitions des publications IEC parues depuis 2002. Plus
projets et les publications remplacées ou retirées. certaines entrées antérieures extraites des publications des

CE 37, 77, 86 et CISPR de l'IEC.
IEC Just Published - webstore.iec.ch/justpublished

Service Clients - webstore.iec.ch/csc
Restez informé sur les nouvelles publications IEC. Just
Published détaille les nouvelles publications parues. Si vous désirez nous donner des commentaires sur cette
Disponible en ligne et aussi une fois par mois par email. publication ou si vous avez des questions contactez-nous:
csc@iec.ch.
IEC 62769-6 ®
Edition 1.0 2015-05
INTERNATIONAL
STANDARD
NORME
INTERNATIONALE
colour
inside
Field Device Integration (FDI) –

Part 6: FDI Technology Mapping

Intégration des appareils de terrain (FDI) –

Partie 6: Mapping de technologies FDI

INTERNATIONAL
ELECTROTECHNICAL
COMMISSION
COMMISSION
ELECTROTECHNIQUE
INTERNATIONALE
ICS 25.040.40; 35.100 ISBN 978-2-8322-2635-3

– 2 – IEC 62769-6:2015  IEC 2015
CONTENTS
FOREWORD . 4
INTRODUCTION . 6
1 Scope . 7
2 Normative references . 7
3 Terms, definitions, abbreviated terms, acronyms and conventions . 7
3.1 Terms and definitions . 7
3.2 Abbreviated terms and acronyms . 8
3.3 Symbols . 8
4 Technical concepts . 8
4.1 General . 8
4.1.1 Overview . 8
4.1.2 Platforms . 9
4.1.3 FDI Type Library . 9
4.2 UIP representation . 10
4.3 UIP executable representation . 10
4.4 UIP executable compatibility rules . 11
4.5 Allowed .NET Common Language Run-time versions . 11
4.5.1 General . 11
4.5.2 CLR compatibility strategy . 11
4.5.3 How to identify the .NET target platform of a UIP . 12
4.6 Installing UIP . 12
4.7 UIP Lifecycle. 13
4.7.1 General . 13
4.7.2 UIP Assembly activation steps . 13
4.7.3 UIP Assembly deactivation steps . 15
4.8 Interaction between an FDI Client and a UIP . 16
4.8.1 Handling of standard UI elements . 16
4.8.2 Non-blocking service execution . 16
4.8.3 Blocking service execution. 17
4.8.4 Cancel service execution . 18
4.8.5 Threading . 19
4.8.6 Timeout . 19
4.8.7 Exception handling . 20
4.8.8 Type safe interfaces . 21
4.8.9 Globalization and localization . 21
4.8.10 WPF Control handling . 21
4.8.11 Win Form handling . 21
4.9 Security . 21
4.9.1 General . 21
4.9.2 Access permissions . 22
4.9.3 Code identity concept . 23
5 Interface definition . 23
Bibliography . 27

Figure 1 – FDI Type Library structure . 10

Figure 2 – .NET surrogate process . 12
Figure 3 – Identification of Run-time Version. 12
Figure 4 – IAsyncPattern based asynchronous service execution example . 17
Figure 5 – Blocking service execution example using IAsyncResult based pattern . 18
Figure 6 – Cancel service processing sequence example . 18
Figure 7 – Exception source . 20

Table 1 – Technology edition reference . 9
Table 2 – Base Property Services . 24
Table 3 – Device Model Services . 24
Table 4 – Access Control Services . 24
Table 5 – Direct Access Services . 24
Table 6 – Hosting Services . 25
Table 7 – UIP Services . 25
Table 8 – Base Data Types . 26
Table 9 – Special Types . 26

– 4 – IEC 62769-6:2015  IEC 2015
INTERNATIONAL ELECTROTECHNICAL COMMISSION
____________
FIELD DEVICE INTEGRATION (FDI) –

Part 6: FDI Technology Mapping

FOREWORD
1) The International Electrotechnical Commission (IEC) is a worldwide organization for standardization comprising
all national electrotechnical committees (IEC National Committees). The object of IEC is to promote
international co-operation on all questions concerning standardization in the electrical and electronic fields. To
this end and in addition to other activities, IEC publishes International Standards, Technical Specifications,
Technical Reports, Publicly Available Specifications (PAS) and Guides (hereafter referred to as “IEC
Publication(s)”). Their preparation is entrusted to technical committees; any IEC National Committee interested
in the subject dealt with may participate in this preparatory work. International, governmental and non-
governmental organizations liaising with the IEC also participate in this preparation. IEC collaborates closely
with the International Organization for Standardization (ISO) in accordance with conditions determined by
agreement between the two organizations.
2) The formal decisions or agreements of IEC on technical matters express, as nearly as possible, an international
consensus of opinion on the relevant subjects since each technical committee has representation from all
interested IEC National Committees.
3) IEC Publications have the form of recommendations for international use and are accepted by IEC National
Committees in that sense. While all reasonable efforts are made to ensure that the technical content of IEC
Publications is accurate, IEC cannot be held responsible for the way in which they are used or for any
misinterpretation by any end user.
4) In order to promote international uniformity, IEC National Committees undertake to apply IEC Publications
transparently to the maximum extent possible in their national and regional publications. Any divergence
between any IEC Publication and the corresponding national or regional publication shall be clearly indicated in
the latter.
5) IEC itself does not provide any attestation of conformity. Independent certification bodies provide conformity
assessment services and, in some areas, access to IEC marks of conformity. IEC is not responsible for any
services carried out by independent certification bodies.
6) All users should ensure that they have the latest edition of this publication.
7) No liability shall attach to IEC or its directors, employees, servants or agents including individual experts and
members of its technical committees and IEC National Committees for any personal injury, property damage or
other damage of any nature whatsoever, whether direct or indirect, or for costs (including legal fees) and
expenses arising out of the publication, use of, or reliance upon, this IEC Publication or any other IEC
Publications.
8) Attention is drawn to the Normative references cited in this publication. Use of the referenced publications is
indispensable for the correct application of this publication.
International Standard IEC 62769-6 has been prepared by subcommittee 65E: Devices and
integration in enterprise systems, of IEC technical committee 65: Industrial-process
measurement, control and automation.
The text of this standard is based on the following documents:
CDV Report on voting
65E/349/CDV 65E/426/RVD
Full information on the voting for the approval of this standard can be found in the report on
voting indicated in the above table.
This publication has been drafted in accordance with the ISO/IEC Directives, Part 2.
A list of all parts in the IEC 62769 series, published under the general title Field Device
Integration (FDI), can be found on the IEC website.

The committee has decided that the contents of this publication will remain unchanged until
the stability date indicated on the IEC web site under "http://webstore.iec.ch" in the data
related to the specific publication. At this date, the publication will be
• reconfirmed,
• withdrawn,
• replaced by a revised edition, or
• amended.
IMPORTANT – The 'colour inside' logo on the cover page of this publication indicates
that it contains colours which are considered to be useful for the correct
understanding of its contents. Users should therefore print this document using a
colour printer.
– 6 – IEC 62769-6:2015  IEC 2015
INTRODUCTION
The International Electrotechnical Commission (IEC) draws attention to the fact that it is
claimed that compliance with this document may involve the use of patents concerning
a) Method for the Supplying and Installation of Device-Specific Functionalities, see Patent
Family DE10357276;
b) Method and device for accessing a functional module of automation system, see Patent
Family EP2182418;
c) Methods and apparatus to reduce memory requirements for process control system
US2013232186;
software applications, see Patent Family
d) Extensible Device Object Model, see Patent Family US12/893,680.
IEC takes no position concerning the evidence, validity and scope of this patent right.
The holders of these patent rights have assured the IEC that he/she is willing to negotiate
licences either free of charge or under reasonable and non-discriminatory terms and
conditions with applicants throughout the world. In this respect, the statement of the holder of
this patent right is registered with IEC. Information may be obtained from:
a) ABB Research Ltd
Claes Rytoft
Affolterstrasse 4
Zurich, 8050
Switzerland
b) Phoenix Contact GmbH & Co KG
Intellectual Property, Licenses & Standards
Flachsmarktstrasse 8, 32825 Blomberg
Germany
c) Fisher Controls International LLC
John Dilger, Emerson Process Management LLLP
st
301 S. 1 Avenue, Marshaltown, Iowa 50158
USA
d) Rockwell Automation Technologies, Inc.
1 Allen-Bradley Drive
Mayfield Heights, Ohio 44124
USA
Attention is drawn to the possibility that some of the elements of this document may be the
subject of patent rights other than those identified above. IEC shall not be held responsible for
identifying any or all such patent rights.
ISO (www.iso.org/patents) and IEC (http://patents.iec.ch) maintain on-line data bases of
patents relevant to their standards. Users are encouraged to consult the data bases for the
most up to date information concerning patents.

FIELD DEVICE INTEGRATION (FDI) –

Part 6: FDI Technology Mapping

1 Scope
This part of IEC 62769 specifies the technology mapping for the concepts described in the
Field Device Integration (FDI) standard. The technology mapping focuses on implementation
regarding the components FDI Client and User Interface Plug-in (UIP) that are specific only to
the workstation platform as defined in IEC 62769-4:2015, Annex E.
2 Normative references
The following documents, in whole or in part, are normatively referenced in this document and
are indispensable for its application. For dated references, only the edition cited applies. For
undated references, the latest edition of the referenced document (including any
amendments) applies.
IEC 62541 (all parts), OPC Unified Architecture
IEC 61804 (all parts), Function blocks (FB) for process control
IEC 62769-1, Field Device Integration (FDI) – Part 1: Overview
NOTE IEC 62769-1 is technically identical to FDI-2021.
IEC 62769-2, Field Device Integration (FDI) – Part 2: FDI Client
NOTE 1 IEC 62769-2 is technically identical to FDI-2022.
NOTE 2 IEC 62769-2 is technically identical to FDI-2023.
IEC 62769-4:2015, Field Device Integration (FDI) – Part 4: FDI Packages
NOTE IEC 62769-4 is technically identical to FDI-2024.
IEC 62769-5, Field Device Integration (FDI) – Part 5: FDI Information Model
NOTE 1 IEC 62769-5 is technically identical to FDI-2025.
NOTE 2 IEC 62769-5 is technically identical to FDI-2027.
ISO/IEC 19505-1, Information technology – Object Management Group Unified Modeling
Language (OMG UML) – Part 1: Infrastructure
ISO/IEC 29500, (all parts) Information technology – Document description and processing
languages – Office Open XML File Formats
3 Terms, definitions, abbreviated terms, acronyms and conventions
3.1 Terms and definitions
For the purposes of this document, the terms and definitions given in IEC 62769-1 as well as
the following apply.
– 8 – IEC 62769-6:2015  IEC 2015
3.1.1
Application Domain
isolated environment where applications execute
3.1.2
Assembly
reusable, version information providing, and self-describing building block of a CLR
application
Note 1 to entry: This note applies to the French language only.
3.1.3
FDI Type Library
assembly that contains the interfaces and data types that are used for the data exchange and
interaction between a UIP and an FDI Client
Note 1 to entry: This note applies to the French language only.
Note 2 to entry: This note applies to the French language only.
3.1.4
Global Assembly Cache
machine-wide code cache that stores Assemblies specifically designated to be shared by
several applications
3.1.5
Windows Registry
system-defined database in which applications and system components store and retrieve
configuration data
3.2 Abbreviated terms and acronyms
For the purposes of this document, the abbreviated terms and acronyms given in IEC 62769-1
as well as the following apply.
CLR Common Language Run-time
MSI Microsoft Installer
WPF Windows Presentation Foundation
UML Unified Modeling Language
3.3 Symbols
Figures in this document use the graphical symbols according to ISO/IEC 19505 (UML 2.0).
4 Technical concepts
4.1 General
4.1.1 Overview
In 4.1.2, 4.2, 4.3, 4.4, and 4.5, this document describes first the technology base for UIP
implementation, the hardware and software environment including the related implementation
rules. Clause 4 follows a life cycle (use case) oriented approach.
Subclause 4.6 describes the copy deployment procedures and related implementation rules
for the UIP and the FDI Client.
UIP executable instantiation and termination is described in 4.7.

Subclause 4.8 defines the rules about interaction between the FDI Client and the UIP.
Security related definitions are written in 4.9.
The service interface definitions for the FDI Client and the UIP are found in Clause 5.
4.1.2 Platforms
The UIP and FDI Client shall be built upon the Microsoft .NET Framework and executed in
the .NET Common Language Run-time.
The minimum set of workstation supported I/O devices is: mouse, keyboard, and color screen
resolution of 1024 x 768 pixels.
The following Table 1 lists all the technologies and their editions that are consistent with FDI
components.
Table 1 – Technology edition reference
Technology Standard Edition
.NET N/A CLR4 for UIP Implementation
EDDL IEC 61804 2014
OPC UA (Parts 1-8) IEC 62541 2015 (to be published)
Open Packaging Convention ISO/IEC 29500 2011
Extensible Markup Language (XML) N/A W3C, 1.0 (fifth edition)

4.1.3 FDI Type Library
The Device Access Services and the UIP Services can be modeled as .NET interfaces
passing .NET data type arguments. These interfaces and data types are used for the data
exchange and interaction between the UIP and the FDI Client. For runtime error handling
purposes during interface method calls .NET exceptions classes are defined.
The FDI .NET interfaces, data types, and exception classes are defined in a single FDI Type
Library. The FDI Type Library is a strong named Assembly. The FDI Type Library is signed
with a single unique key. The FDI Type Library shall be installed as part of the FDI Client
installation and not with a UIP.
FDI Type Libraries shall not be registered within the Global Assembly Cache.
The FDI Client shall install FDI Library Versions for all Technology Versions that it supports.
The FDI Type Library shall be installed in such way that it is shared between the UIP and the
FDI Client.
– 10 – IEC 62769-6:2015  IEC 2015
Figure 1 shows the FDI Type Library structure.
IEC
Figure 1 – FDI Type Library structure
NOTE The composite structure diagram shows only the core interfaces that implement the interfaces defined in
IEC 62769-2.
4.2 UIP representation
The UIP Variant can contain either a single or multiple runtime modules (.NET Assembly) and
their related supplementary files (for example: resource files). The runtime module of the IP
Variant is called UIP executable. The supplementary file(s) of the UIP Variant is/are called
UIP supplement(s).
UIP supplement(s) is/are stored under (a) subfolder(s) of the UIP executable installation
directory
EXAMPLE Examples of UIP supplementary data files include resource files and application configuration data.
The RuntimeId of a UIP Variant shall be ".NET Framework CLR4", see IEC 62769-4.
The UIP Variant shall be self-contained. All UIP required libraries (.NET Assemblies) required
by a UIP Variant are stored within the same Folder.
4.3 UIP executable representation
The implementation of the UIP depends on the type of user interface elements that can be
embedded into the user interface hosting environment of the FDI Client. UIP shall be

implemented as a .NET System.Windows.Forms class UserControl or a Windows
Presentation Foundation (WPF) System.Windows.Controls class UserControl.
UIP executables and their required libraries shall have strong names. The signing of a strong
named Assembly can be done using a self-generated key.
NOTE The identity of strong named Assemblies consists of a name, version, culture, public key token and digital
signature.
UIP executables and their required libraries shall be shipped with file containing the public
key in order to enable Assembly verification.
4.4 UIP executable compatibility rules
The UIP component provided version information consists of:
...
UIP components using the same identity (UipId/IEC 62769-5) that are showing a different
value in position are not compatible with each other. Any other difference showed in
the version information between the same UIP component identities means that those UIP
component identities are compatible. A newer UIP component is allowed to overwrite an older
UIP component without breaking the intended functionality.
The compilation target platform for the UIP shall be “anyCPU”. If this is not feasible the UIP
shall be shipped in two variants. One UIP variant shall be compiled for target platform “x86”.
The second UIP variant shall be compiled for target platform “x64”. The compilation platform
target shall be described in the catalog.xml file which is defined in IEC 62769-4. This
catalog.xml file contains an xml element “CpuInformation” that describes the User Interface
Plug-in variant. The allowed values that shall be used in the xml element “CpuInformation” are
“anyCPU”, “x86” or “x64”.
4.5 Allowed .NET Common Language Run-time versions
4.5.1 General
Specific CLR (Common Language Run-time) versions are released for the execution of
software components built with specific .NET Framework versions. The .NET CLR version 4.0
is used to execute software components built with .NET Framework 4.0. .NET Components
are built for one CLR version only but can be capable to run also under a newer CLR version.
FDI Clients can be built based on CLR version 4.0 or future versions. An FDI Client has to
realize the following situations when starting a UIP.
• When the UIP to be started was built for the same run-time, the UIP can be started in the
FDI Client as usual.
• When the UIP to be started was built with another CLR version and is not compiled for the
current running CLR version, the FDI Client shall start the UIP in a surrogate process with
the adequate CLR version. (More details are described in 4.5.2.)
Taking this behavior in account, a UIP shall be developed for CLR version 4.0 or any future
version. In case the CLR versions do not match, the UIP shall be started in a separate
process. The UIP will then not be displayed as an integrated module within the FDI Client. It
is up to the FDI Client to realize the surrogate process.
4.5.2 CLR compatibility strategy
In the future, FDI Clients and UIPs will be permitted to be built on different incompatible
versions of the CLR.
– 12 – IEC 62769-6:2015  IEC 2015
If an FDI Client detects that a UIP requires a CLR that is not compatible with the FDI Client,
the FDI Client can use a proxy class that enables interaction with the UIP built using a
different version of the CLR.
The FDI Client loads a proxy UIP executable, creates an instance of the proxy class, and
delegates the execution of the UIP to this proxy. The proxy starts a process with the required
CLR and executes the UIP in this surrogate process. The proxy classes provide the standard
FDI interfaces. The FDI Client can use these interfaces to interact with the UIP executed in
the surrogate process.
FDI Client Process
«library»
UIP Interface Proxy
.NET CLR Surrogate Process
«library»
UIP Interface Stub
«executable»
UIP
IEC
Figure 2 – .NET surrogate process
4.5.3 How to identify the .NET target platform of a UIP
The .NET target platform CLR version information for which a certain Assembly is compiled
can be extracted by means of .NET Framework library functions (see Figure 3).

clrVersion = Assembly.LoadFrom().ImageRuntimeVersion;
IEC
Figure 3 – Identification of Run-time Version
NOTE The Visual Studio 2008 and 2010 IDE allow developers to select the .NET Framework target. The
selection of a .NET Framework target older than the base for the current Visual Studio IDE automatically creates a
configuration file listed as “app.config” within the solution explorer. This file only reflects the current complier
setting. The compiler does not read that file.
4.6 Installing UIP
The FDI Server imports the UIP from an FDI Package.
The UIP installation is done per file copy only. The UIP executable shall not be registered
within the Global Assembly Cache. The UIP is installed within a folder structure, which is
_____________
Visual Studio is the trade name of Microsoft Corporation. This information is given for the convenience of users
of this part of IEC 62769 and does not constitute an endorsement by IEC of the trademark holder or any of its
products. Compliance does not require use of the trade name. Use of the trade name requires permission of the
trade name holder.
called the UIP folder structure. The FDI Client shall manage the UIP folder structure. The UIP
folder structure shall separate the UIP Variants from each other in order to avoid file name
conflicts. UIP executables shall be installed to a path that allows browse read and write
access.
Since the FDI Client manages the folder structure the UIP shall not perform any access to an
absolute path. Any file access shall be done relative to the installation root of the UIP.
According the version management described in IEC 62769-4, the coexistence of major
version changes of UIP of the same type shall be supported. This shall be done by installing a
newer UIP into a separate folder. The “strong-name” rule ensures that related Assemblies can
coexist during runtime.
The FDI Client implementation ensures that UIP deployment works independently from current
user credentials. (See the NOTE below.)
NOTE Certain operating system managed folders require specific access rights, for example, modifications in
folder “Program Files” require “Administrator” rights. The Windows operating system provides several means to
allow an application running with restricted user rights, to execute actions with administrator privileges transparent
to the user, for example, special restriction handling for identified directories, services with administration rights,
executables that are configured to automatically run with administration rights. The alternative is to copy UIP
executables into folders writeable for “normal” users.
4.7 UIP Lifecycle
4.7.1 General
The UIP state machine, outlined in IEC 62769-4, is composed of the Loaded, Created,
Operational, Deactivated and Disposed states. The mechanisms affecting state changes are
described in 4.7.
After the FDI Client has stored the UIP executable on the FDI Client the FDI Client loads the
UIP Assemblies dynamically into the memory and executes the related logic by calling the
corresponding FDI specified interface functions.
Subclause 4.7 describes rules about how the FDI Client shall activate and deactivate the UIP.
4.7.2 UIP Assembly activation steps
4.7.2.1 Load
The FDI Client shall load the UIP executables by using the LoadFrom mechanism. The .NET
framework provides System.Reflection.Assembly.LoadFrom for this purpose:
The LoadFrom mechanism behaves as follows.
• LoadFrom loads the Assembly addressed with the file path and also the referenced
Assemblies located within same directory. The argument string assemblyFile shall contain
the file name of the UIP executable. The file name of the UIP executable represents the
StartElementName described in IEC 62769-4.
• If an Assembly is loaded with LoadFrom, and later an Assembly in the “load context”
attempts to load the same Assembly by display name, then this load attempt fails.
• If an Assembly with the same identity is already loaded (for example, by another UIP),
then LoadFrom returns the Assembly that has been loaded before, even if a different file
path was specified. Even a different file name does not matter. Only the identity of the
Assembly is relevant.
• If an Assembly is loaded with LoadFrom, and the probing path includes an Assembly with
the same identity (for example, in the Global Assembly Cache or an application directory),
then this Assembly is loaded, even if a different file path was specified.

– 14 – IEC 62769-6:2015  IEC 2015
• LoadFrom requires the permissions FileIOPermissionAccess.Read and
FileIOPermissionAccess.PathDiscovery, or WebPermission, on the specified path.
• LoadFrom loads the assembly into the default Application Domain.
• If a native Assembly image (generated by ngen.exe) exists for the specified file path, then
it is not used. The Assembly cannot be loaded as domain neutral, i.e., the Assembly
cannot be shared between Application Domains.
This behavior enforces deployment rules as follows.
• Rules regarding Assembly dependencies (see 4.7.2.4.2).
The FDI Client shall only use LoadFrom. The use of other .NET Assembly loading/object
creation means is not allowed.
• Rules regarding shared Assemblies (see 4.7.2.4.3).
• A pre-compiled processor-specific machine code cannot be used.
• The security aspects regarding loading and execution of Assemblies are described in 4.9.
4.7.2.2 Create
Creating an instance of the UIP Assembly works using the .net library functions
System.Reflection.Assembly.GetTypes and System.Activator.CreateInstance. The
FDI type library declares a “custom attribute” named UIPActivationClass. This attribute
shall only be added to the object implementing the interface IDtmUiFunction that actually
implements the UIP start-up function. The attribute UIPActivationClass shall be used once
only.
The FDI Client can now use System.Reflection services to clearly determine the UIP
implemented activation procedure.
NOTE 1 Function System.Reflection.Assembly.GetTypes can be used to query the interface IDtmUiFunction.
NOTE 2 Function System.Attribute.GetCustomAttributes can be used for reading the additional custom attributes.
NOTE 3 The result of function invocation System.Activator.CreateInstance is an object of type IDtmUiFunction.
A data type cast is needed.
4.7.2.3 Activate
Invocation of function IDtmUiFunction.Init finally activates the UIP for the user.
4.7.2.4 External libraries
4.7.2.4.1 General
rd
UIP Assemblies can depend on external libraries (3 party libraries) and other Assemblies, for
example, specific user control libraries. FDI Clients do not perform installation of UIPs, rather
they dynamically load and execute the UIP. To support this usage, as well as the requirement
to prevent possible problems of conflicting Assemblies, rules are specified for external
libraries.
External libraries shall:
• be contained within the FDI Package;
• not require Microsoft Installer (MSI) installation;
• not require entries in the Windows Registry or the Global Assembly Cache;
• adhere to the access restrictions described in 4.9.2;

• be compatible with the platforms described in 4.1.2.
4.7.2.4.2 Loading of external libraries
The FDI Client loads the UIP Assembly, containing the UIP main class implementing interface
IDtmUiFunction, by invocation of the .NET framework function LoadFrom. Referenced
Assemblies that are stored in the same directory are automatically loaded together with
this .NET Assembly. Referenced Assemblies that are stored in other locations (for example, in
a sub-directory) have to be loaded explicitly by the UIP itself.
The UIP shall load such Assemblies also by invocation of the .NET framework function
LoadFrom. Loading Assemblies with other .NET framework methods is not allowed.
Usage of external libraries shall not break the self-containment requirement for FDI Packages;
all external libraries shall be included in the FDI UIP Package
4.7.2.4.3 Loading of shared external libraries
An external library is a shared external library if a related .NET Assembly identity can be used
from different UIP executables. The identity of a .NET Assembly matters. Installation path and
Assembly filename are not relevant.
Usage of shared libraries shall not break the self-containment requirement for FDI Packages.
Each of the delivered FDI Packages shall be shipped with all required UIP related libraries.
The sharing mechanism comes from the .NET framework implemented optimization
mechanism.
If a shared Assembly is used, then the following rules apply.
• Any incompatible change to the shared Assembly shall lead to a new identity, for example,
different version number.
• Shared Assemblies shall not presume to be loaded from a specific installation path, for
example, rely on the fact that some files are stored in the same directory or in a sub-
directory.
• Static variables in shared Assemblies are also shared if the Assembly is loaded into the
same Application Domain. Thus static variables shall not have side effects in such
scenarios. External shared libraries shall not declare static variables.
• Because of the self-containment rule defined for the FDI Package, shared Assemblies
shall be deployed with all FDI Packages using a shared Assembly.
4.7.2.5 UIP Constructor invocation
Constructor and destructor implementation shall not throw exceptions. The constructor logic
shall be limited to instantiate the object in terms of the internal data structure. The destructor
logic shall be limited to destroy the object in terms of releasing memory resources. The
constructor and the destructor shall not:
• Invoke any call-back to the FDI Client.
• Invoke any user interaction.
4.7.3 UIP Assembly deactivation steps
4.7.3.1 Deactivate
For UIP deactivation the FDI Client shall call the interface IDtmUiFunction.BeginClose and
IDtmUiFunction.EndClose. On successful execution the UIP shall release all resources and
the FDI Client shall delete all references to the UIP instance. The .NET garbage collector
finally disposes the UIP runtime object.

– 16 – IEC 62769-6:2015  IEC 2015
4.7.3.2 Dispose
A .NET Assembly that is loaded into a process respectively into the related
ApplicationDomain is never unloaded, except if the ApplicationDomain itself is destroyed.
That means if the FDI Client loads a UIP Assembly into the default ApplicationDomain, then
these Assemblies and all dependent Assemblies are never unloaded unless the application is
closed.
The UIP Assemblies shall be developed with this .NET framework behavior in mind. To reduce
the memory consumption the following rules apply.
• Minimize the use of static variables, because these increase the memory consumption of
the Assembly.
• Move UIP functionality that is not always (or rarely) needed to separate Assemblies.
These Assemblies are then only automatically or manually loaded when the corresponding
code is executed.
• Use shared Assemblies whenever possible.
• The FDI Client can execute .NET Assemblies in a separate Application Domain in order to
have the ability to unload them.
4.8 Interaction between an FDI Client and a UIP
4.8.1 Handling of standard UI elements
UIPs shall delegate the presentation and handling of standard UI elements to the FDI Client.
The standard UI elements are
• UI Actions with standardized semantics (Apply/Close/Online Help), and
• UIP Specific status information.
To ensure a consistent user interface interaction across UIPs from different vendors, a UIP
may delegate presentation and handling of additional UIP specific actions to the FDI Client.
Nonetheless UIPs are allowed to implement non-standard UI actions within their own UI area.
The set of standard UI actions and their respective semantics is fixed. However, the
availability of these actions may change at any time depending on the internal state of the
UIP. The set of additional UIP specific actions and their individual availability is not fixed. A
UIP may add, remove, rename, enable or disable the UIP specific actions at any time
depending on its requirements. The UIP has to inform the FDI Client whenever the availability
of its standard actions or UIP specific actions changes (see events
IStandardActions.StandardActionItemSetChanged and
IApplicationSpecificActions. ApplicationSpecificActionItemSetChanged).
An FDI Client may use dedicated UI elements, e.g. button controls, to
...

Questions, Comments and Discussion

Ask us and Technical Secretary will try to provide an answer. You can facilitate discussion about the standard in here.

Loading comments...