eclipse-score / eclipse-score/lifecycle

Update legacy ProcessGroupManager names

Open
#424 1 comment 0 reactions 0 assignees View on GitHub
cleanup
Dominant language
C++
Stars
6
Forks
34
Avg merge
2d 3h
Merged PRs (30d)
80

Description

### What

After #392, some existing names have become outdated.
- Graph class
- This no longer represents any kind of graph, but manages run target activation
- Some function and member names are similarly outdated or confusing. For instance, `handleNonTransitionExecution` actually finalizes a failed transition
- `abort()` is a really bad name for a class member function
- ProcessGroupManager directory and class
- Process groups are a legacy concept from the first proposed design and are unrelated to run targets and components
- Another subdirectory could be added for process-specific code, resolving #375

Going forward, we should use the following definitions:

- Component: A software unit managed by launch manager that has dependencies and active/inactive states
- Active: A component state that indicates the component has been activated, all configured readiness conditions were met, and no failure has occurred since those conditions were satisfied.
- Process: A specialized component representing a single POSIX process
- Run target: A specialized component that represents a collection of components that are managed together and can be activated or deactivated as a group.
- Transition: An operation that activates a specified run target. As part of this operation, the required component state changes are evaluated, and the necessary components are activated or deactivated accordingly.

Some legacy terms that should be updated if encountered:
- State/Process group state: This most closely matches with run targets, but could not depend on other run targets/states
- Process group: A collection of states. Previously, more than one could be active at a time. At present, there is only one process group (known as "MainPG" or `machine_process_group`)

### Acceptance Criteria (DoD)

- Graph class is renamed
- ProcessGroupManager directory & class renamed
- Methods & attributes with names that are no longer accurate in former ProcessGroupManager directory updated
- No expectation that all legacy terms are removed

### How

_No response_

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.