Sle1617 Assignment3

Summary

Develop a component to a megamodeling language processor.

Logistics

  • Dates: see course webpage.
  • All deadlines are firm.
  • Pick one option:
    • Visual syntax for MegaL:
      • Export to dot (Graphviz).
      • Export to yed.
      • Some issues / challenges:
        • Make sure the two exporters share code where possible.
        • Default layout may be more less usable.
        • See the first MegaL paper for some thoughts on visual MegaL syntax.
        • Consider appropriate implementation technologies such as StringTemplate or APIs.
        • The entities in the graph should be made "clickable" based on available links.
    • Measures (metrics) for megamodels:
      • Consider adopting metrics for ontologies.
      • Compute these metrics for the entire repository.
      • Present the metrics in some sort of dashboard.
      • Some issues / challenges:
        • The adoption of existing metrics to modular megamodels is not obvious.
        • What do we really want to see in a dashboard? Some sort of correlation?
        • How is the dashboard represented or deployed? Some sort of generated HTML?
    • Megamodel formatter:
      • Format as text.
      • Format as HTML.
      • Format as LaTeX.
      • Some issues / challenges:
        • Make sure the three formatters share code where possible.
        • Formatting rules (linebreaks, whitespace, …) need to be defined.
        • A build/deployment setup needs to be defined. Use an extra directory?
    • Megamodels in the semantic web:
      • Export megamodel library as triple store.
      • Demonstrate queries on triple story in Jena or alike.
      • Consider potential for schema-based (OWL-based) validation.
      • Consider potential for reasoning.
      • Some issues / challenges:
        • How does modularity of megamodels affect this effort?
        • What kind of constraints do we really mean to include into a schema?
        • What sort of reasoning makes sense here?
        • How to deal with CWA for megamodels as opposed to common OWA for ontologies?