Model Generator Functional Requirements

1
Model Generator Functional Requirements •The system must take in parameters and output an AADL model that conforms to the parameters provided •The system must be extendable, to allow a developer to add new parameter types Nonfunctional Requirements •The system must generate large models without using large amounts of computer memory XML:DB Adapter Functional Requirements •The system must take an XML representation of AADL and store it in an XML database •The system must provide access to stored AADL models on a per- object basis •The system must provide object retrieval support for both OSATE and EMF uniform resource identifier syntax Faculty Advisor – Dr. Suraj Kothari Client – Jon Mathews Team Members – Chaz Beck Marcus Rosenow Shaun Brockhoff Jason Lackore Dec0908: Model Generator & XML:DB Adapter White Box Testing •Junit testing was used on logic- oriented classes. •OSATE API provides many restrictions on how components can be used •We have put our own restrictions in place to preserve model validity •Custom exceptions thrown to capture specific errors System Testing •Use OSATE to convert AAXL to AADL and EMF diagram •Use OSATE to run analyses on imported diagrams to confirm validity of model •Use OSATE to create “instances” of the system – a flat model based on the original model layers •EMF models were used for testing the AADL-XML Adapter implementation Testing Results •Most bugs were identified in system testing •Boundary/fringe conditions and necessary guards identified during white box testing Model Generator – 1. Develop a static model generator that produces AAXL output 2. Extend the static model generator to handle dynamic model generation 3. Create a console that allows parameters to be input from the user to control the dynamic model generation 4. Experiment with dynamically generating models larger than memory AADL-XML Adapter – 5. Experiment with BaseX and understand its limitations in terms of performance and features 6. Build a wrapper for BaseX in Java to insert XML files into database and to perform queries 7. Generate EMF models for testing 8. Develop the AADL-XML adapter using EMF’s persistence API and use BaseX as custom storage for AAXL This senior design team started off working on an exploratory project aiming to understand AADL and model driven development using OSATE. Through three iterations of the project, the purpose has shifted to trying to extend current model-based development tools and overcome their current short comings. The focus still stayed on OSATE and AADL due to it being open-sourced and popular among the industry. Most of the team’s time spent was trying to understand how to do system integration with OSATE, EMF, Eclipse, and BaseX. Many different components and APIs were involved and leveraged during the course of development. Unlike other senior design projects, where they build their project from scratch, great care was needed to ensure that new functionality added didn’t break the existing code base and that the correct APIs were used to get the desired functionality. This increased the complexity of the project and involved considerable time researching. In all, this project was a great exercise in real-world software development. The team learned how to evolve a project’s requirements, how to integrate existing software components which is a common practice in industry, and how to manage a large-scale project and develop an internal infrastructure to handle communication and delegation of tasks between members. As for deliverables, the team was able to successfully implement a dynamic model generator that could be used for creating AADL test models and an AADL-XML adapter that will be an essential component in enabling OSATE to work with models stored in an XML database. BaseX XML Dat abas e Eclipse Eclipse Modeling Framework OSATE AADL Language AADL Model Generator AADL XML:DB Adapter Software Technologies Used Conclusion Design Overview Problem Statement Test Results Project Plan Importance of Software Developing meaningfully sized model analysis for real world application Our project is directed towards the application of model persistence in alleviating the burdens placed on modeling tools by real world scenarios in model driven development. The reliable creation of meaningfully sized models for better simulation of the stress placed on today’s software during testing is also addressed. The solution focus of our project consists of storage (or persistence to) in an eXtensible Markup Language (XML) database and an extendable framework for generating dynamic AADL models. • The persistence of EMF models to lessen memory issues created from large models • The creation of dynamic test models that are arbitrarily large and contain multiple layers of abstraction Chaz Beck 144.5 Jason Lackore 111 Marcus Rosenow 135 Shaun Brockhoff 141 Man Hours AADL (Architecture Analysis and Design Language) allows for a textual and graphic notation with precise semantics to model applications and execution platforms. An example might be modeling an airplane’s subsystems (sensors, processes, buses, etc). The generated models can be tested against predefined qualifiers. Currently, the language can also be used as a unifier in transferring models in communication. Companies such as Rockwell Collins, Boeing, Honeywell, Lockheed Martin and others have an interest in AADL. One of the major programs used to develop AADL models is the SEI Open Source AADL Tool Environment (OSATE). There exists a few weaknesses with the software which our team hopes to address. Document ation 5% Implementation 33% Research 17% Design 23% Requirem ents 20% Testing 2% Effort Breakdown ModelGe n Plugin OSATE Mode l Tree Componen t Factory AADL Write r Create Tree Tree in Memory Represent Model In Memory Create AADL Components Tree to XML ModelGen Parameters AAXL Model to OSATE Tree Build er EMF XML:DB Adapte r EFacto ry Notifi er EObjec t EStore EList BaseX EObjectI mpl BaseX EStoreIm pl BaseX Wrapper BaseX EList BaseX EFactory EMF Model EMF Impl D B Q u e r y AADL Model Generator •Pass in parameters such as component counts, latency values, property counts via command line •Create a tree representation of the AAXL model using EMF/OSATE components in memory •Extensible structure allows new AADL components and tree structures to be added in later versions •Output memory representation to AAXL text, which can then be converted by OSATE into AADL text and EMF diagram XML:DB Adapter •Implement EMF Estore and other interfaces to allow per-object queries •Validate user-provided URI and do a conversion if necessary between the two supported standards (EMF or OSATE’s custom XPath implementation) •Generalized for XML, but can store AAXL model files as they conform to XML specifications Generated Instance Diagram With Analyses Overall System Diagram

description

Dec0908: Model Generator & XML:DB Adapter. Project Plan. Importance of Software. - PowerPoint PPT Presentation

Transcript of Model Generator Functional Requirements

Page 1: Model Generator Functional Requirements

Model Generator Functional Requirements

•The system must take in parameters and output an AADL model that conforms to the parameters provided •The system must be extendable, to allow a developer to add new parameter types

Nonfunctional Requirements •The system must generate large models without using large amounts of computer memory

XML:DB Adapter Functional Requirements

•The system must take an XML representation of AADL and store it in an XML database •The system must provide access to stored AADL models on a per-object basis •The system must provide object retrieval support for both OSATE and EMF uniform resource identifier syntax

Faculty Advisor –Dr. Suraj Kothari

Client –Jon Mathews

Team Members –Chaz BeckMarcus RosenowShaun BrockhoffJason Lackore

Dec0908: Model Generator & XML:DB Adapter

White Box Testing•Junit testing was used on logic-oriented classes.•OSATE API provides many restrictions on how components can be used•We have put our own restrictions in place to preserve model validity•Custom exceptions thrown to capture specific errors•System Testing•Use OSATE to convert AAXL to AADL and EMF diagram•Use OSATE to run analyses on imported diagrams to confirm validity of model•Use OSATE to create “instances” of the system – a flat model based on the original model layers•EMF models were used for testing the AADL-XML Adapter implementation•Testing Results•Most bugs were identified in system testing•Boundary/fringe conditions and necessary guards identified during white box testing

Model Generator –1. Develop a static model generator that produces

AAXL output2. Extend the static model generator to handle

dynamic model generation3. Create a console that allows parameters to be

input from the user to control the dynamic model generation

4. Experiment with dynamically generating models larger than memory

AADL-XML Adapter –5. Experiment with BaseX and understand its

limitations in terms of performance and features

6. Build a wrapper for BaseX in Java to insert XML files into database and to perform queries

7. Generate EMF models for testing8. Develop the AADL-XML adapter using EMF’s

persistence API and use BaseX as custom storage for AAXL

This senior design team started off working on an exploratory project aiming to understand AADL and model driven development using OSATE. Through three iterations of the project, the purpose has shifted to trying to extend current model-based development tools and overcome their current short comings. The focus still stayed on OSATE and AADL due to it being open-sourced and popular among the industry.

Most of the team’s time spent was trying to understand how to do system integration with OSATE, EMF, Eclipse, and BaseX. Many different components and APIs were involved and leveraged during the course of development. Unlike other senior design projects, where they build their project from scratch, great care was needed to ensure that new functionality added didn’t break the existing code base and that the correct APIs were used to get the desired functionality. This increased the complexity of the project and involved considerable time researching.

In all, this project was a great exercise in real-world software development. The team learned how to evolve a project’s requirements, how to integrate existing software components which is a common practice in industry, and how to manage a large-scale project and develop an internal infrastructure to handle communication and delegation of tasks between members.

As for deliverables, the team was able to successfully implement a dynamic model generator that could be used for creating AADL test models and an AADL-XML adapter that will be an essential component in enabling OSATE to work with models stored in an XML database.

BaseX XM

L Data

base

Eclipse

Eclipse

Modelin

g Framework

OSATE

AADL Language

AADL Model G

enerato

r

AADL XM

L:DB A

dapter

Software Technologies Used

ConclusionDesign Overview

Problem Statement

Test Results

Project PlanImportance of Software

Developing meaningfully sized model analysis for real world application

Our project is directed towards the application of model persistence in alleviating the burdens placed on modeling tools by real world scenarios in model driven development. The reliable creation of meaningfully sized models for better simulation of the stress placed on today’s software during testing is also addressed. The solution focus of our project consists of storage (or persistence to) in an eXtensible Markup Language (XML) database and an extendable framework for generating dynamic AADL models.

• The persistence of EMF models to lessen memory issues created from large models• The creation of dynamic test models that are arbitrarily large and contain multiple layers of abstraction

Chaz Beck144.5

Jason Lackore111

Marcus Rosenow

135

Shaun Brockhoff141

Man HoursAADL (Architecture Analysis and Design Language) allows for a textual and graphic notation with precise semantics to model applications and execution platforms. An example might be modeling an airplane’s subsystems (sensors, processes, buses, etc). The generated models can be tested against predefined qualifiers. Currently, the language can also be used as a unifier in transferring models in communication. Companies such as Rockwell Collins, Boeing, Honeywell, Lockheed Martin and others have an interest in AADL. One of the major programs used to develop AADL models is the SEI Open Source AADL Tool Environment (OSATE). There exists a few weaknesses with the software which our team hopes to address.

Doc-umentation

5%

Implementation33%

Research17%

Design23%

Requirements20%

Testing2%

Effort Breakdown

ModelGen Plugin OSATE

Model Tree

Component Factory

AADL Writer

Create Tree

Tree in Memory

Represent Model In Memory

Create AADL Components

Tree to XML

ModelGen Parameters

AAXL

Mod

el to

OSA

TETree Builder

EMF XML:DB Adapter

EFactory

Notifier

EObject

EStore

EList

BaseXEObjectImpl

BaseXEStoreImpl

BaseXWrapper

BaseXEList

BaseXEFactory

EMF Model EMF Impl DB Q

uery

AADL Model Generator•Pass in parameters such as component counts, latency values, property counts via command line•Create a tree representation of the AAXL model using EMF/OSATE components in memory•Extensible structure allows new AADL components and tree structures to be added in later versions•Output memory representation to AAXL text, which can then be converted by OSATE into AADL text and EMF diagram

XML:DB Adapter•Implement EMF Estore and other interfaces to allow per-object queries•Validate user-provided URI and do a conversion if necessary between the two supported standards (EMF or OSATE’s custom XPath implementation)•Generalized for XML, but can store AAXL model files as they conform to XML specifications

Generated Instance Diagram With Analyses

Overall System Diagram