Introduction
The ArchiMate® Model Exchange File Format is a standard file format that can be used to exchange ArchiMate models between tools that create or interpret ArchiMate models.
The standard [2] describing the exchange file format is structured as follows:
-
Chapter 1, Introduction, describes the objective, overview, and context for the standard, including the requirements for conformance
-
Chapter 2, Use Cases, describes which documents should be referred to for definitions of terminology used in the standard
-
Chapter 3, Requirements, describes the requirements for the exchange file format, which are intended to be implementation-independent requirements
-
Chapter 4, XML/XSD Overview, provides an overview of the XSD and XML structures and their component parts
-
Chapter 5, Model Exchange, describes the core of the exchange file format; that is, the minimum amount of information required for exchange; this is an implementation-independent description
-
Chapter 6, View Exchange, describes the view and viewpoint aspects of the exchange file format; this is an implementation-independent description
-
Chapter 7, Diagram Exchange, describes the visual aspects of the exchange file format; this is an implementation-independent description
-
Chapter 8, Metadata, describes the use of optional metadata in the exchange file format; this is an implementation-independent description
-
Chapter 9, Properties and Attributes, describes the use of properties and attributes of the exchange file format; this is an implementation-independent description
-
Chapter 10, Organizational Information, describes the use of optional organizations and items in the exchange file format; this is an implementation-independent description
-
Appendix A, XML Examples, describes where to find example models in the exchange file format
-
Appendix B, Rationale, includes additional information about the contents of the standard and why features were included or discarded by the standard developers
Design Goals
The design goals for the exchange file format are:
-
Portability: importing and exporting a model file should be software and hardware platform-independent
-
Completeness: it should be possible to represent a model file accurately when moving between tools, as per the concepts and relationships defined in the ArchiMate 3.1 Specification, including the graphical representation
-
Robustness to Errors: it should be possible to detect model file errors reliably
-
Interchangeability: any tool conforming to the standard shall be capable of reading all conforming model files
-
Simplicity: developers should be able to implement the exchange file format easily
-
Flexibility: future extensions and private additions should be allowed for without compromising the interchangeability of standard model files
A Specification for Exchange
The ArchiMate Model Exchange File Format specification describes data structures that can be used to exchange data between systems that wish to import, export, aggregate, and disaggregate ArchiMate models. ArchiMate exchange files enable exporting content from one ArchiMate modeling tool or repository and importing it into another while retaining information describing the model in the file and how it is structured, such as a list of model elements and relationships. The specification focuses on the packaging and transportation of ArchiMate models.
Exchange versus Persistence
The exchange file format is not intended as the definitive representation of an ArchiMate model. Neither is it intended for use as a persistent file format or as a native file format for tools.
The exchange file format is intended as an intermediate representation, a commonly agreed representation for exchange; similar to the use of the Esperanto language. It is not the native language of expression for any one tool, but one that each tool can understand enough to interpret for export and import. A more successful example is the Comma-Separated Values (CSV) format for exchange between spreadsheets, databases, etc. – a relatively simple exchange format that is used to import/export to target applications that then represent the data being exchanged in their own way.
The data contained in the exchange file format is meant to be processed by an “ArchiMate aware” tool, thus ruling out stand-alone semantic inference. Once the instance data has been imported into an ArchiMate tool, that tool will probably save it in its own proprietary file format and the exchange file will be discarded.
Exchange File Format Overview
The exchange file format contains model information including:
-
Concepts of all ArchiMate types
-
Relationship details between concepts
-
Properties of objects
-
Organization information related to possible organizational structures of objects
-
Diagrammatic information
-
Metadata to describe the model