There exists a consensus that software architecture (SA) plays a central role in software development and also plays an important role in the lifecycle phases after software delivery. Particularly, SA can be used to r...There exists a consensus that software architecture (SA) plays a central role in software development and also plays an important role in the lifecycle phases after software delivery. Particularly, SA can be used to reduce the great difficulty and cost of software maintenance and evolution. In this paper, runtime software architecture (RSA) based on reflective middleware is proposed to support architecture-based software maintenance and evolution. In this approach, the actual states and behaviors of the runtime system can be observed and manipulated in a consistent and understandable way through its architectural view. Being an accurate, up-to-date, semantic and operable view of SA, RSA looks components and connectors as white-box entities to accurately and thoroughly describe the runtime system, extends traditional architecture description languages to formally describe itself and naturally inherit plentiful semantics in traditional views of SA, and utilizes reflective middleware to observe and manipulate the runtime system. In order to demonstrate the feasibility of this approach, a reflective J2EE application server, called PKUAS, is implemented to observe and manipulate the components, connectors and constraints in the runtime system. Finally, the performance evaluation proves that making RSA explicit and operable at runtime has little effect on the runtime system.展开更多
Reflective middleware opens up the implementation details of middleware platform and applications at runtime for improving the adaptability of middleware-based systems. However, such openness brings new challenges to ...Reflective middleware opens up the implementation details of middleware platform and applications at runtime for improving the adaptability of middleware-based systems. However, such openness brings new challenges to access control of the middleware-based systems. Some users can access the system via reflective entities, which sometimes cannot be protected by access control mechanisms of traditional middleware. To deliver high adaptability securely, reflective middleware should be equipped with proper access control mechanisms for potential access control holes induced by reflection. One reason of integrating these mechanisms in reflective middleware is that one goal of reflective middleware is to equip applications with reflection capabilities as transparent as possible. This paper studies how to design a reflective J2EE middleware -- PKUAS with access control in mind. At first, a computation model of reflective system is built to identify all possible access control points induced by reflection. Then a set of access control mechanisms, including the wrapper of MBeans and a hierarchy of Java class loaders, are equipped for controlling the identified access control points. These mechanisms together with J2EE access control mechanism form the access control framework for PKUAS. The paper evaluates the security and the performance overheads of the framework in quality and quantity.展开更多
As a new software paradigm evolved by the Internet, Internetware brings many challenges for the traditional software development methods and techniques. Though architecture-based component composition (ABC) approach...As a new software paradigm evolved by the Internet, Internetware brings many challenges for the traditional software development methods and techniques. Though architecture-based component composition (ABC) approach is originated in the traditional software paradigm, it supports the engineering of Internetware effectively due to its philosophy, rationales and mechanisms. ABC has three major contributions to the en- gineering of Internetware in detail. First, the feature oriented domain modeling method can structure the "disordered" "software entities" to "ordered Internetware" bottom-up in the problem space. Second, the architecture centric design and analysis method can support the development of self-adaptive Internetware. Third, the component operating platform is a reflective and self-adaptive middleware that not only provides Internetware with a powerful and flexible runtime infrastructure but also enables the self-adaptation of the structure and individual entities of Internetware.展开更多
文摘There exists a consensus that software architecture (SA) plays a central role in software development and also plays an important role in the lifecycle phases after software delivery. Particularly, SA can be used to reduce the great difficulty and cost of software maintenance and evolution. In this paper, runtime software architecture (RSA) based on reflective middleware is proposed to support architecture-based software maintenance and evolution. In this approach, the actual states and behaviors of the runtime system can be observed and manipulated in a consistent and understandable way through its architectural view. Being an accurate, up-to-date, semantic and operable view of SA, RSA looks components and connectors as white-box entities to accurately and thoroughly describe the runtime system, extends traditional architecture description languages to formally describe itself and naturally inherit plentiful semantics in traditional views of SA, and utilizes reflective middleware to observe and manipulate the runtime system. In order to demonstrate the feasibility of this approach, a reflective J2EE application server, called PKUAS, is implemented to observe and manipulate the components, connectors and constraints in the runtime system. Finally, the performance evaluation proves that making RSA explicit and operable at runtime has little effect on the runtime system.
基金supported by the National Basic Research 973 Program of China under Grant No. 2005CB321805the National High-Tech Research and Development 863 Program of China under Grant No. 2007AA010301the National Natural Science Foundation of China under Grant No. 60528006 and the Fok Ying Tung Education Foundation.
文摘Reflective middleware opens up the implementation details of middleware platform and applications at runtime for improving the adaptability of middleware-based systems. However, such openness brings new challenges to access control of the middleware-based systems. Some users can access the system via reflective entities, which sometimes cannot be protected by access control mechanisms of traditional middleware. To deliver high adaptability securely, reflective middleware should be equipped with proper access control mechanisms for potential access control holes induced by reflection. One reason of integrating these mechanisms in reflective middleware is that one goal of reflective middleware is to equip applications with reflection capabilities as transparent as possible. This paper studies how to design a reflective J2EE middleware -- PKUAS with access control in mind. At first, a computation model of reflective system is built to identify all possible access control points induced by reflection. Then a set of access control mechanisms, including the wrapper of MBeans and a hierarchy of Java class loaders, are equipped for controlling the identified access control points. These mechanisms together with J2EE access control mechanism form the access control framework for PKUAS. The paper evaluates the security and the performance overheads of the framework in quality and quantity.
基金This work was supported by the National Basic Research Program of China (973) (Grant No. 2002CB312003) the National Natural Science Foundation of China (Grant Nos. 60233010, 90612011, 90412011, 60403030, 60303004)the Natural Science Foundation of Beijing (Grant No. 4052018).
文摘As a new software paradigm evolved by the Internet, Internetware brings many challenges for the traditional software development methods and techniques. Though architecture-based component composition (ABC) approach is originated in the traditional software paradigm, it supports the engineering of Internetware effectively due to its philosophy, rationales and mechanisms. ABC has three major contributions to the en- gineering of Internetware in detail. First, the feature oriented domain modeling method can structure the "disordered" "software entities" to "ordered Internetware" bottom-up in the problem space. Second, the architecture centric design and analysis method can support the development of self-adaptive Internetware. Third, the component operating platform is a reflective and self-adaptive middleware that not only provides Internetware with a powerful and flexible runtime infrastructure but also enables the self-adaptation of the structure and individual entities of Internetware.