1 / 22

UmbrellaDB v0.5 Project Report #2

This report discusses the progress and goals of the UmbrellaDB.v0.5 project, which aims to provide query access and integration for heterogeneous data sources using standard SQL statements.

estarner
Download Presentation

UmbrellaDB v0.5 Project Report #2

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. UmbrellaDB v0.5Project Report #2 Integrated Heterogeneous Data Source Access Eric Matson – MSE Kansas State University

  2. Agenda • Review • Current State • Object Model • Design Diagrams • Formal Requirements • Software Quality Assurance Plan • Test Plan • Project Management/Control • Summary and Questions

  3. Review - Purpose • Query heterogeneous data sources using standard SQL statements • Achieve database integration and access at the query level • Allow the data to be “black box” whereas users don’t need to have understanding to source, architecture, or technical details

  4. Review - Goals • Complete the Requirements of CIS895 • Successfully Navigate Software Engineering Process • Prove UmbrellaDB Concept • Prove Ability to Process UmbrellaDB Queries • Create easy to use Graphical User Interface (GUI)

  5. Review - Description • Enter queries using standard SQL statements • Query heterogeneous data sources • Text Files • Relational Databases • Knowledge Base Formats • Non-relational Databases • ODBC Data Sources • Unify Data together as single relation

  6. Review – Architecture Relational Database Parser D a t a C o n n e c t o r s Object Database API Splitter TCP/IP Text File Router Umbrella GUI Unifier KB File Profile Data Server Data Sources Engine

  7. Review - Scope • Functionality • Umbrella 0.5 Query Engine • Graphical User Interface (GUI) • Data Servers for Text Data Sources • Data Connectors • SQL Select Statement in Limited Format • Data Sources • PostgreSQL: ANSI Compliant ORDBMS • MySQL: non-ANSI Compliant RDBMS • Formatted Text • Delimited Text

  8. GUI “Prototype” Toolbar Menu Data Project Info Node Info Status

  9. Current - Progress of Iterations • COMET Process • 3 iterations completed through the design phase • Good for developing the prototype • Hard for a large team • Communication requirements ex with number on project • Quick Results – good feeling of progress • Very good through the design process w/ Formal Methods • Created about 2000 lines of code • Mostly reusable • Some throwaway

  10. Current - Progress of “Formalities” • Instead of specifying Formal Requirements for single area • Complete Project • Each iteration drives “tightening” of design • Finding how much I don’t know about UML/OCL • Experience may be the most valuable use of Formal Methods • Continuously re-think the design • Intrinsic value is in the “thought process” • Filling “gaps’ in my weakest development area • Currently 600+ lines of OCL code…project to finish > 1000 • USE/OCL seems like a good combination • USE is easy to use (no pun intended) • Very intuitive • OCL is not hard to learn • Need more real examples • Not many resources – yet!

  11. Object Models - Tools • Unified Modeling Language (UML) • Poseidon for UML • Object Constraint Language • USE

  12. Class Model

  13. Design – General Activity

  14. Formal Requirements • model UmbrellaDB • class Connection • attributes • name : String • tcpipNumber : String • URLName : String • port : Integer • dataSrcs : Set(DataSource) • operations • checkConnection():Boolean • makeConnection():Boolean • terminateConnection():Boolean • end • class RelationalConnection < Connection • attributes • dbType : String • JDBCDriver : String • userName : String • passwd : String • operations • RelationalConnection(name : String, tcpipNumber : String, URLName : String, port : Integer, • dbType : String, JDBCDriver : String, userName : String, passwd : String) • end • class TextConnection < Connection • attributes • delText : Boolean • forText : Boolean • operations • TextConnection(name : String, tcpipNumber : String, URLName : String, port : Integer, • delText : Boolean) • end

  15. Formal Requirements • -- Constraints for CONNECTION Objects • context Connection • inv SizeEighty: self.port > 8080 • context Connection::makeConnection():Boolean • pre: (self.tcpipNumber.size > 0 ) or (self.URLName.size > 0) • pre: self.port = 8189 • pre: self.name.size > 0 • post: result = true • post: self.port = 8189 • context Connection::terminateConnection():Boolean • -- pre: -- none • post: result = true • context Connection::checkConnection():Boolean • -- pre: -- none • post: result = true • -- Constraints for RELATIONAL CONNECTION Objects • context RelationalConnection • inv SizeEightyRel: self.port > 8080 • -- Constraints for TEXT CONNECTION Objects • context TextConnection • inv SizeEightyText: self.port > 8080 • context TextConnection • inv ChooseType: self.delText <> self.forText

  16. Software Quality Assurance Plan • Quality is “…meeting specifications…” • Standard Verification and Validation topics • “Plan problems out of the project ahead of time…” • Planning to assure quality (CIS 748) • Plan • Purpose : SOW, Goals • Reference Documents : published • Management : organization, tasks, responsibilities • Documentation: documents and evaluation • Standards, Practices Conventions and Metrics • Reviews and Audits : 3 formal reviews / continuous audit • Testing • Problem Reporting

  17. Software Quality Assurance Plan • Plan (continued) • Tools Techniques and Methodologies • Code Control • Media Control • Supplier Control – outsourcing not an issue • Records • Training • Risk Management • Some of these are topics we can think about but really aren’t very relevant for a project of this scope/size/organization dynamic

  18. Test Plan – COMET Model • Complete Formal Analysis will catch many issues • Full formal spec and testing will prevent many issues from creation • Unit Testing (continuous) • Done throughout the process • Several hundred tests • Very fined grained level • Integration Testing • 52 Positive (test success) specifications with multiple data sets • 52 Negative (test failure) specifications with multiple data sets • Some variables beyond control • Network or database failures (factor out of testing)

  19. Formal Technical Inspection • Intermediate Project Step • Next time, but before final presentation • Perform this on the Formal Specifications Documents

  20. Project Planning – Gantt Chart Sept Oct Nov Dec Jan Feb Mar Apr May Planning Req’s Modeling Throwaway Prototyping Analysis Mod. Design Mod. Incr. SW Const Incr. SW Integ. Incr. Prototyping Systems Testing Delivery Review #1 Review #2 Review #3

  21. Project Control – Change Mgmt. • Continuous through the iterations • Almost easier to not track on first 2-3 iterations • Continuous change • Adds admin time • Spectrum: generate ideas to develop concrete solutions • On track with hours • Will go over time with the additional formal specification testing • Will save on the iterations later • Re-testing • Re-coding • Theory is there is balance “ in the force” later on

  22. Summary • Moving ahead well , as scheduled • Spend more time with Formal Methods • Next Steps • Questions • Feedback • Signoff • Proceed to Phase #3

More Related