/maSMPs

Metadata model for machine-actionable Software Management Plans

Primary LanguageJavaScriptOtherNOASSERTION

Metadata model for machine-actionable Software Management Plans

DOI

About

This project corresponds to an extension of the Research Data Alliance (RDA) machine-actionable Data Management Plan (maDMP) application profile and its corresponding DMP Common Standard ontology (DCSO) in order to cover the case of ELIXIR Software Management Plans (SMPs). Similar to DMPs, SMPs help formalize a set of structures and goals that ensure the software is accessible and reusable in the short, medium and long term. Although targeting the life sciences community, most of the elements of the ELIXIR SMPs are domain agnostic and could be used by other communities as well. DMPs and SMPs can be presented as text-based documents, sometimes guided by a set of questions corresponding to key points related to the lifecycle of either data or software. The RDA DMP Common Standards working group defined a maDMP to overcome limitations of text-based documents. We propose a similar path for the ELIXIR SMPs so they turn into machine-actionable SMPs (maSMPs).

Acknowledgements

This project has received funding from the European Union’s Horizon 2020 research and innovation programme under grant agreement No 101017536 and is part of the Research Data Alliance and European Open Science Cloud Future call 2022. This project has been supported by the Good Practices Focus Group part of the ELIXIR Tools Platform. The work presented in this poster was part of Project 17 at the BioHackathon Europe 2022.

Relevant sources

Structure

Properties in 'contact'

NameDescriptionCardinalityExample Value
contactContact person for the SMP1Elizabeth Smith contact@example.com

Properties in 'contributor'

NameDescriptionCardinalityExample Value
contributorThe contributers of code, planning and data involved in the software project0..*Elizabeth Smith, Adam Miller

Properties in 'funding'

NameDescriptionCardinalityExample Value
fundingWho is funding the project0..*

Properties in 'maintenance'

NameDescriptionCardinalityExample Value
maintenanceRunning post-production modifications on the software to improve user functionaility or resolve technical issues0..*
retirementThe strategy that will be used to put an end to the use of the software project0..1

Properties in 'project timeline'

NameDescriptionCardinalityExample Value
project_timelineEstablish the keydates of project development0..*Development start: "Apr 9, 2020", Development end: "Jul 24, 2023"

Properties in 'purpose'

NameDescriptionCardinalityExample Value
purposeA brief description of the software stating its purpose and intended audience1..*

Properties in 'reliability strategy'

NameDescriptionCardinalityExample Value
reliability_strategyHow can it be ensured that the software will keep running0..*

Properties in 'software'

NameDescriptionCardinalityExample Value
testingCode testing strategies and its pipeline to successful testing results covering a broad range of testing-categories0..*
version_controlThe system used to manage changes in code shared across all developers1..*git

Properties in 'data storage'

NameDescriptionCardinalityExample Value
data_storageThe location and type of storage solutions for data used or created by the software.0..*SQLite
security_and_privacyWhat measures will be taken to ensure the security and privacy of the users data and the data generated by the app?0..*

Properties in 'distribution'

NameDescriptionCardinalityExample Value
distributionTo provide technical information on a specific instance of the software like the link to access it, the byte size, description, format0..*
licenseThe license of the software regarding the rights distribution0..*MIT license
productionThe resulting active running instance of the software which is either publically or internally accessible0..1

Properties in 'documentation'

NameDescriptionCardinalityExample Value
citationMethod to cite the software in form of a citation file (CFF)0..*
deployment_documentationDeployment documentation guiding how the software project is being deployed into production0..*
developer_documentationDocumentation regarding the code-components of the software0..*
user_documentationSoftware documentation regarding the user, instructing how the application is being used from a non-developer perspective0..*

Properties in 'repository'

NameDescriptionCardinalityExample Value
repositoryName the platforms that are going to be used to store the source files0..*github.com/maSPMs
licenseThe license of the software regarding the rights distribution0..*MIT license

Properties in 'software engineering quality'

NameDescriptionCardinalityExample Value
software_engineering_qualityGuidelines shared across the softwares to provide standardized documentation, testing or code structure0..*