1 / 12

Proposed Ideas

Proposed Ideas. Therapon Skotiniotis Karl Lieberherr Northeastern University Boston, MA 02115 USA. Traversal Related Concerns. AIP performs lookups on hierarchical structures NamePaths, Aspect Directory etc Demeter Theories could be deployed (XPath) User friendly specification of Paths

Télécharger la présentation

Proposed Ideas

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Proposed Ideas Therapon Skotiniotis Karl Lieberherr Northeastern University Boston, MA 02115 USA ABB Workshop

  2. Traversal Related Concerns • AIP performs lookups on hierarchical structures • NamePaths, Aspect Directory etc • Demeter Theories could be deployed (XPath) • User friendly specification of Paths from GUI via Valve to ValveTemperacture from GraphicDisplay to * • Adaptable specification • Ability to add behavior on a group or substructure through the introduction of Demeter Style Visitors ABB Workshop

  3. Traversal Related Concerns(cont) • Demeter Style Visitors • Perform operations before/after/around a specific node that is being visited • Encapsulates behavior in a separate file • Easier extensibility • Potential operations • Maintenance of Structures • Recording of dependencies • Type Level ASK • Instance Level ASK • Copying of structures • Ready made global operations on structures ABB Workshop

  4. Traversal Related Concerns(cont) Room A/C Valve getRTemp getTemp ABB Workshop

  5. Traversal Related Concerns(cont) Room_climate_comp Valve_temp_comp Room A/C Valve getRTemp getTemp Traversal + Visitor: from Room to getTemp(VmakeComponent) Traversal + Visitor: from Room to getRTemp(VmakeComponent) ABB Workshop

  6. AOSD already in AIP • “The house that ABB build” • Trackers and Hooks • The ideas are really close to • JoinPoint model • Hooks are a restricted pointcut for creation, modification and alteration • Trackers are a bit more flexible • You can define the AIP aspects upon which you can capture • Creation, Deletion, Setters, Notifications ABB Workshop

  7. AOSD already in AIP (cont) • Adding • Method invocations will give a similar JoinPoint model as that of AspectJ. • Can be accomplished • Using a language specific approach ala AspectJ • Introduce a “Intermediary” component to delegate according to the pointcuts provided by the programmer • Through a design constraint enforced by an API (yet another one) • Issues • Language specific • Harder to implement • Programmers need to learn a new sub-language ABB Workshop

  8. AOSD already in AIP (cont) • Issues (cont) • Intermediary component • A new tool rewrites the programmer’s source (preprocessor) making all necessary arrangements. • Compile time + Runtime performance issues. • Automatically tangle code  harder to provide runtime adaptability • Programmer can be oblivious to the whole mechanism • Just uses the extra facility if he needs to. • Design Constraints via an API • Extra components introduced at Framework level (might affect stability and/or performance) • Maintain runtime adaptability. • May become too verbose for the programmer ABB Workshop

  9. Reuse Reuse Reuse • Fine grained separation + subjective view make reuse between systems difficult • Duplicated information • Dependencies between views • Underlying implementation • Context sensitive dependencies • HyperJ Solution • HyperSpaces and Multi Dimensional Separation of Concerns • Binary manipulation. No need of source code • Language specific (if at all possible) ABB Workshop

  10. Component Based Reuse • The ability to reuse “building blocks” to provide • Similar solutions to similar problems • Create a new solution by adopting multiple collaborations together and then applying them to the underlying system • Capture parts of the systems structure that are paramount to the solution • Define what abstract component types are expected/provided only • This requires a coordination between • Structural Dependencies within Structures (Directories in AIP) • Behavioral Dependencies between entities (DLL’s ASO’s etc) ABB Workshop

  11. Component Based Reuse (cont) • Structural Dependencies • XPath and a default visitor could capture structural dependencies • Trackers and Hooks can be deployed by the programmer to capture behavioral dependencies ABB Workshop

  12. Traversal Related Concerns(cont) • XPath • Follows the same idea • Allows also for documenting AIP structures to * (MakeHMTLVisitor) • “Write once runs on any Structure” ABB Workshop

More Related