- Setup a local Galaxy instance.
- Go to the directory
galaxy/tools/moonshot/and clone this repository. (Create the moonshot directory if it doesn't exist yet) - Change the galaxy tool configuration at
galaxy/config/tool_conf.xml.sampleby adding:<section name="Moonshot" id="moonshot"> <tool file="moonshot/SPIF-to-SVIF-Tool/owl_to_json.xml"/> </section>
- Build and run Galaxy as normal.
- Navigate on the left
Tools column > Moonshot > SPIF-to-SVIF-Tool. - Upload and select a SPIF file.
- Click on "Run Tool" button.
- S holds T when Structure S has a variable of Type T.
- S accepts T when Structure S has an operation that has a parameter of Type T.
- S returns T when Structure S has an operation with return Type T.
- S constructs T when Structure S has a script that instantiates Structure T.
- S calls T when Structure S has a script that calls an operation of Structure T. It is what is usually considered in a “dependency graph”.
- S accesses T when Structure S has a script that directly access a field of Structure T.
For more information about the format see the section "LPG schema for abstract structure knowledge" here.
Run the command:
python -m unittest discover -s tests
Add -v flag at the end for more detailed testing
Depending on how your python environment is set up the command can also be:
python3 -m unittest discover -s tests
- Primitive
- Container
- Structure
- contains (container contains structure)
- contains (container contains container)
- contains (structure contains structure)
- holds
- returns
- accepts
- accesses
- calls
- constructs
- extends
- implements
The unimplemented ones left are not visualized using ClassViz.
- kind
- isPublic
- isClass
- isInterface
- isAbstract
- isEnum
- isStatic
- sourceText
- isSerializable
- isCollection
- isMap
- isAWTComponent
- namedController
- namedManager
- namedListener
- namedTest
- numFields
- numPublicFields
- numPrivateFields
- numPrimitiveFields
- numCollectionFields
- numIterableFields
- numMapFields
- numAWTComponentFields
- ratioPublicFields
- ratioPrivateFields
- numMethods
- numPublicMethods
- numPrivateMethods
- numAbstractMethods
- numGetters
- numSetters
- ratioPublicMethods
- ratioPrivateMethods
- ratioAbstractMethods
- ratioGetters
- ratioSetters
- ratioGettersToFields
- ratioSettersToFields
- numStatementsInMethods
- averageStatementsPerMethod
- numParametersInMethods
- averageParametersPerMethod
- numBranchingInMethods
- averageBranchingPerMethod
- numLoopsInMethods
- averageLoopsPerMethod
- accessesIO
- maxLoopDepth
For automated installation of Galaxy and the Moonshot tools (including SPIF-to-SVIF-Tool), see the Andromeda Ansible playbooks: Software-Analytics-Visualisation-Team/andromeda-ansible.