Model driven software architecture evolution
information capture
Zhong LinHui
College of Computer and Information Engineering, Jiangxi Normal University
Nanchang, CHINA
E-mail: 1674428@qq.com
Abstract: Software Architecture often evolves to meet the new
requirement in component based software development. For
understanding the nature of SA evolution and improve its
quality, in this paper, we propose a model driven methodology
to record and analyze the software architecture evolution
information. That is, we record evolution information by using
Extended Component Description Language and Ontology,
and then implement a translation algorithm for mapping the
evolution information into the software configuration system.
Keywords: software architecture, software evolution, version
I. I
NTRODUCTION
Software evolution is the sequence of changes to a
software system over its lifetime, which was first identified
in the late 60s [11]; Also it is one of the essential
characteristics of the software. That is, software as the
reflection of the real world is the refining, embodiment and
curing of the knowledge, so if the real world is constantly
evolving, the software system can not be static. With the
new requirements and new technologies continue to emerge,
the software should be constantly upgraded and changed,
which is the software resolvability [1]. Software evolution
can be happened in the stages of development and
maintenance, by rrecording and analysis software evolution
information, it can help to understand the nature of software
evolution, and to lay the foundation for better control and
predict changes in the future.
On the other hand, the Component-Based Software
Development˄CBSD˅had get more and more attention and
been the core technology for software reuse. As a core asset
in CBSD, software architecture reflects the early design
decisions, through recording the evolution of software
architecture in the software life cycle, we can better
understand the nature of software architecture change
history and get a basic for improve the quality of software.
On the basis of our previous research work, in this paper
we use two kind of model to represent the evolution of
software, the first model is the extended component
description language to represent software evolution in
software architecture level, and the second model is the
component-based software configuration ontology model to
caption the software evolution at implementation level, then
we establish a mapping relationship between the evolution
of the software architecture and the component-based
software configuration management model, it can be
automatically implemented by our mapping algorithm based
on the support system, which captures and records the
software architecture change information. This article is
organized as follows. the problem is firstly given, in the
second ,we describes the extended component description
language xJBCDL, then the ontology model of the Jade Bird
Component-based software configuration management
model CBSCM is discussed, in which the software
architecture evolution is captured at the implementation
level. In Section 4, we proposed the automatic mapping
algorithm for mapping the xJBCDL to CBSCM the; finally,
related work and summarize is given.
II.
C
OMPONENT DESCRIPTION LANGUAGE SUPPORTING THE
SOFTWARE ARCHITECTURE EVOLUTION
The configuration in software architecture constitutes the
component and the connection relationship among them,
which can be expressed used composite component. The
internal structure of the composite component consist of a
set of closely collaborative member such as atomic
component or other composite component and the constraint
relationship between them, so the members of the composite
component corresponds to the component in the software
architecture, and constraint can be regarded as the connector
in software architecture. In our previous studies [2, 3], we
take the Jade Bird Component Description Language
(JBCDL) as an example to explain how to extend JBCDL to
support software architecture evolution, the grammar of the
extended JBCDL (xJBCDL) as follows:
The specification of extended component interface
Component_Interface ::= Component
<component_name> "<" <VersionInfo> ">" is
[ Provides: <Function_Spec_list>
Requires: <Function_Spec_list> ]|
[ Services: [dual] Service <service_name>{ , [dual]
Service <service_name> } ]
Description: <text_docu> semiformal
document| Formal document
End Component_Interface;
<VersionInfo>::= Version=<VersionNo>
The implementation specification of extend composite
component
[Compound_component::=
Reference:
2015 2nd International Conference on Information Science and Control Engineering
978-1-4673-6850-6/15 $31.00 © 2015 IEEE
DOI 10.1109/ICISCE.2015.76
313
2015 2nd International Conference on Information Science and Control Engineering
978-1-4673-6850-6/15 $31.00 © 2015 IEEE
DOI 10.1109/ICISCE.2015.76
313