An artifact is defined as a physical piece of information that is used or produced in a software development process, or by deployment and operation of a system.

An artifact represents a concrete element in the physical world. It is typically used to model (software) products such as source files, executables, scripts, database tables, messages, documents, specifications, and model files. An instance (copy) of an artifact can be deployed on a node.

An application component may be realized by one or more artifacts.

A data object may be realised by one or more artifacts.

A node may be assigned to an artifact (i.e., the artifact is deployed on the node).

The name of an artifact should preferably be the name of the file it represents; e.g., "order.jar". An artifact may consist of sub-artifacts.

Category: Technology Layer and Passive structure aspect

Examples: Risk Management EJB, Jar file, Widget, Plug-in.

Typical Relationships:

  • Realisation - application component, data object
  • Assignment - artifact

Source: Archimate 2.1, Chapter 5 Technology Layer