Pular para conteúdo

CMPO — Configuration Management Process Ontology

Atividades, artefatos e stakeholders do processo de gerência de configuração. Inclui a extensão desenvolvida na tese para alinhar CMPO à filosofia do Git (branches, conflitos, commit), necessária para desenvolver CIRO.

Id cmpo
Versão 1.1.0
Camada Domínio
Rede SEON
Namespace the_band.ontology.seon.cmpo
Depende de ufo, spo, sys_swo
Origem Tese, Seções 2.2.2.2 e 3.3.1 (Figuras 18, 32 e 33)

Nota. A versão original de CMPO é alinhada à filosofia do Subversion. A tese estendeu a ontologia para representar check-in e check-out como ocorrem no Git. E o projeto The Band acrescentou uma terceira camada, o módulo change_traceability (2026-08-17, issue #426): as participações que ligam stakeholders aos atos — submeter, integrar, commitar. Elas faltavam, e a lacuna apareceu ao escrever o mapeamento do Pull Request, antes de qualquer coleta.

Módulos

  • Configuration Management Process — conceitos e relações do módulo.
  • Checkout (Git-aligned) — Extensão do CMPO desenvolvida na tese para representar checkout como ocorre no Git: criação e troca de branch, e checkout de artefato.
  • Check-in (Git-aligned) — Extensão do CMPO desenvolvida na tese para representar check-in no Git: verificação e resolução de conflitos, commit de cópia de artefato e remoção de branch. Branch de origem e destino são papéis, não tipos de branch.
  • Change Traceability — Quem submeteu uma solicitação de mudança, quem a integrou e quem executou cada commit — as participações que ligam stakeholders aos atos da gerência de configuração, e as associações que ligam os atos à solicitação que os motivou. Extensão do projeto The Band, não da CMPO publicada.

Configuration Management Process

Fonte: Tese, Seção 2.2.2.2, Figura 18

Conceitos

cmpo.configuration_management_process — Configuration Management Process

Processo de Gerência de Configuração

Processo executado específico que conduz as atividades de gerência de configuração, assegurando completude e correção dos itens de configuração.

categoria UFO: complex_action · especializa spo.specific_performed_project_process

cmpo.configuration_item — Configuration Item

Item de Configuração

Objeto cuja configuração está sendo gerenciada: artefatos, descrições de processo e ferramentas sob gerência de configuração.

categoria UFO: role · papel de spo.artifact

cmpo.artifact_copy — Artifact Copy

Cópia de Artefato

Cópia de um artefato sob controle de versão.

categoria UFO: object

Exemplos: cópia de um código-fonte; cópia de um script de banco

cmpo.source_repository — Source Repository

Repositório de Código

Cópia carregada de sistema de software cujo propósito é tratar as mudanças de cópias de artefato.

categoria UFO: disposition · especializa sys_swo.loaded_software_system_copy

Atributo Tipo Obrigatório
name string sim
qualified_name string sim
url string sim
description text não
primary_language string não
default_branch string não
archived_at datetime não
external_created_at datetime não
last_pushed_at datetime não

Exemplos: uma instância do GitLab; um repositório no GitHub

cmpo.change_request — Change Request

Solicitação de Mudança

Solicitação formal para avaliar e potencialmente integrar alterações em itens de configuração. Um Pull Request é uma solicitação de mudança — não é o merge, nem a decisão de aprovação.

categoria UFO: social_object · especializa spo.information_item

cmpo.change_control — Change Control

Controle de Mudança

Atividade executada composta para controlar formalmente a modificação de itens de configuração: solicitar, avaliar, alterar e revisar.

categoria UFO: complex_action · especializa spo.performed_composite_activity

cmpo.change_request_closing — Change Request Closing

Fechamento da Solicitação de Mudança

Atividade executada simples para fechar uma solicitação de mudança revisada e aprovada.

categoria UFO: action · especializa spo.performed_simple_activity

cmpo.change_accomplishment — Change Accomplishment

Realização da Mudança

Atividade executada composta que realiza mudanças autorizadas em um conjunto de itens de configuração sob controle de versão.

categoria UFO: complex_action · especializa spo.performed_composite_activity

cmpo.change_implementer — Change Implementer

Implementador da Mudança

Stakeholder responsável por implementar uma mudança nos itens de configuração.

categoria UFO: role · especializa spo.project_stakeholder

cmpo.baseline — Baseline

Linha de Base

Item de informação que empacota um conjunto de versões de itens de configuração em um momento específico da vida do produto.

categoria UFO: social_object · especializa spo.information_item

cmpo.baseline_establishment — Baseline Establishment

Estabelecimento de Linha de Base

Atividade executada composta que estabelece uma linha de base.

categoria UFO: complex_action · especializa spo.performed_composite_activity

Relações

Relação Origem Destino Cardinalidade Tipo
is grouped by cmpo.source_repository spo.project many → many association
composed of cmpo.configuration_management_process cmpo.change_control one → one_or_many part_whole
composed of cmpo.change_control cmpo.change_accomplishment one → one_or_many part_whole
is in charge of cmpo.change_implementer cmpo.change_accomplishment many → many participation
packages cmpo.baseline cmpo.configuration_item one → one_or_many part_whole
  • cmpo.source_repository_grouped_by_project — Associação declarada por pessoa, e nunca observada: a origem não diz a que projeto um repositório pertence, e inferir isso de nome, organização ou padrão de texto produziria agrupamento que ninguém decidiu. Muitos-para-muitos porque um repositório pode servir a mais de um projeto — uma biblioteca compartilhada é o caso comum. A relação mora em CMPO, e não em SPO, porque cmpo já depende de spo: declará-la do outro lado inverteria a hierarquia entre as ontologias e criaria um ciclo de dependência. Quem conhece os dois conceitos é o módulo mais externo. As issues do projeto são derivadas desta relação, e não guardadas na issue: projeto → repositórios → issues. Uma referência a projeto na issue duplicaria o fato, e as duas fontes discordariam quando um repositório mudasse de projeto.

Checkout (Git-aligned)

Extensão do CMPO desenvolvida na tese para representar checkout como ocorre no Git: criação e troca de branch, e checkout de artefato.

Fonte: Tese, Seção 3.3.1, Figura 32

Conceitos

cmpo.checkout — Checkout

Checkout

Atividade para acessar versões definidas de um item de configuração em um repositório, normalmente para alteração, criando uma cópia de artefato em um ambiente.

categoria UFO: complex_action · especializa spo.performed_composite_activity

cmpo.branch — Branch

Branch

Coletivo dos artefatos de um repositório de código.

categoria UFO: collective

cmpo.branch_creation — Branch Creation

Criação de Branch

Atividade executada simples que cria uma branch em um repositório de código.

categoria UFO: action · especializa spo.performed_simple_activity

cmpo.branch_switch — Branch Switch

Troca de Branch

Atividade executada simples que alterna entre branches de um repositório.

categoria UFO: action · especializa spo.performed_simple_activity

cmpo.artifact_checkout — Artifact Checkout

Checkout de Artefato

Atividade executada simples que cria ou atualiza uma branch com uma cópia de artefato.

categoria UFO: action · especializa spo.performed_simple_activity

Relações

Relação Origem Destino Cardinalidade Tipo
composed of cmpo.checkout cmpo.branch_creation one → many part_whole
composed of cmpo.checkout cmpo.branch_switch one → many part_whole
composed of cmpo.checkout cmpo.artifact_checkout one → many part_whole
is in cmpo.branch cmpo.source_repository many → one part_whole

Check-in (Git-aligned)

Extensão do CMPO desenvolvida na tese para representar check-in no Git: verificação e resolução de conflitos, commit de cópia de artefato e remoção de branch. Branch de origem e destino são papéis, não tipos de branch.

Fonte: Tese, Seção 3.3.1, Figura 33

Conceitos

cmpo.checkin — Check-in

Check-in

Atividade para incluir novas versões de itens de configuração em um repositório de código.

categoria UFO: complex_action · especializa spo.performed_composite_activity

cmpo.source_branch — Source Branch

Branch de Origem

Papel assumido por uma branch quando há nova versão ou nova cópia de artefato que se deseja salvar em outra branch por meio de um check-in.

categoria UFO: role · papel de cmpo.branch

cmpo.target_branch — Target Branch

Branch de Destino

Papel assumido pela branch que recebe a cópia de artefato em um check-in.

categoria UFO: role · papel de cmpo.branch

cmpo.check_conflict — Check Conflict

Verificação de Conflito

Atividade que verifica se há conflitos entre uma cópia de artefato na branch de origem e sua versão na branch de destino.

categoria UFO: action · especializa spo.performed_simple_activity

cmpo.conflict — Conflict

Conflito

Diferença de conteúdo em uma mesma região de uma cópia de artefato.

categoria UFO: social_object · especializa spo.information_item

cmpo.artifact_copy_with_conflict — Artifact Copy With Conflict

Cópia de Artefato com Conflito

Cópia de artefato criada quando um conflito é identificado.

categoria UFO: phase · especializa cmpo.artifact_copy

cmpo.artifact_copy_without_conflict — Artifact Copy Without Conflict

Cópia de Artefato sem Conflito

Cópia de artefato sem conflito, seja porque nenhum foi identificado, seja porque todos foram resolvidos.

categoria UFO: phase · especializa cmpo.artifact_copy

cmpo.resolve_conflict — Resolve Conflict

Resolução de Conflito

Atividade que permite ao implementador da mudança corrigir um conflito em uma cópia de artefato.

categoria UFO: action · especializa spo.performed_simple_activity

cmpo.commit_artifact_copy — Commit Artifact Copy

Commit de Cópia de Artefato

Atividade que envia uma cópia de artefato sem conflito para a branch de destino.

categoria UFO: action · especializa spo.performed_simple_activity

Atributo Tipo Obrigatório
sha string sim
message text não
additions integer não
deletions integer não

cmpo.delete_branch — Delete Branch

Remoção de Branch

Atividade que remove uma branch de origem em um repositório de código.

categoria UFO: action · especializa spo.performed_simple_activity

Relações

Relação Origem Destino Cardinalidade Tipo
composed of cmpo.checkin cmpo.check_conflict one → many part_whole
composed of cmpo.checkin cmpo.resolve_conflict one → many part_whole
composed of cmpo.checkin cmpo.commit_artifact_copy one → many part_whole
composed of cmpo.checkin cmpo.delete_branch one → many part_whole
sends to cmpo.commit_artifact_copy cmpo.target_branch many → one association

Change Traceability

Quem submeteu uma solicitação de mudança, quem a integrou e quem executou cada commit — as participações que ligam stakeholders aos atos da gerência de configuração, e as associações que ligam os atos à solicitação que os motivou. Extensão do projeto The Band, não da CMPO publicada.

Fonte: Issue #426; lacuna exposta ao escrever github.pull_request.to.cmpo.change_request

Conceitos

cmpo.change_request_submission — Change Request Submission

Submissão de Solicitação de Mudança

Atividade executada simples que submete uma solicitação de mudança para avaliação, produzindo a solicitação. Existe como conceito próprio porque participação é relação entre agente e evento: sem o ato, "quem solicitou" não teria onde se ancorar — a solicitação é objeto social, e objeto social não tem participante.

categoria UFO: action · especializa spo.performed_simple_activity

Exemplos: abrir um Pull Request; registrar uma solicitação de alteração no processo

Relações

Relação Origem Destino Cardinalidade Tipo
submitted spo.project_stakeholder cmpo.change_request_submission one → many participation
produced cmpo.change_request_submission cmpo.change_request one → one causation
performed spo.project_stakeholder cmpo.checkin one → many participation
integrated cmpo.checkin cmpo.change_request one → zero_or_one association
performed spo.project_stakeholder cmpo.commit_artifact_copy many → many participation
produced cmpo.commit_artifact_copy cmpo.artifact_copy one → one_or_many causation
accomplished cmpo.commit_artifact_copy cmpo.change_request many → zero_or_one association

← Rede de ontologias