Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

core: Replace Entity with Agent #340

Merged
merged 1 commit into from
May 23, 2023
Merged

Conversation

nishakm
Copy link
Collaborator

@nishakm nishakm commented May 16, 2023

  • Replace concrete class Entity with concrete class Agent
  • Delete class Identity
  • Add new class SoftwareAgent
  • Make Person and Organization inherit from Agent

Fixes: #94

@nishakm
Copy link
Collaborator Author

nishakm commented May 16, 2023

@sbarnum please review

Copy link
Contributor

@kestewart kestewart left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks Nisha! This matches what I've understood from the discussions.

@kestewart kestewart added this to the 3.0-rc2 milestone May 16, 2023
Copy link
Member

@maxhbr maxhbr left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Identity is also used in:

Core/Classes/Artifact.md
24:  - type: Identity
27:  - type: Identity

Core/Properties/originatedBy.md
17:- Range: Identity

Security/Classes/VulnAssessmentRelationship.md
31:  - type: /Core/Identity

Entity is also used in:

Core/Classes/CreationInfo.md
31:  - type: Entity

Core/Properties/createdBy.md
19:- Range: Entity

Core/Classes/Tool.md
16:- SubclassOf: Entity

These findings need to be migrated.

(Also: the spec-parser should probably fail and find these inconsistencies)

model/Core/Classes/Agent.md Outdated Show resolved Hide resolved
model/Core/Classes/SoftwareAgent.md Show resolved Hide resolved

## Summary

Agent represents anything acting on a system.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggest changing to "An entity that has the potential to act."

This would align it with the the basic definitions of agent in the W3C PROVO ontology, FIBO ontology, FOAF ontology, and dbpedia ontology.
It also leaves it minimal and flexible for 3.0 as was agreed to.


## Description

The Agent class represents anything acting on a system. This could be a user account, or person. This is not to be confused with tools that perform tasks.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggest changing to "The Agent class represents anything that has the potential to act.. This could be a person, organization, software agent, etc. This is not to be confused with tools that are used to perform tasks."

Agent is not limited to acting on a system but rather acting in any way or context.


## Description

A SoftwareAgent is a software representation of a user that could be assigned authorization to perform tasks on behalf of a person or organization.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggest changing to: "A SoftwareAgent is a software program with the potential to act on behalf of a user (person or organization) when it possesses appropriate authority."

The word representation has potential confusion of being interpreted as a facsimile. Really the software agent is acting "on behalf of" the user.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

From discussion in meeting:

A SoftwareAgent is a software program that is given the authority (similar to a user's authority) to perform an operation.

Copy link
Collaborator

@sbarnum sbarnum left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this looks good if it incorporates the few minor changes I have suggested for Summary and Description of Agent and SoftwareAgent.

Copy link
Contributor

@iamwillbar iamwillbar left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This matches what is currently in the diagram.

Copy link
Contributor

@kestewart kestewart left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Based on discussion, there's a subsequent PR needed for security profile to align to agent, but we should be good to merge this, and get coherence.

model/Core/Properties/originatedBy.md Outdated Show resolved Hide resolved
- Replace concrete class Entity with concrete class Agent
- Delete class Identity
- Add new class SoftwareAgent
- Make Person and Organization inherit from Agent
- Make Tool inherit from Element

Fixes: spdx#94

Signed-off-by: nisha <nisha@ctlfsh.tech>
Copy link
Member

@maxhbr maxhbr left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@kestewart kestewart merged commit 95d800d into spdx:main May 23, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Agent or Identity
7 participants