The Experts below are selected from a list of 99258 Experts worldwide ranked by ideXlab platform
Zakarea Al-shara - One of the best experts on this subject based on the ideXlab platform.
-
Migrating Object Oriented Applications into Component-Based ones
2016Co-Authors: Zakarea Al-sharaAbstract:Large object-oriented applications have complex and numerousdependencies, and usually do not have explicitsoftware Architectures. Therefore they are hard to maintain, and parts of themare difficult to reuse. Component-based development paradigm emergedfor improving these aspects and for supporting effectivemaintainability and reuse. It provides better understandabilitythrough a high-level Architecture View of the application. Thus, migrating object-oriented applications to component-based ones will contribute to improve these characteristics, and support software evolution and future maintenance.In this dissertation, we propose an approach to automatically transform object-oriented applications tocomponent-based ones. More particularly, the input of the approach isthe result provided by software Architecture recovery: acomponent-based Architecture description. Then, our approachtransforms the object-oriented source code in order to producedeployable components. We focus on transforming object-oriented dependencies into interface-based ones. Moreover, we move from the concept of object to the concept of component instance. Furthermore, we provide a declarative transformation approach using domain-specific languages. We demonstrate our approach on many well-known component models.
-
Migrating Large Object-Oriented Applications into Component-Based Ones
Proceedings of the 2015 ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences - GPCE 2015, 2015Co-Authors: Zakarea Al-shara, Abdelhak-djamel Seriai, Hinde Lilia Bouziane, Christophe Dony, Chouki Tibermacine, Anas ShatnawiAbstract:Large object-oriented applications have complex and numerousdependencies, and usually do not have explicitsoftware Architectures. Therefore they are hard to maintain, and parts of themare difficult to reuse. Component-based development paradigm emergedfor improving these aspects and for supporting effectivemaintainability and reuse. It provides better understandabilitythrough a high-level Architecture View of the application. Thus, migrating object-oriented applications to component-based ones will contribute to improve these characteristics, and support software evolution and future maintenance.In this dissertation, we propose an approach to automatically transform object-oriented applications tocomponent-based ones. More particularly, the input of the approach isthe result provided by software Architecture recovery: acomponent-based Architecture description. Then, our approachtransforms the object-oriented source code in order to producedeployable components. We focus on transforming object-oriented dependencies into interface-based ones. Moreover, we move from the concept of object to the concept of component instance. Furthermore, we provide a declarative transformation approach using domain-specific languages. We demonstrate our approach on many well-known component models.
-
Migrating Large Object-Oriented Applications into Component-Based Ones
2015Co-Authors: Zakarea Al-shara, Abdelhak-djamel Seriai, Hinde Lilia Bouziane, Christophe Dony, Chouki Tibermacine, Anas ShatnawiAbstract:Large object-oriented applications have complex and numerous dependencies , and usually do not have explicit software Architectures. Therefore they are hard to maintain, and parts of them are difficult to reuse. Component-based development paradigm emerged for improving these aspects and for supporting effective maintainability and reuse. It provides better understandability through a high-level Architecture View of the application. Thereby migrating object-oriented applications to component-based ones will contribute to improve these characteristics (maintainability and reuse). In this paper, we propose an approach to automatically transform object-oriented applications to component-based ones. More particularly, the input of the approach is the result provided by software Architecture recovery: a component-based Architecture description. Then, our approach transforms the object-oriented source code in order to produce deployable components. We focus in this paper on the transformation of source code related to instantiation and inheritance dependencies between classes that are in different components. We experimented the proposed solution in the transformation of a collection of Java applications into the OSGi framework. The experimental results are discussed in this paper.
Michael W Godfrey - One of the best experts on this subject based on the ideXlab platform.
-
the build time software Architecture View
International Conference on Software Maintenance, 2001Co-Authors: Michael W GodfreyAbstract:Research and practice in the application of software Architecture has reaffirmed the need to consider software systems from several distinct points of View. Previous work by P. Kruchten (1995) and C. Hofmeister et al. (2000) suggests that four or five points of View may be sufficient: the logical View (i.e., the domain object model), the (static) code View, the process/concurrency View, the deployment/execution View, plus scenarios and use-cases. We have found that some classes of software systems exhibit interesting and complex build-time properties that are not explicitly addressed by previous models. In this paper, we present the idea of build-time architectural Views. We explain what they are, how to represent them, and how they fit into traditional models of software Architecture. We present three case studies of software systems with interesting build-time architectural Views, and show how modelling their build-time Architectures can improve developer understanding of what the system is and how it is created. Finally, we introduce a new architectural style, the "code robot" that is often present in systems with interesting build-time Views.
-
ICSM - The build-time software Architecture View
Proceedings IEEE International Conference on Software Maintenance. ICSM 2001, 1Co-Authors: Michael W GodfreyAbstract:Research and practice in the application of software Architecture has reaffirmed the need to consider software systems from several distinct points of View. Previous work by P. Kruchten (1995) and C. Hofmeister et al. (2000) suggests that four or five points of View may be sufficient: the logical View (i.e., the domain object model), the (static) code View, the process/concurrency View, the deployment/execution View, plus scenarios and use-cases. We have found that some classes of software systems exhibit interesting and complex build-time properties that are not explicitly addressed by previous models. In this paper, we present the idea of build-time architectural Views. We explain what they are, how to represent them, and how they fit into traditional models of software Architecture. We present three case studies of software systems with interesting build-time architectural Views, and show how modelling their build-time Architectures can improve developer understanding of what the system is and how it is created. Finally, we introduce a new architectural style, the "code robot" that is often present in systems with interesting build-time Views.
Anas Shatnawi - One of the best experts on this subject based on the ideXlab platform.
-
Migrating Large Object-Oriented Applications into Component-Based Ones
Proceedings of the 2015 ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences - GPCE 2015, 2015Co-Authors: Zakarea Al-shara, Abdelhak-djamel Seriai, Hinde Lilia Bouziane, Christophe Dony, Chouki Tibermacine, Anas ShatnawiAbstract:Large object-oriented applications have complex and numerousdependencies, and usually do not have explicitsoftware Architectures. Therefore they are hard to maintain, and parts of themare difficult to reuse. Component-based development paradigm emergedfor improving these aspects and for supporting effectivemaintainability and reuse. It provides better understandabilitythrough a high-level Architecture View of the application. Thus, migrating object-oriented applications to component-based ones will contribute to improve these characteristics, and support software evolution and future maintenance.In this dissertation, we propose an approach to automatically transform object-oriented applications tocomponent-based ones. More particularly, the input of the approach isthe result provided by software Architecture recovery: acomponent-based Architecture description. Then, our approachtransforms the object-oriented source code in order to producedeployable components. We focus on transforming object-oriented dependencies into interface-based ones. Moreover, we move from the concept of object to the concept of component instance. Furthermore, we provide a declarative transformation approach using domain-specific languages. We demonstrate our approach on many well-known component models.
-
Migrating Large Object-Oriented Applications into Component-Based Ones
2015Co-Authors: Zakarea Al-shara, Abdelhak-djamel Seriai, Hinde Lilia Bouziane, Christophe Dony, Chouki Tibermacine, Anas ShatnawiAbstract:Large object-oriented applications have complex and numerous dependencies , and usually do not have explicit software Architectures. Therefore they are hard to maintain, and parts of them are difficult to reuse. Component-based development paradigm emerged for improving these aspects and for supporting effective maintainability and reuse. It provides better understandability through a high-level Architecture View of the application. Thereby migrating object-oriented applications to component-based ones will contribute to improve these characteristics (maintainability and reuse). In this paper, we propose an approach to automatically transform object-oriented applications to component-based ones. More particularly, the input of the approach is the result provided by software Architecture recovery: a component-based Architecture description. Then, our approach transforms the object-oriented source code in order to produce deployable components. We focus in this paper on the transformation of source code related to instantiation and inheritance dependencies between classes that are in different components. We experimented the proposed solution in the transformation of a collection of Java applications into the OSGi framework. The experimental results are discussed in this paper.
Genoveva Vargas-solar - One of the best experts on this subject based on the ideXlab platform.
-
Web2MexADL: Discovery and Maintainability Verification of Software Systems Architecture
2012 16th European Conference on Software Maintenance and Reengineering, 2012Co-Authors: Juan Castrejón, Rafael Lozano, Genoveva Vargas-solarAbstract:This paper introduces Web2MexADL, a tool that can discover architectural documentation for web systems, by analyzing properties and relationships of their source code artifacts. This analysis is based on the use of probabilistic methods executed through machine learning tools. The resulting documentation includes an Architecture Description Language (ADL) document and a Scalable Vectors Graphic (SVG) file depicting an Architecture View of the analyzed system. Finally, the resulting ADL document can be used to verify the maintainability of the system under analysis, by taking advantage of the MexADL approach.
-
Generation of an Architecture View for Web Applications using a Bayesian Network Classifier
2012Co-Authors: Juan-carlos Castrejon-castillo, Rafael Lozano, Genoveva Vargas-solarAbstract:A recurring problem in software engineering is the correct definition and enforcement of an Architecture that can guide the development and maintenance processes of software systems. This is due in part to a lack of correct definition and maintenance of architectural documentation. In this paper, an approach based on a bayesian network classifier is proposed to aid in the generation of an Architecture View for web applications developed according to the Model View Controller (MVC) architectural pattern. This View is comprised of the system components, their inter-project relations and their classification according to the MVC pattern. The generated View can then be used as part of the system documentation to help enforce the original architectural intent when changes are applied to the system. Finally, an implementation of this approach is presented for Java based-systems, using training data from popular web development frameworks.
-
CONIELECOMP - Generation of an Architecture View for web applications using a bayesian network classifier
CONIELECOMP 2012 22nd International Conference on Electrical Communications and Computers, 2012Co-Authors: Juan Castrejón, Rafael Lozano, Genoveva Vargas-solarAbstract:A recurring problem in software engineering is the correct definition and enforcement of an Architecture that can guide the development and maintenance processes of software systems. This is due in part to a lack of correct definition and maintenance of architectural documentation. In this paper, an approach based on a bayesian network classifier is proposed to aid in the generation of an Architecture View for web applications developed according to the Model View Controller (MVC) architectural pattern. This View is comprised of the system components, their inter-project relations and their classification according to the MVC pattern. The generated View can then be used as part of the system documentation to help enforce the original architectural intent when changes are applied to the system. Finally, an implementation of this approach is presented for Java based-systems, using training data from popular web development frameworks.
Hossein Saiedian - One of the best experts on this subject based on the ideXlab platform.
-
AVDL: a highly adaptable Architecture View description language
Journal of Systems and Software, 2006Co-Authors: Jungwoo Ryoo, Hossein SaiedianAbstract:Architectural Views are rapidly gaining a momentum as a vehicle to document and analyze software Architectures. Despite their popularity, there is no dedicated language flexible enough to support the specifications of an unbound variety of Views including those preexisting and needing to be newly created on demand. In this paper, we propose a novel View description language intended for specifying any arbitrary Views, using a uniform set of conventions for constructing Views and how to use them. The highly adaptable nature of the new language results from its built-in mechanisms to define different types of Views in a systematic and repeatable manner.
-
An xml-based software Architecture View description language (avdl)
2005Co-Authors: Hossein Saiedian, Jungwoo RyooAbstract:Software Architecture is a subfield of software engineering that studies the structure or structures of a software system, having a direct impact on long-term, global stakeholder concerns such as performance, security, reliability, modifiability, usability, etc. When specified simultaneously, the details of many different structures comprising a software Architecture are often overwhelming and can lead to information overload. To address this problem, the software Architecture research community has relied on a concept called a View. An architectural View is a representation of a software Architecture in terms of a tractable and related set of stakeholder concerns. Despite consensus on its importance as a vehicle to specify and analyze software Architectures in a manageable manner, the current practice of creating a new View type, defining it, and maintaining the integrity (especially, consistency) of its instances remains predominantly ad-hoc. This informal treatment of Views is problematic because it introduces ambiguity and creates an information gap among stakeholders who will arrive at disparate interpretations for a supposedly same View. One way of tackling the deficiencies of the existing View modeling approaches is to provide rigorous processes and standard artifacts through which one can unambiguously specify a View whose relationship to other Views can be explicitly traced and formally defined. The author proposes a comprehensive View management framework including a novel meta-taxonomy of Views and a new eXtensible Markup Language (XML)-based language referred to as Architecture View Description Language (AVDL) devoted to precisely specifying architectural Views. Using the metamodel of AVDL, its companion process, and the Object Constraint Language (OCL), the author shows how to systematically create and formally define consistent architectural View types that leave little room for misinterpretation. Furthermore, the author discusses how AVDL specifications can be serialized into XML documents that are ideal for automatic processing (using a vast reservoir of XML-related standards). In particular, the author focus on how to enforce and validate consistency among multiple View specifications taking advantage of currently available XML and OCL tools.