10 likes | 131 Views
Dec0908: Model Generator & XML:DB Adapter. Project Plan. Importance of Software.
E N D
Dec0908: Model Generator & XML:DB Adapter Project Plan Importance of Software 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. Model Generator – Develop a static model generator that produces AAXL output Extend the static model generator to handle dynamic model generation Create a console that allows parameters to be input from the user to control the dynamic model generation Experiment with dynamically generating models larger than memory AADL-XML Adapter – Experiment with BaseX and understand its limitations in terms of performance and features Build a wrapper for BaseX in Java to insert XML files into database and to perform queries Generate EMF models for testing Develop the AADL-XML adapter using EMF’s persistence API and use BaseX as custom storage for AAXL Problem Statement 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 AADL Model Generator AADL Language Test Results OSATE Eclipse Modeling Framework Eclipse AADL 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 BaseX XML Database Software Technologies Used • 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 Generated Instance Diagram With Analyses Design Overview Conclusion ModelGenPlugin OSATE EMF XML:DB Adapter EMF Impl ModelGen Parameters EMF Model DB Query 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 EFactory EFactory Tree Builder Model Tree Represent Model In Memory Create Tree Notifier AAXL Model to OSATE BaseX EObjectImpl Create AADL Components Component Factory EObject BaseX EList EList Tree in Memory AADL Writer Tree to XML BaseX EStoreImpl EStore Overall System Diagram BaseX Wrapper • 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 Faculty Advisor – Dr. Suraj Kothari Client – Jon Mathews Team Members – Chaz Beck Marcus Rosenow Shaun Brockhoff Jason Lackore