Subjekt Help

Glossary

During the initial phases of the project's development, we identified the main terms that defined the entities and objects of the Subjekt domain. Since we already identified the main contexts of the domain, we separated right at the start the two main spheres of the model.

Here the terms are described in a common language used by all the stakeholders taking part of the project.

Subjekt - library

Since the main sphere of the project concerns the Multi-platform core library, we identified this as one of the main contexts.

Glossary term

Definition

Suite

A global object containing Parameters, Macros, Subjects, and a Configuration.

Parameter

A set of values identified by a unique name.

Macro

A function that takes a set of arguments and returns a set of possible values.

DefinedParameter

A Parameter fixed to one of its possible values.

DefinedMacro

A Macro fixed to one of its possible values.

Resolvable

An object that, fixed to a Context, can be resolved to a single value.

Context

One of the fixed sets of DefinedParameters and DefinedMacros from the possible permutations of Parameters and Macros values.

Instance

A Resolvable that has been resolved to a single value by fixing the Context.

Subject

A conceptual unit that contains Resolvables. It encapsulates the configuration and behavior required to generate results in the form of ResolvedSubjects.

ResolvedSubject

A result obtained from a Subject by transforming its Resolvables into Instances (i.e., by fixing a Context).

ResolvedSuite

A collection of ResolvedSubjects obtained by resolving all Subjects in a Suite.

Configuration

A set of values that can be used to configure the generation.

Exporter

An entity that converts a ResolvedSuite into a given format.

Result

An object that represents the result produced by an Exporter.

Source

An object that provides all the Suite's data.

SuiteFactory

An entity that creates a Suite from a Source.

Module

A library providing a set of Parameters and DefinedMacros.

Mapper

An entity that applies a conversion to a ResolvedSuite (e.g., code linter).

Subjekt - API

The API refers to the context in which Subjekt is used as a library from the outside, in a user-ready service. Here, only some of the terms are also present in the library context, because the API doesn't need a notion of those. Even though there are duplications, the definitions are slightly different, as they are seen from the perspective of the API.

Glossary term

Definition

User

A person who interacts with the API.

Source

A configuration object that can be saved and edited.

Parameter

A set of values identified by a unique name.

Macro

A map from a name definition to a set of values

Subject

A map of keys and values that defines the output of the generation

Configuration

A set of values that can be used to configure the generation.

Result

An entity that represents the result of the Source elaboration.

UserRegistry

An entity that manages the users' repository.

SourceRegistry

An entity that manages the sources' repository.

AuthenticationService

An entity that manages users' authentication.

GenerationTree

An object that contains the tree representing the generation process.

Last modified: 11 February 2025