Skip to content

IDLReasoner: A MiniZinc-based Java library for analyzing IDL specifications

License

Notifications You must be signed in to change notification settings

isa-group/IDLReasoner

Repository files navigation

IDLReasoner

Analysis operations

IDLReasoner is a Java library that allows to automatically analyze IDL specifications and perform a number of operations on them, namely:

  1. isValidIDL:
    • Input: 1) IDL specification; 2) API operation parameters.
    • Output: Boolean indicating whether the IDL specification is valid or not (i.e. it does not contain dead nor false optional parameters and at least one valid request can be generated).
  2. isDeadParameter:
    • Input: 1) IDL specification; 2) API operation parameters; 3) Parameter to check.
    • Output: Boolean indicating whether the parameter passed is dead or not (i.e. it can never be used in an API request due to inconsistencies in the IDL specification).
  3. isFalseOptional:
    • Input: 1) IDL specification; 2) API operation parameters; 3) Parameter to check.
    • Output: Boolean indicating whether the parameter passed is false optional or not (i.e. it is required despite being declared as optional. This also happens because of inconsistencies in the IDL specification).
  4. getRandomRequest:
    • Input: 1) IDL specification; 2) API operation parameters.
    • Output: Valid API request (i.e. a request satisfying all dependencies and including all required parameters).
  5. isValidRequest:
    • Input: 1) IDL specification; 2) API operation parameters; 3) Request to check.
    • Output: Boolean indicating whether the request is valid or not.
  6. isValidPartialRequest:
    • Input: 1) IDL specification; 2) API operation parameters; 3) Request to check.
    • Output: Boolean indicating whether the request is partially valid or not (i.e. some parameters still need to be set to make it a fully valid request).
  7. getAllRequests:
    • Input: 1) IDL specification; 2) API operation parameters.
    • Output: All valid API requests. As a precondition, all parameters of the operation must have a finite domain.
  8. getNumberOfRequests:
    • Input: 1) IDL specification; 2) API operation parameters.
    • Output: Total number of valid API requests. As a precondition, all parameters of the operation must have a finite domain.

About

IDLReasoner: A MiniZinc-based Java library for analyzing IDL specifications

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages