Domain Architecture a Design Framework for System Development and Integration

Total Page:16

File Type:pdf, Size:1020Kb

Domain Architecture a Design Framework for System Development and Integration 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:
Recommended publications
  • The Domain-Specific Software Architecture Program
    Special Report CMU/SEI-92-SR-009 The Domain-Specific Software Architecture Program LTC Erik Mettala and Marc H. Graham, eds. June 1992 Special Report CMU/SEI-92-SR-009 June 1992 The Domain Specific Software Architecture Program LTC Erik Mettala DARPA SISTO Marc H. Graham Technology Division, Special Projects Unlimited distribution subject to the copyright. Software Engineering Institute Carnegie Mellon University Pittsburgh, Pennsylvania 15213 This report was prepared for the SEI Joint Program Office HQ ESC/AXS 5 Eglin Street Hanscom AFB, MA 01731-2116 The ideas and findings in this report should not be construed as an official DoD position. It is published in the interest of scientific and technical information exchange. FOR THE COMMANDER (signature on file) Thomas R. Miller, Lt Col, USAF SEI Joint Program Office This work is sponsored by the U.S. Department of Defense. Copyright © 1993 by Carnegie Mellon University. Permission to reproduce this document and to prepare derivative works from this document for internal use is granted, provided the copyright and “No Warranty” statements are included with all reproductions and derivative works. Requests for permission to reproduce this document or to prepare derivative works of this document for external and commercial use should be addressed to the SEI Licensing Agent. NO WARRANTY THIS CARNEGIE MELLON UNIVERSITY AND SOFTWARE ENGINEERING INSTITUTE MATERIAL IS FURNISHED ON AN “AS-IS” BASIS. CARNEGIE MELLON UNIVERSITY MAKES NO WARRAN- TIES OF ANY KIND, EITHER EXPRESSED OR IMPLIED, AS TO ANY MATTER INCLUDING, BUT NOT LIMITED TO, WARRANTY OF FITNESS FOR PURPOSE OR MERCHANTIBILITY, EXCLUSIVITY, OR RESULTS OBTAINED FROM USE OF THE MATERIAL.
    [Show full text]
  • Athabasca University Feature-Oriented Domain Analysis
    ATHABASCA UNIVERSITY FEATURE-ORIENTED DOMAIN ANALYSIS FOR SEMANTIC WEB SERVICES BY LISA JULIETTE COX An essay submitted in partial fulfillment Of the requirements for the degree of MASTER OF SCIENCE in INFORMATION SYSTEMS Athabasca, Alberta December, 2010 © Lisa Juliette Cox, 2010 ATHABASCA UNIVERSITY The undersigned certify that they have read and recommend for acceptance the integrated project “FEATURE-ORIENTED DOMAIN ANALYSIS FOR SEMANTIC WEB SERVICES” submitted by LISA JULIETTE COX in partial fulfillment of the requirements for the degree of MASTER OF SCIENCE in INFORMATION SYSTEMS. ___________________________ Dragan Gaševi, Ph.D. Supervisor ___________________________ Ebrahim Bagheri, Ph.D. Supervisor Date: _______________________ DEDICATION To Dominique and Zachary i ABSTRACT Interoperability continues to be an open research challenge in the healthcare domain. The lack of interoperability means that information is fragmented across healthcare information silos, hindering integration and effective collaboration between e-health systems, timely access to complete patient medical data and efficiency in healthcare delivery, which are associated with ongoing concerns for patient safety and the cost and quality of healthcare. Information technology needs to be exploited in healthcare to facilitate collaboration between e-health entities’ business processes, enabling access to complete patient medical information, up-to-date drug information and other relevant decision-support systems, thereby enhancing patient safety and reducing or preventing incidences of adverse drug events (ADEs). The main objective of this research is to define a methodology that can be applied to the e-health domain to achieve improvements in interoperability, integration and communication between distributed e- health entities towards reducing incidences of preventable ADEs, which is within the scope of an e-prescription sub-domain.
    [Show full text]
  • A Systematic Review of Domain Analysis Tools
    Information and Software Technology 52 (2010) 1–13 Contents lists available at ScienceDirect Information and Software Technology journal homepage: www.elsevier.com/locate/infsof A systematic review of domain analysis tools Liana Barachisio Lisboa a,*, Vinicius Cardoso Garcia a,b,d, Daniel Lucrédio a,c, Eduardo Santana de Almeida a,e, Silvio Romero de Lemos Meira a,b, Renata Pontin de Mattos Fortes c a RiSE, Reuse in Software Engineering, Recife, PE, Brazil b Informatics Center, Federal University of Pernambuco, Recife, PE, Brazil c Institute of Mathematical and Computer Science - University of São Paulo (ICMC/USP), São Carlos, SP, Brazil d Caruaru Faculty of Science and Technology (FACITEC), Pernambuco University, Caruaru, PE, Brazil e Federal University of Bahia, Salvador, BA, Brazil article info abstract Article history: The domain analysis process is used to identify and document common and variable characteristics of Received 12 September 2008 systems in a specific domain. In order to achieve an effective result, it is necessary to collect, organize Received in revised form 15 May 2009 and analyze several sources of information about different applications in this domain. Consequently, this Accepted 16 May 2009 process involves distinct phases and activities and also needs to identify which artifacts, arising from Available online 31 May 2009 these activities, have to be traceable and consistent. In this context, performing a domain analysis process without tool support increases the risks of failure, but the used tool should support the complete process Keywords: and not just a part of it. This article presents a systematic review of domain analysis tools that aims at Systematic review finding out how the available tools offer support to the process.
    [Show full text]
  • Domain Engineering Methodologies Survey Cordet
    DOMAIN ENGINEERING METHODOLOGIES SURVEY CORDET Internal Code: GMVSA 20580/07 Versión: Issue 1 Date: 26/07/2007 GMV AEROSPACE AND DEFENCE S.A.. © GMV, 2007; all rights reserved. Isaac Newton 11, PTM Tres Cantos, 28760 Madrid Tel. +34 918072100, Fax. +34 918072199 www.gmv.com . THIS PAGE IS INTENTIONALLY LEFT IN BLANK Code: GMV-CORDET-WP202-RP-001 Date: 26/07/2007 Version: Issue 1 Page: 3 de 38 Prepared by: Elena Alaña Ana Isabel Rodríguez Approved by: Ana Isabel Rodríguez Project Manager Authorized by: Ana Isabel Rodríguez Project Manager Code: GMV-CORDET-WP202-RP-001 Date: 26/07/2007 Version: Issue 1 Page: 4 de 38 DOCUMENT STATUS SHEET Version Date Pages Changes Issue 1 Draft A 29/05/2007 29 First draft version Issue 1 Draft B 13/06/2007 29 Second draft version Issue 1 Draft C 21/06/2007 30 Third draft version. Issue 1 Draft D 03/07/2007 30 Fourth draft version. Issue 1 26/07/2007 38 First issue of the report. Updated according to MoM "CORDET-MoM-DKMR- 06072007“, [RD.64]. CORDET © GMV, 2007; all rights reserved. Domain Engineering Methodologies Survey Code: GMV-CORDET-WP202-RP-001 Date: 26/07/2007 Version: Issue 1 Page: 5 de 38 TABLE OF CONTENTS 1. INTRODUCTION................................................................................................................................7 1.1. PURPOSE AND SCOPE 7 1.2. APPLICABLE DOCUMENTS 7 1.3. REFERENCE DOCUMENTS 7 2. METHODOLOGIES...........................................................................................................................11 2.1. DOMAIN ENGINEERING PROCESS 11 2.1.1. DOMAIN ANALYSIS .........................................................................................................................11 2.1.2. DOMAIN DESIGN ............................................................................................................................12 2.1.3. DOMAIN IMPLEMENTATION .............................................................................................................12 2.2. DOMAIN ENGINEERING METHODS 12 2.2.1.
    [Show full text]
  • Feature-Oriented Domain Analysis (FODA) Feasibility Study
    Technical Report CMU/SEI-90-TR-21 ESD-90-TR-222 Feature-Oriented Domain Analysis (FODA) Feasibility Study Kyo C. Kang Sholom G. Cohen James A. Hess William E. Novak A. Spencer Peterson November 1990 Technical Report CMU/SEI-90-TR-21 ESD-90-TR-222 November 1990 Feature-Oriented Domain Analysis (FODA) Feasibility Study Kyo C. Kang Sholom G. Cohen James A. Hess William E. Novak A. Spencer Peterson Domain Analysis Project Approved for public release. Distribution unlimited. Software Engineering Institute Carnegie Mellon University Pittsburgh, Pennsylvania 15213 Acknowledgements We would like to acknowledge the support of Capt. Patrick Carroll, USAF, for his contribu- tion to the project, which helped make this report possible. We would also like to acknowledge the support and expert counsel of Bill Wood, Mario Bar- bacci, Len Bass, Robert Firth, and Marc Kellner of the SEI for helping to shape and clarify the ideas contained within. Thanks go also to Brad Myer of Carnegie-Mellon University for sharing his domain expertise in window management systems. Finally, we would like to thank the careful reviewers of a large document, specifically Len Bass, Robert Firth, Larry Howard, Tom Lane, Nancy Mead, Don O’Neill, Dan Roy, and Kurt Wallnau. Executive Summary This report describes a method for discovering and representing commonalities among re- lated software systems. By capturing the knowledge of experts, this domain analysis meth- od attempts to codify the thought processes used to develop software systems in a related class or domain. While domain analysis supports software reuse by capturing domain ex- pertise, domain analysis can also support communication, training, tool development, and software specification and design.
    [Show full text]
  • Software Architecture - an Overview of the State-Of-The-Art
    Research Report 8/98 Software Architecture - An Overview of the State-of-the-Art by Jan Bosch (Editor) Department of ISSN 1103-1581 Computer Science and Business Administration ISRN HK/R-RES98/8SE University of Karlskrona/Ronneby S-372 25 Ronneby Sweden Software Architecture - An Overview of the State-of-the-Art by Jan Bosch (Editor) ISSN 1103-1581 ISRN HK/R-RES98/8SE Copyright © 1998 the authors All rights reserved Printed by Psilander Grafiska, Karlskrona 1998 Table of Contents Introduction..........................................................................................................................3 Jan Bosch Architecture Description Software Architecture Notations..........................................................................................5 Anders Ive Using Formal Languages to Describe Software Architecture...........................................13 Patrik Persson Architecture Evaluation Evaluating Software Architectures: Techniques................................................................23 Magnus Broberg Evaluating Quality Attributes of Software Architectures..................................................35 Charlie Svahnberg Architecture Design The Role of Styles and Patterns in Software Architectures...............................................45 Daniel Einarson Software Architecture Design Methods.............................................................................55 PO Bengtsson Software Architecture Applications Software Product-Line Architecture..................................................................................63
    [Show full text]
  • An Integrated Approach to Evaluation of Domain Modeling Methods and Tools for Improvement of Code Reusability in Software Development
    Heinrich C. Mayr, Martin Pinzger (Hrsg.): INFORMATIK 2016, Lecture Notes in Informatics (LNI), Gesellschaft für Informatik, Bonn 2016 143 An Integrated Approach to Evaluation of Domain Modeling Methods and Tools for Improvement of Code Reusability in Software Development Mykola Tkachuk1, Iryna Martinkus2 , Rustam Gamzayev3, and Andrii Tkachuk4 Abstract: Adomain-driven design (DDD) as a modern approach to improvement of software development quality,especially to support code reuse is considered. To emphasize DDD advantages a3-level design schemE is proposed which is similar to well-proved 3-level vision about data representation in database development. According to this metaphor thE main attention is paid to thE phases of logical domain specific modeling (DSM)and to thE physical modeling both, with usage of 2 alternativE DSM-methods with appropriate CASE-tools: JODA- and ODM approaches respectively. To evaluate their impact on generated code reusability(CR) the software complexitymetrics are chosen, and the analytichierarchyprocess (AHP) is used to make a final decision about thE relationship between CR and DSM. Keywords: software quality, domain-driven design, domain model method, code reusability, complexitymetrics,analytichierarchy process. 1Introduction: Research Actuality and Aims Modern software development is acomplex interdisciplinary process, which consists of several interconnected phases, which arequite expensive for largE software system projects. In general all traditional and modern software methodologies arE supposed to decrease these project costs taking into account some functional and non-functional requirements (orquality attributes) to be met in atarget system (sEE e.g. [So11]). One of thE most effectivE waystoresolve this problemisareusing of different project solutions(assets):domain knowledge, requirements specifications, softwarE architectures, and finally programming code.
    [Show full text]
  • Modeling Software Product Lines Using Feature Diagrams
    University of Mississippi eGrove Electronic Theses and Dissertations Graduate School 2013 Modeling Software Product Lines Using Feature Diagrams Hazim Husain Shatnawi University of Mississippi Follow this and additional works at: https://egrove.olemiss.edu/etd Part of the Engineering Commons Recommended Citation Shatnawi, Hazim Husain, "Modeling Software Product Lines Using Feature Diagrams" (2013). Electronic Theses and Dissertations. 447. https://egrove.olemiss.edu/etd/447 This Thesis is brought to you for free and open access by the Graduate School at eGrove. It has been accepted for inclusion in Electronic Theses and Dissertations by an authorized administrator of eGrove. For more information, please contact [email protected]. MODELING SOFTWARE PRODUCT LINES USING FEATURE DIAGRAMS A Thesis presented in partial fulfillment of requirement for the degree of Master of Science in Engineering Science in the Department of Computer and Information Science The University of Mississippi by HAZIM SHATNAWI APRIL 2013 Copyright Hazim Shatnawi 2013 ALL RIGHTS RESERVED ABSTRACT The leading strategies for systematic software reuse focus on reuse of domain knowledge. One such strategy is software product line engineering. This strategy selects a set of reusable software components that form the core around which software products in a domain are built. Feature modeling is a process that enables engineers to identify these core assets, in particular the common (e.g., shared) and variable features of products. The focus of this thesis is to give an overview of the feature modeling process by introducing feature diagrams. Feature diagrams capture and represent common and variable properties (features) of the software products in a domain, focusing on properties that may vary, which are further used to produce different software products.
    [Show full text]
  • When and How to Develop Domain-Specific Languages
    When and How to Develop Domain-Specific Languages MARJAN MERNIK University of Maribor JAN HEERING CWI AND ANTHONY M. SLOANE Macquarie University Domain-specific languages (DSLs) are languages tailored to a specific application domain. They offer substantial gains in expressiveness and ease of use compared with general-purpose programming languages in their domain of application. DSL development is hard, requiring both domain knowledge and language development expertise. Few people have both. Not surprisingly, the decision to develop a DSL is often postponed indefinitely, if considered at all, and most DSLs never get beyond the application library stage. Although many articles have been written on the development of particular DSLs, there is very limited literature on DSL development methodologies and many questions remain regarding when and how to develop a DSL. To aid the DSL developer, we identify patterns in the decision, analysis, design, and implementation phases of DSL development. Our patterns improve and extend earlier work on DSL design patterns. We also discuss domain analysis tools and language development systems that may help to speed up DSL development. Finally, we present a number of open problems. Categories and Subject Descriptors: D.3.2 [Programming Languages]: Language Classifications—Specialized Application Languages General Terms: Design, Languages, Performance Additional Key Words and Phrases: Domain-specific language, application language, domain analysis, language development system Authors’ addresses: M. Mernik, Faculty of Electrical Engineering and Computer Science, University of Mari- bor, Smetanova 17, 2000 Maribor, Slovenia; email: [email protected]; J. Heering, Department of Soft- ware Engineering, CWI, Kruislaan 413, 1098 SJ Amsterdam, The Netherlands; email: [email protected]; A.M.
    [Show full text]
  • Domain Analysis of E-Commerce Systems Using Feature-Based Model Templates
    Domain Analysis of E-Commerce Systems Using Feature-Based Model Templates by Sean Quan Lau A thesis presented to the University of Waterloo in fulfillment of the thesis requirement for the degree of Master of Applied Science in Electrical and Computer Engineering Waterloo, Ontario, Canada, 2006 © Sean Quan Lau 2006 I hereby declare that I am the sole author of this thesis. I authorize the University of Waterloo to lend this thesis to other institutions or individuals for the purpose of scholarly research Signature I further authorize the University of Waterloo to reproduce this thesis by photocopying or by other means, in total or in part, at the request of other institutions or individuals for the purpose of scholarly research. Signature ii Abstract The pervasiveness and criticality of software applications in modern times have resulted in the demand for highly customized, high quality products in a timely and cost-efficient manner. Model-Driven Software Product Lines (MDSPL) is an approach to software development which allows developers to automatically build such products based on configuration knowledge and reusable assets. A product line is a group of related products that can be built from a common set of assets. The approach relies on two activities: 1) Domain Engineering, where features in the product line are scoped and reusable assets are built, and 2) Application Engineering, where individual products are built from the reusable assets. The MDSPL approach is supported by feature models and feature-based model templates. Feature models are a modeling notation used to represent the variability in a system family and describe all valid configurations.
    [Show full text]