74 research outputs found
Software (re)modularization: Fight against the structure erosion and migration preparation
Software systems, and in particular, Object-Oriented sys- tems are models of the real world that manipulate representa- tions of its entities through models of its processes. The real world is not static: new laws are created, concurrents offer new functionalities, users have renewed expectation toward what a computer should offer them, memory constraints are added, etc. As a result, software systems must be continuously updated or face the risk of becoming gradually out-dated and irrelevant [34]. In the meantime, details and multiple abstraction levels result in a high level of com- plexity, and completely analyzing real software systems is impractical. For example, the Windows operating system consists of more than 60 millions lines of code (500,000 pages printed double-face, about 16 times the Encyclopedia Universalis). Maintaining such large applications is a trade- off between having to change a model that nobody can understand in details and limiting the impact of possible changes. Beyond maintenance, a good structure gives to the software systems good qualities for migration towards modern paradigms as web services or components, and the problem of architecture extraction is very close to the classical remodularization problem
Quality-Centric Approach for Software Component Identification from Object-Oriented Code
International audienc
A Genetic Approach for Software Architecture Recovery from Object-Oriented Code
International audienc
An Architecture Description Language for Dynamic Service-Oriented Product Lines
International audienceReconciling Software Product Lines (SPL) and Service Oriented Architecture (SOA) allows modeling and implementing systems that systematically adapt their behavior in respond to surrounding context changes. Both approaches are complementary with regard to the variability and the dynamicity properties. Architecture Description Language (ADL), on the other hand, is recognized as an important element in the description and analysis of software properties. Different ADLs have been proposed in SOA or in SPL domains. Nevertheless, none of these ADLs allows describing variability and dynamicity features together in the context of service-oriented dynamic product lines. In this sense, our work attempts to describe the changing architecture of Dynamic Service-Oriented Product Lines (DSOPL). We propose an ADL that allows describing three types of information: architecture's structural elements, variability elements and system’s configuration. Furthermore, we introduce context elements on which service reconfiguration is based
Comparing and combining genetic and clustering algorithms for software component identification from object-oriented code.
International audienc
Software Architecture Recovery Process Based on Object-Oriented Source Code and Documentation
International audienc
Software Architecture Recovery Process Based on Object-Oriented Source Code and Documentation
International audienc
Reconfigurable Service-Based Architecture Based on Variability Description
International audienceSelf-adaptive systems evolve during system's execution against changes in operating environment. Such evolution and re-configuration can be specified at architecture level using a syntactical expressive language such as Architecture Description Languages (ADLs). Variability modeling is an excellent instrument to model variations of software artifacts and their behavior within a self-adaptive system. However , existing ADLs that support dynamic reconfiguration do not explicitly model variation points on which the recon-figuration is based. This constitutes a barrier for a flexible management of reconfiguration at architecture level as well as traceability issues between a dynamic description given at architectural level and its counterpart at other abstraction levels. In this paper, we propose a variant-rich service-oriented ADL that enables system to reconfigure itself at runtime in response to a context change. To this end, our modular ADL, called Dynamic Service-Oriented Product Lines Architecture Description Language (DSOPL-ADL), specifies dynamic reconfigurations at architecture level besides specifying structural, variability and context information. Among several specified variable configurations at architecture level, one concrete configuration is generated at runtime triggered by a context value. Furthermore, an implementation code can be automatically generated from the architectural description
Mining reusable software components from object-oriented source code of a set of similar software
International audienceOne of the most important approaches that support software reuse is Component Based Software Engineering (CBSE). Nevertheless the lack of component libraries is one of the major obstacles to widely use CBSE in the industry. To help filling this need, many approaches have been proposed to identify components from existing object-oriented software. These approaches identify components from singular software. Therefore the reusability of these components may be limited. In this paper, we propose an approach to mine reusable components from a set of similar object-oriented software, which were developed in the same domain, ideally by the same developers. Our goal is to enhance the reusability of mined components compared to those mined from single software. In order to validate our approach, we have applied it onto two open source Java applications of different sizes; small and large-scale ones. The results show that the components mined from the analysis of similar software are more reusable than those which are mined from single ones
- …