Design Review Client: Jon Mathews, EnSoft Advisor: Dr. Suraj Kothari, ECprE Team Members Chaz Beck Shaun Brockhoff Jason Lackore Marcus Rosenow.

Slides:



Advertisements
Similar presentations
Testing Relational Database
Advertisements

Object-Oriented Application Development Using VB.NET 1 Chapter 5 Object-Oriented Analysis and Design.
Case Tools Trisha Cummings. Our Definition of CASE  CASE is the use of computer-based support in the software development process.  A CASE tool is a.
Objective Understand web-based digital media production methods, software, and hardware. Course Weight : 10%
CS 290C: Formal Models for Web Software Lecture 10: Language Based Modeling and Analysis of Navigation Errors Instructor: Tevfik Bultan.
Software Frameworks for Acquisition and Control European PhD – 2009 Horácio Fernandes.
CASE Tools CIS 376 Bruce R. Maxim UM-Dearborn. Prerequisites to Software Tool Use Collection of useful tools that help in every step of building a product.
Testing an individual module
Design Patterns academy.zariba.com 1. Lecture Content 1.What are Design Patterns? 2.Creational 3.Structural 4.Behavioral 5.Architectural 6.Design Patterns.
Issues on Software Testing for Safety-Critical Real-Time Automation Systems Shahdat Hossain Troy Mockenhaupt.
Database Management Systems (DBMS)
Faculty Advisor – Dr. Suraj Kothari Client – Jon Mathews Team Members – Chaz Beck Marcus Rosenow Shaun Brockhoff Jason Lackore.
Chapter 7 Structuring System Process Requirements
CASE Tools And Their Effect On Software Quality Peter Geddis – pxg07u.
PHASE 3: SYSTEMS DESIGN Chapter 7 Data Design.
Advance Computer Programming Java Database Connectivity (JDBC) – In order to connect a Java application to a database, you need to use a JDBC driver. –
INTRODUCTION TO WEB DATABASE PROGRAMMING
M. Taimoor Khan * Java Server Pages (JSP) is a server-side programming technology that enables the creation of dynamic,
UML - Development Process 1 Software Development Process Using UML (2)
Overview of the Database Development Process
Systems Analysis – Analyzing Requirements.  Analyzing requirement stage identifies user information needs and new systems requirements  IS dev team.
Ihr Logo Data Explorer - A data profiling tool. Your Logo Agenda  Introduction  Existing System  Limitations of Existing System  Proposed Solution.
Testing. What is Testing? Definition: exercising a program under controlled conditions and verifying the results Purpose is to detect program defects.
ABSTRACT Zirous Inc. is a growing company and they need a new way to track who their employees working on various different projects. To solve the issue.
Managing the development and purchase of information systems (Part 1)
© 2012 IBM Corporation Rational Insight | Back to Basis Series Chao Zhang Unit Testing.
Implementation Yaodong Bi. Introduction to Implementation Purposes of Implementation – Plan the system integrations required in each iteration – Distribute.
Chapter 7 Structuring System Process Requirements
Understand Application Lifecycle Management
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
1 ISA&D7‏/8‏/ ISA&D7‏/8‏/2013 Systems Development Life Cycle Phases and Activities in the SDLC Variations of the SDLC models.
Automated GUI testing How to test an interactive application automatically?
Design and Programming Chapter 7 Applied Software Project Management, Stellman & Greene See also:
Testing Workflow In the Unified Process and Agile/Scrum processes.
The Network Performance Advisor J. W. Ferguson NLANR/DAST & NCSA.
ILDG Middleware Status Chip Watson ILDG-6 Workshop May 12, 2005.
Faculty Advisor – Dr. Suraj Kothari Client – Jon Mathews Team Members – Chaz Beck Marcus Rosenow Shaun Brockhoff Jason Lackore.
Copyright 2003 Scott/Jones Publishing Standard Version of Starting Out with C++, 4th Edition Chapter 13 Introduction to Classes.
16 October Reminder Types of Testing: Purpose  Functional testing  Usability testing  Conformance testing  Performance testing  Acceptance.
Ad Hoc Graphical Reports Ad Hoc Graphical Reports Copyright © Team #4 CSCI 6838 Spring CSCI Research Project and Seminar Team# 4 (
Systems Analysis and Design in a Changing World, Fourth Edition
9 Systems Analysis and Design in a Changing World, Fourth Edition.
9 Systems Analysis and Design in a Changing World, Fourth Edition.
ModelPedia Model Driven Engineering Graphical User Interfaces for Web 2.0 Sites Centro de Informática – CIn/UFPe ORCAS Group Eclipse GMF Fábio M. Pereira.
Faculty Advisor – Dr. Suraj Kothari Client – Jon Mathews Team Members – Chaz Beck Marcus Rosenow Shaun Brockhoff Jason Lackore.
1 CSCD 326 Data Structures I Software Design. 2 The Software Life Cycle 1. Specification 2. Design 3. Risk Analysis 4. Verification 5. Coding 6. Testing.
Celluloid An interactive media sequencing language.
Chapter 6 CASE Tools Software Engineering Chapter 6-- CASE TOOLS
Faculty Advisor – Dr. Suraj Kothari Client – Jon Mathews Team Members – Chaz Beck Marcus Rosenow Shaun Brockhoff Jason Lackore.
Topic 4 - Database Design Unit 1 – Database Analysis and Design Advanced Higher Information Systems St Kentigern’s Academy.
May08-21 Model-Based Software Development Kevin Korslund Daniel De Graaf Cory Kleinheksel Benjamin Miller Client – Rockwell Collins Faculty Advisor – Dr.
ANALYSIS PHASE OF BUSINESS SYSTEM DEVELOPMENT METHODOLOGY.
Faculty Advisor – Dr. Suraj Kothari Client – Jon Matthews Team Members – Chaz Beck Marcus Rosenow Shaun Brockhoff Jason Lackore White Box Testing Junit.
UML - Development Process 1 Software Development Process Using UML.
CSC480 Software Engineering Lecture 7 September 16, 2002.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
July 19, 2004Joint Techs – Columbus, OH Network Performance Advisor Tanya M. Brethour NLANR/DAST.
Project May07-14: Restaurant Automation April 24, 2007.
NAVSEA Liaison Scott Huseth Faculty Advisor Dr. Jiang Guo Team Members Areg Abcarians David Ballardo Niteen Borge Daniel Flores Constance Jiang June 3,
Faculty Advisor – Dr. Suraj Kothari Client – Jon Matthews Team Members – Chaz Beck Marcus Rosenow Shaun Brockhoff Jason Lackore Importance of SoftwareProject.
Team 8: SAE AADL Simulation and Modeling Tools. Members Chaz Beck Software Engineering Shaun Brockhoff Software Engineering Jason Lackore Software Engineering.
Software Testing.
SOFTWARE TESTING Date: 29-Dec-2016 By: Ram Karthick.
Chapter 2 Database System Concepts and Architecture
Gary Hughes, South Oakleigh College
Systems Analysis and Design
Design and Programming
Software life cycle models
Objective Understand web-based digital media production methods, software, and hardware. Course Weight : 10%
Software Development Process Using UML Recap
Presentation transcript:

Design Review Client: Jon Mathews, EnSoft Advisor: Dr. Suraj Kothari, ECprE Team Members Chaz Beck Shaun Brockhoff Jason Lackore Marcus Rosenow

Project Overview o History of Project o Problem/need statements o System Diagram o Intended users/uses o Assumptions/Limitations o Expected end products o Approach o Risks AADL Model Generator Design o Design o Testing o Prototyping XML Adapter Design o Same as above Cost and Resources Schedule 2

Original Project - An open ended exploration project pertaining to performing error analysis on AADL models Version 2 - Redefined project scope to solve the storing of large AADL models in a database Problems encountered with Version 2 - o Attempting to understand and modify OSATE’s source code was proving to be outside the scope of the class o Further research into CDO determined that the software was not yet mature enough to depend on later in the project o New project direction is keeping with the same overall goal, without getting tangled in CDO and OSATE. 3

There is a need for interesting test cases involving AADL models, particularly very large models We need to be able to generate AADL models with the ability to specify attributes that the model must have  i.e. percentage of objects that are a particular component type, depth of the tree, etc  AADL models do not need to represent any real world system, however they must be valid models. The Random AADL Model Generator will be independent of, but related to the XML adapter 4

OSATE and other tools used to create and edit models for large, complex systems Currently, the entire model is stored in main memory, which is a problem as models reach several gigabytes in size Data can only be queried on a per resource basis For efficient model retrieval, we need to be able to store and query individual objects as opposed to entire resources 5

6

The end product is expected to be useful mostly to other developers. o As the overarching goal is still to get OSATE to be database-enabled, our software will be primarily used to provide a framework that can be plugged into OSATE (without our team getting involved with that part) o The AADL model generator will be useful both for our team to use in testing the XML adapter, and also for general AADL model testing by other developers. 7

Open Source XML Database o Mature enough for use o Any limitations posed by selected database will in turn pose limitations on API’s for interaction 8

AADL/EMF model generation tool o Used to create large models with specified parameters for use in testing XML database adapter o Lessens the burden of larger AADL models by storing “unused” segments in secondary storage 9

The team will split into two smaller teams, one team focusing on the model generator, and the other focusing on the XML adapter XML Adapter o We will plan on investigating the EStore class of EMF for Resource Management  CDO implements EStore, so our resource management needs can be feasibly met with this interface 10

AADL Model Generator o There are already model/graph generators in existence, but none yet for AADL o Will follow a similar approach to other model generators...but with additional constraints to ensure the model conforms to AADL o We plan to start with some static (but interesting) models to test specific access patterns o We will eventually work up to very granular controls to combine many different attributes and constraints in an adaptable way 11

Complications arising from EStore interface implementation (Low) Unforeseeable complications could creep up during the actual implementation of the EStore interface. The team must try to minimize the damage caused by this and be quick on developing alternative solutions. Losing a team member (High) The actual chance of losing a team member is low, but the impact it would create on the project would make the project unlikely to be finished if it were to occur. Dividing the team into two separate groups would create specialization among members which intensifies the damage caused by a team member loss. Finishing the project on time (Medium) This project has gone through multiple iterations. Which has been good ruling out what has been feasible and what isn’t. But the delay caused by changing the scope of the project has affected the amount of time allotted for the design phase. 12

13

14

System must take in parameters and output a model that fulfills the parameters given System must be extendable, that is, allow a developer to easily add new parameter types to the model generator System must generate large models incrementally, without using large amounts of computer memory 15

Parameter Parser Model Constraint Builder Abstract Constraint Model Builder Component Factory AADL Output Generator Model Validation 16

Parameter Parser o Check the validity of each individual parameter and pass to the model constraint builder Model constraint builder o Combine different constraints into one unified constraint, like a query o It is important that parameters cannot contradict one another, so check the validity of the combination parameters given 17

Abstract Constraint o In order for the system to be extendable all constraints will need to fall under a similar structure o Constraints will modify the existing attributes of the system in some way, or create new ones 18

Model Builder o Take individual components and combine them in meaningful ways o Must follow rules of AADL, particularly concerning component hierarchies Component Factory o Generate individual components based on constraints on demand o Return the components to the model builder for use in the overall system 19

AADL Output Generator o Take the model represented in memory and output it to AADL text o Use constraints to break up the model into resources as required Model Validation o Check the completed model to ensure it conforms to AADL standards o Use in testing stage of the project 20

Input o Take in a set of parameters and their values(as seen in the next slide) o Not all parameters are required, some parameters have default values Output o Valid AADL Model with attributes based on parameters given o Model will NOT represent an actual system 21

22

Using a command line interface with switches to control parameters for model generation. o Will make it easier to extend and plug in new model constraints o With no GUI, new developer needs only to develop the logic for the new parameters and not worry about updating any graphical elements 23

Model Generator will be written in Java using the Eclipse development environment o Other AADL tools are already in Java so it makes sense that this will be in Java.  While it is standalone it is possible that it could be integrated in the future 24

Black box testing methods for the interface o Random input o Boundary testing o Equivalence classes Unit testing on internal methods Metrics for code coverage Output will be verified via OSATE or a contrived testing suite for automation 25

Several prototypes o Increasing complexity o Increasing size o For major features Example o Prototype 1: Generating tree in memory o Prototype 2: Outputting tree to AADL o Prototype 3: Inserting more complex AADL constraints o Prototype 4: Implementing cross referencing 26

27

The system must take as input an AADL model in its XML format and store it in an XML database The system must provide access to stored AADL models on a per-object basis 28

OSATE suffers from limitations from using “standard” EMF model Fix = Implement EStore interface to allow different storage models 29

Storage of AADL models in XML database o XML:DB adapter  AADL importer  Individual object retrieval o URI validation/conversion 30

Initial storage of AADL handled by importer Subsequent requests from the database are handled on a per-object basis o URI indicates the specific object to retrieve o URI between XML database and EMF converted as needed An open source XML database such as BaseX that targets “XML:DB API” o Other Options [fallbacks]  Target XQuery or DOM enabled open source XML databases 31

Input o Initially, an AADL model in AADL XML format o URIs for individual objects within a model o Address\Path to XML database  Authentication to database Output o EMF objects corresponding to URI input o A valid URI in respect to URI validation/conversion 32

Integrated into OSATE workspace o Database settings inside Window > Preferences > OSATE Inserting AADL model into database using OSATE menu Requires editing OSATE’s plugin.xml file and a few snippets of code for action listeners 33

XML database adapter will be written in Java using the Eclipse development environment EMF interfaces including the EStore will be used for the persistent storage of AADL models 34

Setup XML database for integration testing o Start with one database, switch out or add additional XML database depending on time constraints and encountering difficulties Unit testing [jUnit 4] o Black box testing and acceptance testing  Testing database path  Testing various XML files o White box testing  Internal code methods Metrics for test coverage and code complexity Use AADL Model Generator for integration testing and handling large AADL models (acceptance testing) 35

Storage of simple XML data with no relevance to OSATE and/or AADL models Build simple EMF model, derive XML from model, and insert into database for storage and retrieval Storage of complex AADL model and access more complex sets of data within 36

Materials Eclipse IDE, Free Java Development Kit, Free OSATE, Free BaseX, Free Testing plug-ins, Free SVN, Free (ECprE) Issue Tracking, Free (ECprE) , Free (Iowa State) Meeting Locations, Free (Iowa State) Possible Purchases Hardware for database, alternative use our own. E-books/Reference material Main cost of project? Time 37

8/24/09 – 9/04/09 (2 weeks) Fall Semester Presentation Develop General Structure of Model Generator Setup and Deploy BaseX Database 9/07/09 – 9/18/09 (2 weeks) First prototype for both components Model Generator 9/21/09 – 10/16/09 (4 weeks) Second prototype 10/19/09 – 10/30/09 (2 weeks) Third prototype 11/02/09 – 11/13/09 (2 weeks) Fourth prototype 11/16/09-12/04/09 (3 weeks) Integration of prototypes into final code Acceptance Testing 38

XML Adapter 9/21/09 – 10/09/09 (3 weeks) Second prototype 10/12/09 – 11/06/09 (4 weeks) Third Prototype After 10/16, Model Generator is usable for testing purposes 11/09/09 – 12/04/09 (4 weeks) Integration of prototypes into final code Code clean-up Acceptance testing 11/23/ /04/09 (2 weeks) Create Poster and IRP presentation 39

40

AADL – Architecture Analysis and Design Language; Used to specify information about the hardware and software of a system and their connections CDO – Connected Data Objects; An enhancement of the EMF that allows EMF-based models to be stored in a central repository (database); Allows for pluggable storage adapters for connecting to different types of data sources Eclipse – A Java based IDE which is expandable by plug-ins EMF – Eclipse Modeling Framework; A framework for creating models in the Eclipse environment OSATE – Open Source AADL Tool Environment; Plug-in for Eclipse which allows for textual and XML editing of models; May be extended to edit models graphically. XPath – XML Path Language; It is a language used for selecting and accessing nodes in an XML document. URI – Uniform Resource Identifier; generic term used for specifying an address to an object located on the Internet, computer file system, in a document, etc.. 41

AnnexAAADLMetaModel-V0.999.pdf from 42

df?root=Eclipse_Website&view=co 43

“The SAE AADL Standard: An Architecture Analysis & Design Language for Developing Embedded Real-Time Systems” available from Carnegie Mellon University 44