Presentation is loading. Please wait.

Presentation is loading. Please wait.

Generating ADL Descriptions ADL Module for Together 6.x Massimo Marino Lawrence Berkeley National Laboratory.

Similar presentations


Presentation on theme: "Generating ADL Descriptions ADL Module for Together 6.x Massimo Marino Lawrence Berkeley National Laboratory."— Presentation transcript:

1 Generating ADL Descriptions ADL Module for Together 6.x Massimo Marino Lawrence Berkeley National Laboratory

2 Generating ADL Descriptions Outline Together 6.x - Modules & APIs ADL Module - a cure for the YALL syndrome Threefold process Wrap up

3 Generating ADL Descriptions Together 6.x Modules & APIs Modules Enhancements which externally use Together's internal functionality Collection of Java classes that implement interfaces from Together APIs API is composed of a three-tier interface that enables varying degrees of access to the native infrastructure. – The interfaces are very simply named: Interactive Data Environment (IDE) Read-Write Interface (RWI) Source Code Interface (SCI) The ADL module makes use of the first two API groups. The third would allow reverse engineering of adl files.

4 Generating ADL Descriptions Threefold process The module has three phases Startup (automatic) Selection Generation

5 Generating ADL Descriptions Startup At startup the ADL module Configures and enhances the Property Inspector for – Classes – Attributes – Methods Configures the ADL Diagram properties for ADL (design) classes – ADL keywords for Attributes and Methods (parameters & return values) Allows for mixed content: C++ (rev, eng.) classes and ADL (design only) classes coexistence. Verifies proper context – makes sure that there is a valid project and diagram open

6 Generating ADL Descriptions Selection The user selects classes to act upon in the Together project. For each selected class the module Gets the array of items that are selected. Set ADL options for: – ADL file generation address – Class declaration – Attributes – Methods If there is a valid selection Each item in the selection is processed: recursively visited by ADLOutVisitor, an instance of the Visitor pattern. The module generates the ADL descriptions in the proper directory

7 Generating ADL Descriptions Generation When the user launches the adl descriptions generation on selected classes The ADL module visitor – Recursively visits each element in the tree rooted at the current selection(s) – Associates an adl file as.adl, visits in detail the class and its methods/attributes, generates the corresponding adl descriptions – Generation can be configurable: the descriptive header can be made user defined overriding the default.

8 Generating ADL Descriptions ADL Module Deals with how users describe their data objects in ADL Promotes the use of the Atlas chosen tool Together – Users can describe objects in UML (ADL diagram) from scratch, operate on existing ones (reversed engineered package), or both. Addresses the “Yet Another Language To Learn??????????” – Although ADL is quite a simple language… YALL! – Many C++ objects do exist already. – Promotes standard ADL file – The ADL module allows to go through all these objects and generate all the corresponding ADL in one click. The project file is itself a repository.

9 Generating ADL Descriptions ADL Module Relevant javadocs are added to the source code reflecting user selections made on ADL properties for reversed engineered classes. Essentially a feedback

10 Generating ADL Descriptions ADL Module The module has full access to project (package) elements (classes)

11 Generating ADL Descriptions ADL Module ADL module extracts relevant information and generates the corresponding.adl file Only within ADL enabled classes – Fine grain control: ADL generation for specific attributes and methods Supports external classes Correctly manages #includes, typedefs, attributes dimensions (arrays)

12 Generating ADL Descriptions Current status Version 0.10.2 Covers most ADL keywords Covers all ADL basic types – Attributes – Methods’ parameters and return values Profited from early adopters feedback – Great in spotting peculiar odd behaviors Contributed to reported two Together API bugs (to TogetherSoft support) and documentation inconsistencies

13 Generating ADL Descriptions


Download ppt "Generating ADL Descriptions ADL Module for Together 6.x Massimo Marino Lawrence Berkeley National Laboratory."

Similar presentations


Ads by Google