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

Create New Classes for Software Components #20

Open
mosoriob opened this issue Jun 17, 2024 · 3 comments
Open

Create New Classes for Software Components #20

mosoriob opened this issue Jun 17, 2024 · 3 comments

Comments

@mosoriob
Copy link

We need to create a new class structure for handling different types of software components. This involves creating a superclass SoftwareComponent and two subclasses TapisSoftwareComponent and WCMSoftwareComponent.

Tasks

  1. Create the SoftwareComponent superclass:

    • This will serve as the base class for different software components.
  2. Create the WCMSoftwareComponent subclass:

    • This class will inherit from SoftwareComponent.
    • Add a property Location which will be an aggregation of all the files needed to execute the component. Typically, this is a zip file that includes the run script, support scripts, and specification files.
  3. Create the TapisSoftwareComponent subclass:

    • This class will inherit from SoftwareComponent.
    • Add the following properties:
      • appVersion
      • appId
      • tenant
@dgarijo
Copy link
Contributor

dgarijo commented Jun 17, 2024

Hi, some comments:

  • Software Component seems akin to software configuration. What would the difference be?
  • The Location property exists. It's called hasComponentLocation: https://knowledgecaptureanddiscovery.github.io/SoftwareDescriptionOntology/release/1.9.0/index-en.html#hasComponentLocation. It has the same definition you are providing.
  • There is a property for https://w3id.org/okn/o/sd#hasVersion to capture the version.
  • There is a property for https://w3id.org/okn/o/sd#identifier to capture the identifier. I am not sure what a tenant is.
  • WCMSoftwareComponent and TapisSoftwareComponent seem to be quite specific. What about creating an extension of the ontology including them?

@mosoriob
Copy link
Author

Thank you for getting back to me.

At present, MINT utilizes the hasComponentLocation property to retrieve the component containing the run file and source code in Wings format. I am looking to expand support to include Tapis, another execution engine similar to Wings.

The issue I am facing with the hasComponentLocation property is that I am unable to differentiate whether the component is a Wings or Tapis component.

However, your response has prompted me to reconsider. I agree that TapisComponent appears to be quite specific. Perhaps the URL can contain information to distinguish between the components.

@dgarijo
Copy link
Contributor

dgarijo commented Jun 17, 2024 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

When branches are created from issues, their pull requests are automatically linked.

2 participants