JCMP: Linking Architecture with Component Building - PowerPoint PPT Presentation

1 / 26
About This Presentation
Title:

JCMP: Linking Architecture with Component Building

Description:

SACT-01, Pusan, Nov. 30th, 2004 ... Guoqing Xu, SACT-01, Pusan, Nov.30th, 2004. Why it works enforce communication integrity in impl. ... – PowerPoint PPT presentation

Number of Views:61
Avg rating:3.0/5.0
Slides: 27
Provided by: cseOhi
Category:

less

Transcript and Presenter's Notes

Title: JCMP: Linking Architecture with Component Building


1
JCMP Linking Architecture with Component Building
SACT-01, Pusan, Nov. 30th, 2004 A previous
version has been presented at poster session of
ACM SIGSOFT 04 FSE-12 conference.
  • Guoqing Xu, Zongyuan Yang and Haitao Huang
  • Software Engineering Lab,
  • East China Normal University

2
Outline
SEL, East China Normal University
  • Introduction and Motivation
  • Our Techniques
  • --- Triple-C Model
  • --- JCMPL language
  • ---JCMP toolset
  • Analysis

Guoqing Xu, SACT-01, Pusan, Nov.30th, 2004
3
Problems and Motivation
SEL, East China Normal University
  • Two basic characteristic of components defined in
    the architecture
  • --- Conform to the architecture
  • Follow the three criteria identified in
    LV95
  • --- Support a great deal of flexibility
  • A protocol or style is needed to support
    the independent building for the composite
    adaptation.
  • These two issues are far from orthogonal although
    their concern is different.

Guoqing Xu, SACT-01, Pusan, Nov.30th, 2004
4
Enforce the architectural conformance (current
research)
SEL, East China Normal University
  • Three criteria identified in LV95
  • ---Decomposition easy
  • ---Interface conformance easy
  • ---Communication Integrity hard

Guoqing Xu, SACT-01, Pusan, Nov.30th, 2004
5
Enforce Communication Integrity (current research)
SEL, East China Normal University
  • Ask implementers to follow style guidelines
    (Rapide with C2 style Luc96)
  • --- not enforced automatically
  • Unify implementation and architecture in one
    language. (ArchJava ACN02)
  • --- doesnt support architecture design.
  • Both dont consider composite adaptation issues.
  • --- there exists the direct client-server
    relationship between components.

Guoqing Xu, SACT-01, Pusan, Nov.30th, 2004
6
Composite Adaptation (Current Research)
SEL, East China Normal University
  • Use Module Interconnection Languages (MILs) to
    describe use relationship.
  • --- Jiazzi or Knit
  • Use on-demand remodularization.
  • --- pluggable composite adapterMSL01
  • They dont describe data and control flow between
    components and therefore cannot enforce
    communication Integrity.

Guoqing Xu, SACT-01, Pusan, Nov.30th, 2004
7
Problem conclusions
SEL, East China Normal University
  • Current solutions to either of two issues dont
    deal with another.
  • How to support composite adaptation in the
    context of architectural constraints?

Guoqing Xu, SACT-01, Pusan, Nov.30th, 2004
8
Outline
SEL, East China Normal University
  • Introduction and Motivation
  • Our Approach
  • --- Triple-C Model
  • --- JCMPL language
  • --- JCMP toolset
  • Case study and Analysis

Guoqing Xu, SACT-01, Pusan, Nov.30th, 2004
9
Triple-C Model
SEL, East China Normal University
  • Component-Communicate-through-Connector.
  • It extends the three criteria in LV95 in two
    aspects
  • --- A concrete connector in the implementation
    for each abstract connector in the architecture.
  • --- Concrete connectors are used as wrappers
    to transfer the service flow between the
    components.

Guoqing Xu, SACT-01, Pusan, Nov.30th, 2004
10
Model Overview
SEL, East China Normal University
  • Currently the connector
  • Specify the communication permission in the arch.
  • Used as wrapper or glue code to transfer the
    methods invocation.

Guoqing Xu, SACT-01, Pusan, Nov.30th, 2004
11
Basic ideas of our approach
SEL, East China Normal University
  • Linking architecture with component building
    (composite adaptation).
  • The key technique is to automatically generate
    the connector impl. from connector spec in the
    arch.
  • We made a JCMP system
  • --- an ADL JCMPL
  • --- a toolset JCMP
  • JCMP/Compiler JCMP/Match
  • JCMP/Checker JCMP/Kernel

Guoqing Xu, SACT-01, Pusan, Nov.30th, 2004
12
JCMPL Language
SEL, East China Normal University
  • It uses the Java like grammar at an abstract
    level.
  • It is not only an ADL, but also an IDL.
  • It describes only abstractions, without any
    detailed type operations.
  • Translated by JCMP/Compiler to the implementation
    skeleton.

Guoqing Xu, SACT-01, Pusan, Nov.30th, 2004
13
JCMPL Language (Cond.)
SEL, East China Normal University
//Parser.jcmpl public PrimComponent Parser
public port in RequireInterface r Token
nextToken()throws ScanExceptions
Public PrimComponent Scanner public port
out ProvideInterface req Token
next()
A Compiler Model
public AdvancedComponent Compiler public port
in RequireInterface get ... InputStream
getInputStream() public port out
ProvideInterface err Integer
getErrCode()... Scanner scanner
new Scanner() Parser parser new Parser()
connect sanner.out, parser.in
Guoqing Xu, SACT-01, Pusan, Nov.30th, 2004
14
Generated Style
SEL, East China Normal University
  • A concrete connector is generated.
  • The component only requests the services from the
    connector and publishes their provided services.
  • The connector performs the dynamic matching and
    transfer the invocation.

Guoqing Xu, SACT-01, Pusan, Nov.30th, 2004
15
Dynamic interface matching
SEL, East China Normal University
  • Searching for a pair of require-provide methods
    which match each other in semantic from two
    connected ports.
  • Based on JML Spec. of each method.
  • The matching strategy
  • match_jcmp/match (P , R) (Rpre gt Ppre)
    ( (Ppre Ppost) gtRpost )
  • Run P and R with test cases to watch whether
    their behaviors are observably equal.

Guoqing Xu, SACT-01, Pusan, Nov.30th, 2004
16
Checking conformance in impl.
SEL, East China Normal University
  • JCMP/Checker instruments methods with arguments
    of primitive types.
  • It uses both architecture and implementations as
    input to check whether they conform to each
    other.
  • If the impl. does not conform to the arch.,
    JCMP/Checker reports errors otherwise, it
    compiles the impl. Into the bytecode files
    (.class).

Guoqing Xu, SACT-01, Pusan, Nov.30th, 2004
17
Why it worksenforce communication integrity in
impl.
SEL, East China Normal University
  • All interface methods are generated as private.
    This enforces that all interface methods cannot
    be directly called.
  • 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 methods comm. In impl. is
    therefore enforced to conform to its spec.

Guoqing Xu, SACT-01, Pusan, Nov.30th, 2004
18
Why it workssupport composite adaptation
SEL, East China Normal University
  • Concrete connector serves as glue codes.
  • When a component is being built, if it requires a
    service, only requesting this from the conn.
  • Conn. uses JCMP/Match to find the suitable
    method, calls the method, and finally returns the
    value back when the system is integrated.

Guoqing Xu, SACT-01, Pusan, Nov.30th, 2004
19
Outline
SEL, East China Normal University
  • Introduction and Motivation
  • Our Techniques
  • --- Triple-C Model
  • --- JCMPL language
  • ---JCMP toolset
  • Analysis

Guoqing Xu, SACT-01, Pusan, Nov.30th, 2004
20
Performance Issues
SEL, East China Normal University
  • The cost in running JCMP system has two
    components
  • --- the runtime cost of type reflection.
  • --- the extra cost of invocation transfer
    through the connector.

Guoqing Xu, SACT-01, Pusan, Nov.30th, 2004
21
Experiment
SEL, East China Normal University
  • Construct a linked list with a given array of
    integers.
  • construct (int nodes)
  • Retrieve a node from the given node ID after the
    list is constructed.
  • retrieve (Integer index)

Guoqing Xu, SACT-01, Pusan, Nov.30th, 2004
22
Comparisons
SEL, East China Normal University
Guoqing Xu, SACT-01, Pusan, Nov.30th, 2004
23
Analysis Summary
SEL, East China Normal University
  • We found out that encapsulating the parameters of
    primitive types into objects took tremendous
    amount of time.
  • The cost of method invocation through connector
    was not obvious.
  • Since JCMP uses reflection, we suggest objects be
    used as data to be transferred, rather than
    primitive values.

Guoqing Xu, SACT-01, Pusan, Nov.30th, 2004
24
Future Work
  • JCMPL is only used at the design level, without
    supporting the dynamic description of runtime
    architecture.
  • Architectural styles should be considered.
  • The performance should be optimized in the way of
    having some other techniques to replace the Java
    reflection.

25
Conclusions
  • To link architecture with component building, we
    made
  • Triple-C model
  • JCMP toolset
  • --- an ADL JCMPL
  • --- JCMP system

26
Thank you
Write a Comment
User Comments (0)
About PowerShow.com