Static verification of component composition in contextual composition frameworks

2008 
Contextual component frameworks, such as Enterprise JavaBeans (EJB), allow for components to specify boundary conditions for the runtime context. These conditions are satisfied at runtime by services of the underlying platform, thus ensuring that the context in which components run exhibits properties that allow them to operate correctly. Depending on how components call each other, it is possible that satisfying such conditions lead to problems such as reduced performance due to redundant service execution, or permanent errors (composition mismatches), due to incompatible boundary conditions. Currently, the semantics of these boundary conditions are expressed in natural language only, making it impossible to incorporate them into an automatic analysis tool. Furthermore, early understanding of how components call each other would be necessary, but it is currently difficult to achieve by means of a tool, as the method dispatch rules in a component system differ from the dispatch rules of the programming language(s) in which they were developed. We have developed a metamodel, $${\mathbb{M}}$$, for describing boundary conditions, an analysis method, $${\mathbb{A}}$$, and a static component-level call graph extraction method for EJB applications, CHA EJB . $${\mathbb{A}}$$ uses $${\mathbb{M}}$$ models to analyze inter-component call graphs, and thus detect problems such as composition mismatches or redundancies, thus allowing for remedial action to take place. We present $${\mathbb{M}},{\mathbb{A}}$$ and CHA EJB in this article, show that $${\mathbb{A}}$$ produces correct results, and describe a prototype analysis tool implementing the three, which we used to validate our approach on two popular EJB applications.
    • Correction
    • Source
    • Cite
    • Save
    • Machine Reading By IdeaReader
    26
    References
    7
    Citations
    NaN
    KQI
    []