Abstract:
Abstract:As an important means to control the complexity of software systems, to improve software quality and to support software development and software reuse, software architecture has become a mainstream research field in the software engineering community. Now, software architecture research not only focuses on the design phase, but also covers every phase of software lifecycle. This paper surveys the update-to-date research and practice of software architecture from a software lifecycle’s perspective, and discusses the potential research directions of software architecture.
HU Hai- Yang , Lü Jian , MA Xiao-Xing , TAO Xian-Ping
Abstract:Software architecture (SA) provides a high-level abstraction for component-based software development. It’s important to specify the interaction behavior of the components, verify the compatibility among the components, and ensure the deadlock-freedom of the composition configuration at the architectural level. Many component-based software architectures are using object-oriented paradigm, in which component composition is implemented by method invocations over component interfaces. Concentrating on the component composition in this kind of SA, this paper formally specifies the components and their interaction behaviors, distinguishes the caller’s behavior from the callee’s in interaction, and then presents a set of rules to verify the behavioral compatibility on the interfaces between the components composed together. Finally, an example of e-commerce application is presented to illustrate the feasibility and pertinence of the approach.
Abstract:Existing software development approaches construct component model in an unstructured and informal way, and the dependencies among components are implicit and lack rigorous semantic. They don’t support top-down component reuse effectively. This paper tries to address these problems by using category theory to define the links between components, so that the links between components and the link compositions have rigorous meaning. The morphism composition is used to trace the relationships between components at different abstraction levels, and the architecture design pattern is used to define component composition and constrains precisely. Category theory supports the diagrammatic representation of component model that visualizes the relationships between components and the structural feature. The constructed component model is understandable, traceable, and hence reusable. Formal component modeling approach is suitable to the software development for reuse.
XIONG Hui-Min , YING Shi , YU Li-Juan , ZHANG Tao
Abstract:A critical issue for complex software architecture design is the modeling and analysis of connectors. This paper argues for an approach to composite reuse of connectors based on reflection. To support this notion a set of mata-operations of connectors composition steming from the operations between processes in CSP have been identified, and the CSP semantics of composite connector are also provided. As it will be shown that it provides mechanisms for designing connectors in an incremental way, and can be analysed and checked automatically owing to the formal basis.
PENG Xin , ZHAO Wen-Yun , LIU Yi-Ming
Abstract:DSSA (domain-specific software architecture) is essential for the development of applications in the same domain. Feature-based domain model makes the mapping from domain requirements to DSSA possible. In this paper, ontology is introduced as the representation basis for feature models, and feature ontology of a domain is also taken as the semantic description basis for business components in the domain. Then a feature model and component semantics based method for conceptual architecture design are proposed. Commonality, variability, binding time, structural relations, and dependencies are taken into account in the method. The component semantics act as the transition from feature to conceptual component design. The methods have been implemented in the ontology-based feature modeling tool and feature-based architecture development tool, and exhibit effective supports for domain development.
Abstract:The design of software architecture plays an important role in a software process. In the design phase, the non-functional feature evaluation of software architecture would contribute a lot in providing high quality software products. Modeling patterns, which is an extension of UML (unified modeling language), are brought forward for software non-functional feature evaluation in this paper. Furthermore, an example, in which modeling pattern “AvailabilityChain” is used to evaluate the availability of software architecture “1 Message Distributor—n Message Processors”, is given to illustrate the application of modeling patterns. Moreover, to support the application of modeling patterns, “Modeling Pattern Knowledge-Base”, in which modeling patterns and reference values of tags used by each modeling pattern are managed, is involved. UML-based Patterns and Modeling Pattern Knowledge base will simplify the evaluation of software architecture in the software process and contribute a lot in providing high quality software products.
ZHANG Yong , HUANG Tao , WEI Jun , CHEN Ning-Jiang
Abstract:This paper analyzes the effect of Container style middleware on the structure and performance of Component-based system based on architectural patterns, and proposes an approach integrating Container style middleware components and their interaction relation into the application UML (unified modeling language) models. The performance model derived from the integrated UML models can reflect the impact of middleware. So, analysts do not have to know the internal details of middleware at performance modeling. The architectural pattern-based method can be extended to deal with various style middlewares. In the paper, the proposed approach is illustrated by a case study.
HUANG Shuang-Xi , FAN Yu-Shun , ZHAO Yu
Abstract:The generic adaptive software architecture style is studied. Through the analysis of the basic characteristics of adaptive software architecture, the generic framework for adaptive software architecture is extracted. The integrated reference model of adaptive software architecture (ASA-IRM) is proposed based on multiview modelling theory. The rules of model mapping and evolution in ASA-IRM are discussed. The algorithm of model mapping consistency is proposed based on metamodelling and graph transformation theories. Finally, an integrated support environment for ASA-IRM is developed. The adaptive software architecture can be used in the development of complex software system, especially in open, networked environment.
LI Chang-Yun , LI Gan-Sheng , HE Pin-Jie
Abstract:A dynamic architecture description must provide a dynamic behavior specification of software system. Based on the high-order multi-type π calculus theory, a dynamic architecture description language D-ADL is proposed. In D-ADL, components, connectors, and architecture are modeled as the ‘Abstraction’ type of high-order π calculus; system behavior is modeled as the ‘Process’; and the interaction point between component and connector is modeled as the ‘Channel’. D-ADL separates the dynamic behavior expressed in an explicit way from the computation behavior, which is helpful to edit and understand the changing logic in system. The result of the dynamic behavior can be beforehand deduced because this behavior is formalized as the high-order ‘Process’. On the basis of D-ADL specification, rules about applying the theory of behavior equivalence and behavior simulation in π calculus to online evolution and architecture refinement are proposed. How D-ADL can be used is illustrated through a case study.
YU Ping , MA Xiao-Xing , Lü Jian , TAO Xian-Ping
Abstract:An increasingly important requirement for software systems is the capability to evolve dynamically according to the changes of computing environment and users’ need during runtime. In this paper, a dynamic software architecture oriented approach is proposed to support online evolution. Notably, architecture information is reified as explicit and manipulable entities to organize a runtime architecture meta-model, which is causally connected to software implementation and specification. By using reflection, the evolved architecture meta-model modifies running system, and updates specification simultaneously. The well-defined architecture meta-model supervises all evolutionary behaviors to ensure system consistency, integrity, and evolution traceability. Based on this model, a visualized integrated development platform entitled Artemis-ARC is also successfully implemented. It supports component and service design, development and assembly, especially dynamic evolution. Furthermore, a simple application case is developed with Artemis-ARC to illustrate the effect of online evolution.
LI Gang , ZHAO Zhuo-Feng , HAN Yan-Bo , LIANG Ying
Abstract:In enterprise information systems and e-government systems, the problems caused by the changes of heterogeneous distributed resources and requirements are becoming more and more serious. How to make an application accommodate to these changes rapidly has become a hot research topic. This paper presents an adaptive service-oriented software framework, named as CAFISE (convergent approach for information system evolution) Framework for supporting business-end programming, and a CAFISE Framework based development method for service-oriented adaptive software. The CAFISE Framework enables to encapsulate the heterogeneous resources into business services and provides strong supports for open and dynamic service-oriented software architecture. Beginning with analyzing the environment factors that affect an application, the CAFISE Framework based development method supports to design software architecture according to the changes that the application will adapt to, with quality feature driven architecture analysis, and facilitates the just-in-time development and evolution of service oriented applications by architecture based business-end programming. The actual applications and experimental results show that the service-oriented enterprise information systems and e-government systems developed with the framework and the method of this paper can accommodate better to the changes of heterogeneous resource and business requirements, and can continuously evolve with lower costs.
ZHANG Wen-Bo , CHEN Ning-Jiang , WEI Jun , HUANG Tao
Abstract:The first-come first-served scheduling framework adopted by most application servers has been proved to be inappropriate for dealing with unexpected overload for Internet-oriented Web applications. Considering the deficiency of the existing work from the architecture view, this paper presents a scheduling framework based on the notion of QoS benefits, which contains several cooperating components to guarantee the QoS requirements of the applications. The QoS benefits used to evaluate the QoS guarantee provided by the server according to the QoS requirements of the applications and the resource management based on the QoS benefits will help to provide a better QoS guarantee. Experimental results confirm the efforts on the OnceAS application Server.
YANG Jie , HUANG Gang , CHEN Xiang-Ping , MEI Hong , CHEUNG Shing-Chi
Abstract:Composite components are components that have internal structures. Supported by almost all architecture description languages, composite components can organize architectural models in a hierarchical structure. However, most analysis and verification tools for SA model do not support composite components, neither do most component frameworks. Therefore, it is necessary to flatten the hierarchical SA model so that SA can play a more important role in practice. The most challenging issue in the flattening is how to assure the consistency between architectural models with and without composite components. In this paper, a formal definition of the consistency of an SA model is presented. Based on that, principles and guidelines for consistency assurance in flattening a hierarchical SA model are provided. Their feasibility is exemplified by a componentized email client.
LI Hai-Bo , ZHAN De-Chen , XU Xiao-Fei
Abstract:Nowadays, SA (software architecture) and CBSD (component-based software development), have shown great advantage in software development. CBSD is a successfully applied down-top methodology to software development; whereas SA still lacks a top-down component composition methodology, especially in process component. Based on workflow and the background of Web application, a component composition method is investigated. Being started with the key elements of business process, such as business object, control flow and data flow, characteristics and interactions between them are formalized. A workflow engine based SA of process component composition is proposed. Except for the control flow, the SA can deal with data flow between business activities, and provide a reference to others in applying archive workflow to component composition.
LIU Jing , HE Ji-Feng , MIAO Huai-Kou
Abstract:At the core of MDD (model driven development) are the concepts of model and its transformation and refinement. Unified modeling language (UML) is selected by object management group (OMG) as a standard modeling language and model driven architecture (MDA) is constructed on it. However, UML models are not precisely described, especially in semantics. Thus the models developed in different phases or constructed in different views are not easily to be integrated together in MDA. In this paper, based on Hoare and He’s unifying theories of programming (UTP), a method is proposed to combine the refinement calculus of object systems (rCOS) with UML is proposed to increase the precision and transformation ability of the models. Models at different abstract levels and different views are constructed and integrated together to form a unified modeling system.
WANG Xue-Bin , WANG Huai-Min , WU Quan-Yuan , SHI Dian-Xi
Abstract:Model transformations are the core and research focus of MDA(model driven architecture). Nowadays, there are many model transformation approaches and tools, and the heterogeneity of them causes that the model transformation code can’t be reused easily and the cost of studying and using model transformation increases. To eliminate these shortcomings, inspired by model weaving technique, this paper proposes a QVT(model query/view/transformation)-based model transformation weaving framework named QMTW(QVT-based model transformation weaving framework). The conception, semantics, metamodel and syntax of QMTW added with a mapping from itself to the QVT Relation language are subscribed. A study case is provided to show how developers can use and take advantage of QMTW. The approach promotes the abstraction layer of model transformations, unites other model transformation languages, and supports QVT specification. So it eliminates the heterogeneity of model transformation partly. It is simple, specification-based and extensible.
Abstract:Single data replica management strategy can not meet the complexity and diverseness in data grid. This paper proposes a dynamic self-adapting replica management architecture (DSA-RM) driven by software architecture (SA). In DSA-RM, architecture descriptions are shared by the whole grid environment as a system kernel to schedule various replica management components that are adapted to various application and VO in data grid. By the abstraction of DSA-RM, the paper describes the formal definitions of replica management components and discusses the dynamic self-adapting regulation of component evolution and multiplication in dynamic environment. By these regulations, the DSA-RM’s framework and algorithms of multiplication are designed. Experimental results show that the DSA-RM can effectively promote the performance of grid system. Finally, the project of applying the DSA-RM on Shanghai medical data grid is introduced.
HU Chun-Ming , HUAI Jin-Peng , WO Tian-Yu , LEI Lei
Abstract:Providing non-trivial QoS is one of the primary goals of the grid computing. Since extensive efforts have been made on the development of basic grid components such as execution framework and resource brokering system, there is still a great challenge to build up a QoS-enabled grid architecture for today’s service grid. In this paper, a QoS-enabled service grid architecture (QESA) is proposed; the concept of differential guaranteed service is introduced to provide QoS guarantee at service layer; a QoS-aware service discovery and scheduling mechanism are designed to provide QoS guarantee for grid jobs. The performance of the QESA and related mechanisms has been evaluated by a grid application called AREM. The results show that QESA can provide QoS guarantee to grid jobs.
CHEN Zhen-Bang , WANG Ji , DONG Wei , QI Zhi-Chang
Abstract:Service interface description is one of the most important problems in service-oriented software architecture, and formal description methods are considered to be a promising approach for service interfaces. However, the existing interface models do not support transaction information description. By extending the model of Web Service Interface, this paper presents an interface model that can capture transaction information by means of fault handling and compensation. In this model, service interfaces can be specified at the signature, conversation and protocol levels. At each level, the compatibility and substitutivity are described formally. Furthermore, the interface specifications and corresponding verification methods are also presented at the conversation and protocol levels. The model supports precise transaction information description as well as flexible and effective verification for interface specifications.