20-11-2012, 05:38 PM
Software Evolution based on Service-Oriented Requirement in
Internetware
1Software Evolution.pdf (Size: 567.06 KB / Downloads: 24)
Abstract.
Internet techniques have been changing tremendously due to globalising computing environment.
Open, dynamic, uncertain and uncontrollable features of internet environment have brought new challenges
and complexity to traditional software technologies and software running platform. In order to resolve these
new challenges, Internetware has been proposed as an emerging and new software paradigm, which should
be autonomous, cooperative, evolvable, and trustworthy. In this paper, the status and explorations of
Internetware paradigm will be discussed and analysed. According to the features of Internetware paradigm, a
service-oriented requirements approach of reengineering techniques on how to make software application
evolvable in Internet computing environment is proposed in the paper. Meanwhile, an example shows how to
use the proposed approach and framework is illustrated. The paper also discusses the ongoing research and
future research of Internetware design.
Introduction
Due to the rapid development of computer hardware and software, the demands and costs of software
changes are increasing continuously. How to perform software evolution [1] is now widely recognized as a
crucial aspect of building enterprise application.
The rapid development of Internet techniques has make the Internet Computing become an emerging
mainstream computing platform, on which new versions of software systems are developed, deployed and
executed. The large and different amount of entities and services has been seen through the various
approaches of deploying and integrating in the global computing environment. For example, Grid Computing
[2], Service Computing [3], Ubiquitous Computing [4] and Cloud Computing [5, 6].Specifically, in Cloud
Computing, software will be treated as service (Software as a Service) that runs on top of a virtualised
environment of resource pool. Actually, any of these services and paradigms cannot execute without the
Internet infrastructure. In these years, the fast development of the Internet has made it become a globally
ubiquitous infrastructure. Besides its basic connecting function, the Internet is also growing up into a
computer that has the ability of global and ubiquitous. Now, it not only consists of a tremendous number of
distributed computing devices, but also serves as a platform with much more computing resources for solving
more problems that are complicated.
Internetware
With the transformation to the open, dynamic and distributed computing environment, the traditional
software paradigms have become more unsuitable in environment setting and coordination operation and so
on. There already exist some related observations and proposals in this field. For example, Open Resource
Coalitions [10], Cyber-Physical Systems [11] and so on. However, a new software paradigm that can be more
suitable for these new requirements in open and dynamic computing environment is still needed.
Therefore, researchers in China proposed the Internetware that is constructed by a set of autonomous and
distributed software entities over the Internet, together with a set of various coordination connectors enabling
the operations among these entities in the Internet computing environment.
As shown in Fig. 1 [12], the Internetware software entities collaborate with other ones on demand.
Meanwhile, the se entities can also self-organise the application domain or community of interest. According
to the research in China, the development of Internetware can be recognised as continuous and various
distributed resources into the ordered software systems.
Reengineering Techniques For Internetware Applications
Software Reengineering
As a combination of reverse engineering and forward engineering, software-reengineering technology [13,
14] is a practical solution for the problem of evolving existing computing systems. Dynamic change
management of software systems has been largely performed by using ad hoc techniques that are normally
rather expensive and difficult in some cases. There are at least two advantages of using formal methods as the
foundation of software reengineering. First, formal design methods can help software developers to acquire
enough function description and original design of the system being reengineered, therefore greatly improving
the performance of the new system. Second, keeping autonomous and evolvable is one of the key goals of
reengineering. By applying and modify the traditional methods, it may be possible to keep autonomous
change in the process of reengineering. From the enterprise perspective, reengineering model will be
inevitable during the business process. The reduction of cost and time and the improvement of the software
system quality can make the enterprise develop faster than other ones.
The Proposed Approach
This paper will discuss the process of Internet entity evolution based on service-requirements. As shown
in Fig. 3, the chart describes how software systems evolve in Internetware when they receive the service
requirement from the enterprise and end users. In this chart, Internetware entity can be recognised as a type of
assistant service tools for development and deployment of software application and service. Firstly, end users
can send a calling signal to the services and applications through the Internet, the message response will keep
loop among users, applications, Internetware entity and Internet. Secondly, if there is nothing to change and
require, the requirement will be executed directly. Thirdly, if the end users need some new service or new
requirements for the software applications on the Web, due to most of the software service executed with the
help of the third entity, the developers just need to do some changes on these entities. Internetware have been
thought as the paradigm that collaborated the software service. Therefore, modifying and improving the
service in Internetware will resolve the updating issues. When the Internetware receives the updating message
called from the software application, it will consider adapt itself according to the new requirements. The
Internetware entity can be added a few function interfaces and management beforehand.
Case Study
To illustrate the proposed approach, an example project “Internet Voting Management System (IVMS) “,
is presented in this section. This system can be used as different item to vote on the emerging platform.
At the stages of system analysis and system design, use case is still a useful tool to capture user
requirements and system modelling. The use cases analysis involves reading and discussing with the potential
users of this system. Fig. 7 shows a use cases diagram for IVMS. In order to simplify the process, only parts
of use cases are displayed.
At the stage of system evolution, the IVMS will utilise the proposed approach to update itself while the
new voting item requirement. The system management will take the automatic and manual updating
operations according to new service requirement. Fig. 8 shows the system change based on new service
requirement. While users require a new voting item, the message will be packed into grammar glossary and
sent to manager, manager checks the service first, if it can be executed directly, the service can update
automatically, or the managers will change the codes according to the message come from user interface.
Conclusion
This paper introduces the Internetware paradigm for Internet computing environment, summarises the
features and challenges of the Internetware, and then describes the software reengineering techniques and
gives more robust reengineering process. The main achievements of the paper proposes how to utilise service
requirements analysis approach of software reengineering techniques to make sure that the structure and
function of the application in Internetware can meet the dynamic change in the Internet computing
environment.
Although a proposed approach to setting software evolution in Internetware, many issues need to be
addressed in the future. For instance, make the approach perfect; the research is quite recent and has some
distance from resulting into completely automatic process, the model design of Internetware, the operations
among the entities in the Internetware and the related experiments on different platforms are still needed.