Domain Architecture a Design Framework for System Development and Integration
Total Page:16
File Type:pdf, Size:1020Kb
New Jersey Institute of Technology Digital Commons @ NJIT Dissertations Electronic Theses and Dissertations Fall 1-31-1999 Domain architecture a design framework for system development and integration Vassilka D. Kirova New Jersey Institute of Technology Follow this and additional works at: https://digitalcommons.njit.edu/dissertations Part of the Computer Sciences Commons Recommended Citation Kirova, Vassilka D., "Domain architecture a design framework for system development and integration" (1999). Dissertations. 985. https://digitalcommons.njit.edu/dissertations/985 This Dissertation is brought to you for free and open access by the Electronic Theses and Dissertations at Digital Commons @ NJIT. It has been accepted for inclusion in Dissertations by an authorized administrator of Digital Commons @ NJIT. For more information, please contact [email protected]. Copyright Warning & Restrictions The copyright law of the United States (Title 17, United States Code) governs the making of photocopies or other reproductions of copyrighted material. Under certain conditions specified in the law, libraries and archives are authorized to furnish a photocopy or other reproduction. One of these specified conditions is that the photocopy or reproduction is not to be “used for any purpose other than private study, scholarship, or research.” If a, user makes a request for, or later uses, a photocopy or reproduction for purposes in excess of “fair use” that user may be liable for copyright infringement, This institution reserves the right to refuse to accept a copying order if, in its judgment, fulfillment of the order would involve violation of copyright law. Please Note: The author retains the copyright while the New Jersey Institute of Technology reserves the right to distribute this thesis or dissertation Printing note: If you do not wish to print this page, then select “Pages from: first page # to: last page #” on the print dialog screen The Van Houten library has removed some of the personal information and all signatures from the approval page and biographical sketches of theses and dissertations in order to protect the identity of NJIT graduates and faculty. ASAC OMAI ACIECUE A ESIG AMEWOK O SYSEM EEOME A IEGAIO y assika Kioa The ever growing complexity of software systems has revealed many short- comings in existing software engineering practices and has raised interest in architecture-driven software development. A system's architecture provides a model of the system that suppresses implementation detail, allowing the architects to concentrate on the analysis and decisions that are most critical to structuring the system to satisfy its requirements. Recently, interests of researchers and practi- tioners have shifted from individual system architectures to architectures for classes of software systems which provide more general, reusable solutions to the issues of overall system organization, interoperability, and allocation of services to system components. These generic architectures, such as product line architectures and domain architectures, promote reuse and interoperability, and create a basis for cost effective construction of high-quality systems. Our focus in this dissertation is on domain architectures as a means of development and integration of large-scale, domain-specific business software systems. Business imperatives, including flexibility, productivity, quality, and ability to adapt to changes, have fostered demands for flexible, coherent and enterprise- wide integrated business systems. The components of such systems, developed separately or purchased off the shelf, need to cohesively form an overall compu- tational environment for the business. The inevitable complexity of such integrated solutions and the highly-demanding process of their construction, management, and evolution support require new software engineering methodologies and tools. Domain architectures, prescribing the organization of software systems in a business domain, hold a promise to serve as a foundation on which such integrated business systems can be effectively constructed. To meet the above expectations, software architectures must be properly defined, represented, and applied, which requires suitable methodologies as well as process and tool support. Despite research efforts, however, state-of-the-art methods and tools for architecture-based system development do not yet meet the practical needs of system developers. The primary focus of this dissertation is on developing methods and tools to support domain architecture engineering and on leveraging architectures to achieve improved system development and integration in presence of increased complexity. In particular, the thesis explores issues related to the following three aspects of software technology: system complexity and software architectures as tools to alleviate complexity; domain architectures as frameworks for construction of large scale, flexible, enterprise-wide software systems; and architectural models and representation techniques as a basis for "good" design. The thesis presents an archi- tectural taxonomy to help categorize and better understand architectural efforts. Furthermore, it clarifies the purpose of domain architectures and characterizes them in detail. To support the definition and application of domain architectures we have developed a method for domain architecture engineering and representation: GARM- ASPECT. GARM, the Generic Architecture Reference Model, underlying the method, is a system of modeling abstractions, relations and recommendations for building representations of reference software architectures. The model's focus on reference and domain architectures determines its main distinguishing features: multiple views of architectural elements, a separate rule system to express constraints on architecture element types, and annotations such as "libraries" of patterns and "logs" of guidelines. ASPECT is an architecture description language based on GARM. It provides a normalized vocabulary for representing the skeleton of an architecture, its structural view, and establishes a framework for capturing archi- tectural constraints. It also allows extensions of the structural view with auxiliary information, such as behavior or quality specifications. In this respect, ASPECT provides facilities for establishing relationships among different specifications and gluing them together within an overall architectural description. This design allows flexibility and adaptability of the methodology to the specifics of a domain or a family of systems. ASPECT supports the representation of reference architectures as well as individual system architectures. The practical applicability of this method has been tested through a case study in an industrial setting. The approach to architecture engineering and representation, presented in this dissertation, is pragmatic and oriented towards software practitioners. GARM- ASPECT, as well as the taxonomy of architectures are of use to architects, system planners and system engineers. Beyond these practical contributions, this thesis also creates a more solid basis for exploring the applicability of architectural abstractions, the practicality of representation approaches, and the changes required to the devel- opment process in order to achieve the benefits from an architecture-driven software technology. OMAI ACIECUE A ESIG AMEWOK O SYSEM EEOME A IEGAIO y assika Kioa A isseaio Sumie o e acuy o ew esey Isiue o ecoogy i aia uime o e equiemes o e egee o oco o iosoy eame o Comue a Iomaio Sciece auay 1999 Coyig © 1999 y assika Kioa A IGS ESEE APPROVAL PAGE (1 of 2) DOMAIN ARCHITECTURE: A DESIGN FRAMEWORK FOR SYSTEM DEVELOPMENT AND INTEGRATION Vassilka D. Kirova Wiem ossak isseaio Aiso ae oesso o Comue Sciece SU ea Gemay Aeae Soye isseaio Aiso ae Associae oesso o Comue a Iomaio Sciece I a Kuess Commiee Meme ae Assisa oesso o Comue a Iomaio Sciece MI ao awso Commiee Meme ae awso öag Kosu A Swee APPROVAL PAGE (2 of 2) DOMAIN ARCHITECTURE: A DESIGN FRAMEWORK FOR SYSTEM DEVELOPMENT AND INTEGRATION Vassilka D. Kirova Dr. Thomas Marlowe, Committee Member Date oesso o Maemaics a Comue Sciece Seo a Uiesiy i ee g Commiee Meme ae oesso a Cai o Comue Sciece Uiesiy o easka - Omaa Gay omas Commiee Meme ae oesso o Eecica Egieeig MI IOGAICA SKEC Auo Vassilka D. Kirova Degree: Doctor of Philosophy Date: January 1999 Uegauae a Gauae Eucaio • Doctor of Philosophy in Computer and Information Science, New Jersey Institute of Technology, Newark, NJ, 1999 • Master of Science in Computer Science and Engineering and Bachelor of Science in Computer Science and Engineering, Electromechanical University of St. Petersburg, Russia, 1980 Major: Computer Science Publications: aes Kioa Kae "iSA Case Suy A Ioucio o Sowae Aci- ecue ecoogy" e as ecica oua o3 o 3 Seeme 199 15-139 Kioa Kae ossak W Maowe "Egieeig a eeseaio o Sowae Aciecues e iSA Case Suy" I oceeigs o SS Conference o Iegae esig a ocess ecoogy o ei Gemay uy 199 55- Kioa ossak W "ASPECT: The Generic Architecture Description Language and its Customization Facilities," In Proceedings of IEEE Conference and Workshop on Engineering of Computer Based Systems, Jerusalem, Israel, April 1998, pp. 192-199. Kirova V., Jololian L., Lawson H., Zemel T.: "A Generic Model for Software Archi- tectures," IEEE Software, Vol. 14, No. 4, July/August 1997, IEEE Computer Society Press, Los Alamitos CA, pp. 84-92. Kirova V., Rossak W., Howard Kradjel H., Sokoler D.: "Software Architecture Engineering: