Model Generator Functional Requirements
-
Upload
jena-jones -
Category
Documents
-
view
26 -
download
0
description
Transcript of 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