1 / 1

Problems and Motivation

JCMP: Linking Architecture with Component Building Guoqing Xu gqxu_02@cs.ecnu.edu.cn Advisor: Zongyuan Yang Dept. of Computer Science, East China Normal University. Problems and Motivation. Techniques Overview. Two basic characteristics of Components defined in the architecture :.

hei
Télécharger la présentation

Problems and Motivation

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. JCMP: Linking Architecture with Component BuildingGuoqing Xu gqxu_02@cs.ecnu.edu.cnAdvisor: Zongyuan YangDept. of Computer Science, East China Normal University Problems and Motivation Techniques Overview Two basic characteristics of Components defined in the architecture : • Triple-C Model • Component-Communicate-through-Connectors • A concrete connector in the impl. for each abst. connector in the arch. • Use concrete connectors as wrapper to transfer the method invocation between components. (use Java reflection) • Conform to Architecture • Three criteria identified in [LV95] • Decomposition easy • Interface conformance easy • Communication Integrity hard • Support a great deal of flexibility • Built independently • Late third party integration • Need a protocol or a certain style between client and server. Current Solutions • Use techniques such as • MILs (Jiazzi or Knit) -- composition from modules • On-demand remodularization -- pluggable composite adapter [MSL01] • ADLs or Systems that • Follow style guidelines (Rapide..) -- not enforced automatically • Unify impl. and arch. in one lang. -- ArchJava [ACN02] • Model Overview Don’t consider architectural constraints Don’t support late composition ADL: JCMPL JCMP/Compiler • Features • Java like grammar • ADL/IDL • Describe only abstraction • A compiler model • Features • Parse JCMPL abstractions • Automatically generate component impl. including connector impl. from abst. • The compiler model compiled by JCMP/Compiler • Key Technique • Automatically generate the connector impl. from connector spec. in the arch. • JCMP System: Linking architecture with component building for Java • An ADL: JCMPL • A toolset: JCMP • --JCMP/Compiler --JCMP/Match • --JCMP/Checker --JCMP/Kernel JCMP/Match • Searching for a pair of “require-provide” methods which match each other in semantics from two connected ports. • Based on JML spec. of each method. • The matching strategy matchjcmp/match (P , R) = (Rpre => Ppre) ^ ( (Ppre^ Ppost) =>Rpost ) • Run P and R with test cases to watch whether their behaviors are observably equal. JCMP/Checker Why it works • Features • Instrument methods with arguments of primitive types. (Encapsulate these arguments in the objects at the entry and release them at the exit) • Use both architecture and implementation as input • check the conformance and output the class files. • Enforce Communication Integrity • All interface methods are generated as protected. This enforces that all interface methods cannot be directly called by other components. • The only way to call an interface method is through connector, which uses reflection to suppress access checking. • The connector is generated automatically from connector spec., and therefore, methods comm. in impl. Is enforced to conform to what is specified in the arch. Java Impl. JCMPL abstraction • Support Component pre-built for late integration • Concrete connector serves as glue codes. • Components can be built without knowing other components’ interfaces. • If it requires a service, only request this from the conn. • Conn. uses JCMP/Match to find the suitable method, calls the method, and finally returns the value back. JCMP/Checker Static checking / Compiling Not conformed Error Report .class file conformed

More Related