Bao sw engineering considerations
This presentation is the property of its rightful owner.
Sponsored Links
1 / 60

BAO SW engineering considerations PowerPoint PPT Presentation


  • 53 Views
  • Uploaded on
  • Presentation posted in: General

BAO SW engineering considerations. Outline. Overview Users Basic Usecases Approaches. BAO phase 1. want to build software for the BAO - to make it available to the world generally need to clarify design objectives users and usecases discuss alternative approaches and implications

Download Presentation

BAO SW engineering considerations

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Bao sw engineering considerations

BAO SW engineering considerations


Outline

Outline

  • Overview

  • Users

  • Basic Usecases

  • Approaches


Bao phase 1

BAO phase 1

  • want to build software for the BAO - to make it available to the world generally

  • need to clarify design objectives

    • users and usecases

  • discuss alternative approaches and implications

  • discuss some plans


Users

Users


Naive usecase

Naive Usecase


End users

End-users

  • query: search BAO using text and/or SPARQL

  • browse: search BAO interactively using some kind of visual aid (e.g., treeview)

  • visualize: explore the BAO graphically (as a graph)

  • download: download BAO in various formats

  • share: provide machine accessible interfaces for query and download


End users1

End-users

  • no modification of data

  • various ways of exploring and downloading data

  • assumes pre-existence of BAO


Admin users

Admin-users

  • c/e/r: create and maintain the BAO

  • validate: run reasoners, etc. to ensure that new version of the BAO are valid

  • register: add new data sources that can be used with the BAO

  • map: associate data (from registered source) with the BAO

  • upload: add new data for use with the BAO


Admin users1

Admin-users

  • create, modify BAO

  • maintain BAO versions

  • associate data from various sources with BAO

    • this seems to me to be the tricky part


End user access

End-user Access

  • (easy part)


End users2

End-users

  • query: search BAO using text and/or SPARQL

  • browse: search BAO interactively using some kind of visual aid (e.g., treeview)

  • visualize: explore the BAO graphically (as a graph)

  • download: download BAO in various formats

  • share: provide machine accessible interfaces for query and download


Some conclusions

Some Conclusions

  • End-user usecases are distinct from administrative user usecases

  • Design considerations regarding these classes of users can be separated

  • Building of end-user and administrative user components can be done independently

  • Need to understand Admin-user roles


End user access1

End-user access

  • web-based

    • browse, query, visualize (possibly)

  • SOAP

    • for machines

  • Other apps (if we want)

    • cytoscape - visualization

    • Joseki - query interface


End user stack

End-user stack


Machine user stack

Machine-user stack


Admin user access

Admin-user Access

  • (hard part)


Admin users2

Admin-users

  • c/e/r: create and maintain the BAO

  • validate: run reasoners, etc. to ensure that new version of the BAO are valid

  • register: add new data sources that can be used with the BAO

  • map: associate data (from registered source) with the BAO

  • upload: add new data for use with the BAO


Mapping populating

Mapping/Populating

  • All data to be used with the BAO resides in other systems and has various representations

  • Initial objective is to be able to search PubChem assays using BAO


Approaches

Approaches

  • BAO is an ontology for representing bioassay data - Alignment

    • data sources will be made semantically compatible with BAO and assimilated

  • BAO is an ontology for annotating bioassays - Annotation

    • BAO exists independently from data in sources and is linked using single URI to identify source record


  • Alignment

    Alignment

    • Implied this approach in proposal

    • Create BAO and BAO vocabulary

    • Make semantic model of source data (e.g., PubChem)

    • Align that model with the BAO using things like rdfs:equivelentClass and possibly coding (e.g., using Vine and other tools)

    • Data will then be assimilated/transformed to BAO


    Annotation

    Annotation

    • Create BAO and BAO vocabulary

    • Partition BAO (logically) into controlled/curated and user provided partitions

    • Annotate assays (i.e., URIs)

    • May require tool development to speed annotation process

    • Need processes and tools to maintain BAO vocabulary (true to some extent as well for alignment option)


    Alignment vs annotation

    Alignment vs Annotation

    • Alignment

      • BAO is primarily semantic model

      • BAO used to represent assay data

      • BAO content fairly flexible

      • transformation of data in source systems

    • Annotation

      • BAO is reference model and vocabulary

      • BAO semantic content is semi-static

      • source data not transformed


    Mapping

    “Mapping”


    Approach 1 alignment

    Approach 1: Alignment

    • Build BAO

    • Build source level ontologies for mapping

    • Build/integrate tools to support alignment

    • Align source ontologies with BAO (equivelentClass, etc.)

    • Deploy BAO

    • Load BAO with instances from sources


    Alignment1

    Alignment


    Alignment usecase

    Alignment Usecase

    • align two semantic models

    • need two models

    • if source does not have model will need to make one

    • need to make source data available through the new model


    Alignment pcrelmir

    Alignment: PCRELMIR


    Alignment pug

    Alignment: PUG


    System

    System


    Annotation usecase

    Annotation Usecase

    • reference a recorded assay (e.g., PubChem)

    • provide some required data (e.g., description)

    • select some data from pre-populated BAO (e.g., detection method)

    • save the new instance (user provided + BAO controlled) in the BAO knowlegebase


    Approach 2 annotation

    Approach 2: Annotation

    • Build BAO

    • Partition BAO (logically) into “source specified” and “controlled”

    • Enumerate controlled partition (e.g., provide values for “detection method”)

    • Build tools to help select values from controlled partition

    • Build tools to facilitate population of “specified” partition


    Various advantages

    Various advantages

    • Ease of maintenance, from a curation pov

    • Maintains independence of BAO ontology from the application of BAO

    • Allows distribution of enumerated BAO as separate useful thing


    System1

    System


    Stack

    Stack


    Alignment p c

    Alignment: P&C

    • Seems like proposed plan

    • Documents transformations

    • High maintenance

    • Somewhat complex development

    • BAO, by itself, is not necessarily distributable as tool, only as export


    Annotation p c

    Annotation: P&C

    • easier maintenance

    • simpler system architecture

    • distributable BAO (explicitly identifies BAO as independent deliverable)

    • can expand to cover alignment option (option 1) as well

    • seems like what would be most useful (BAO as tool)

    • only reference to source data is through URI (single point)


    Bao sw engineering considerations

    Path

    • Draft initial BAO

    • Partition BAO

    • Enumerate controlled partition

    • Build application ontology, align, code

    • Develop tools to speed annotation (e.g., text crunch descriptions to give suggestions of controlled BAO elements)

    • Annotate PubChem using all of the above


    Ontology development

    Ontology Development

    • assume approach 2 (annotation)

    • adopt approach 2 methodology (draft, partition, enumeration)

    • establish tools to support methodology


    Project

    Project


    Project deliverables

    Project Deliverables

    • BAO end-user application

      • browse, query, visualize (V1)

      • endpoint specific functionality (V2)

      • structure specific functionality (V3)

    • BAO admin-user application

      • source registration, assay annotation (V1)

      • bulk assay annotation (V2)

      • endpoint upload (V2/V3)

    • BAO ontology (packaged and versioned)

    • BAO annotation tools (maybe)

      • entity extraction from text using full BAO

      • others?

    • BAO end-user application populated with PubChem data


    Non deliverables but essential

    Non-deliverables(but essential)

    • BAO maintenance/curation tools (protege, etc.)


    Structure

    Structure

    • Four separate dependent projects

      • end-user application

      • admin-user application

      • BAO development and curation

      • Annotation of PubChem using all of the above


    General

    General

    • Need names for deliverables (e.g., baq, baa, bao, bat)

    • Need to identify and assemble teams for each project


    Bao sw engineering considerations

    BAQ


    General approach

    General Approach

    • Assemble design team

    • Mockup UI in Caretta, prototype

    • Code-level design

      • schema, OWL, Java

    • Build

    • Test


    Bao sw engineering considerations

    BAA


    General approach1

    General Approach

    • Basically same approach as in BAQ

    • Assemble design team

    • Mockup UI in Caretta, prototype

    • Code-level design

      • schema, OWL, Java

    • Build

    • Test


    Design team

    Design Team

    • Will put together spec for UI

      • Caretta simulation will serve as the functional spec

    • Felimon

    • Stephan

    • Robin

    • ?


    Engineering team

    Engineering Team

    • Skills

      • Java/Hibernate/Jena/OWL(RDF)/JSP/Spring/Dojo/Groovy/Grails/EJB

    • Felimon (UI person?)

    • UI person (TBH)

    • 1 or more junior developers (TBH)

    • possible supplemental members (existing)

      • deepthi(ejb/soap), harsha(ejb/soap), *nakul(UI)


    Bao sw engineering considerations

    BAO


    General approach2

    General Approach

    • Assemble team (informally already exists)

    • Draft BAO

    • Partition BAO

    • Implement BAO version control mechanisms

    • Enumerate BAO (add controlled vocabulary)


    Ontology team

    Ontology Team

    • Stephan

    • Robin

    • Vance

    • Ubbo


    Bao annotation tools bat

    BAO annotation tools(BAT)

    • entity extraction (based on BAO) from assay descriptions

    • various UI features to help with annotation management


    Bao sw engineering considerations

    Demo

    • This is the BAQ (end-user application) populated with PubChem data

    • Demonstrates features of all components


    Dependencies

    Dependencies


    Priorities

    Priorities

    • BAO/BAQ

    • BAT

    • DEMO

    • BAA


    Bao sw engineering considerations

    Plan

    • coming soon

    • will cover 6 month period beginning mid january


  • Login