Encyclopedia of Information Science and Technology

Similar documents
Encyclopedia of Information Science and Technology

Encyclopedia of Information Science and Technology

Intelligence Integration in Distributed Knowledge Management

Encyclopedia of Multimedia Technology and Networking

Encyclopedia of Data Warehousing and Mining

Encyclopedia of Data Warehousing and Mining

Encyclopedia of Data Warehousing and Mining

Recovery of Design Pattern from source code

Encyclopedia of Data Warehousing and Mining

A Technique for Design Patterns Detection

Keywords Data alignment, Data annotation, Web database, Search Result Record

Handbook of Research on Innovations in Database Technologies and Applications: Current and Future Trends

A Reconnaissance on Design Patterns

COMPUTATIONAL DYNAMICS

Software re-use assessment for quality M. Ramachandran School of Computing and Mathematical Sciences, Jo/m Moores C/mrerszZ?/,

Provenance in Software Engineering - A Configuration Management View

InfoSci -Databases Platform

Stock Message Boards

An Introduction to Programming with IDL

Introduction to Data Mining

Usually software system variants, developed by Clone-and-own approach, form

DATA VISUALIZATION WITH FLASH BUILDER

Aspect Design Pattern for Non Functional Requirements

MetaData for Database Mining

This tutorial has been prepared for computer science graduates to help them understand the basic-to-advanced concepts related to data mining.

IMPACT OF DEPENDENCY GRAPH IN SOFTWARE TESTING

Research on Industrial Security Theory

Impact of Dependency Graph in Software Testing

Intelligent User Interfaces: Adaptation and Personalization Systems and Technologies

An Approach to Software Component Specification

Exploiting Distributed Resources in Wireless, Mobile and Social Networks Frank H. P. Fitzek and Marcos D. Katz

Losing Control: Controls, Risks, Governance, and Stewardship of Enterprise Data

A SOCIAL NETWORK ANALYSIS APPROACH TO ANALYZE ROAD NETWORKS INTRODUCTION

Property1 Property2. by Elvir Sabic. Recommender Systems Seminar Prof. Dr. Ulf Brefeld TU Darmstadt, WS 2013/14

DPLFW: a Framework for the Product-Line-Based Generation of Variable Content Documents

LOGICAL DATA MODELING

Knowledge Discovery and Data Mining 1 (VO) ( )

INCONSISTENT DATABASES

GLOBAL EDITION. Elementary Surveying. An Introduction to Geomatics FOURTEENTH EDITION. Charles D. Ghilani Paul R. Wolf

Flight Systems are Cyber-Physical Systems

Ontology Creation and Development Model

Journal Citation Reports on the Web v.2.0 sem-jcr

WEB PAGE RE-RANKING TECHNIQUE IN SEARCH ENGINE

COMPONENT-ORIENTED PROGRAMMING

Modeling Systems Using Design Patterns

Multimedia Information Storage and Retrieval:

Relational model continued. Understanding how to use the relational model. Summary of board example: with Copies as weak entity

An Overview of various methodologies used in Data set Preparation for Data mining Analysis

FUZZY LOGIC WITH ENGINEERING APPLICATIONS

Scenarios, Quality Attributes, and Patterns: Capturing and Using their Synergistic Relationships for Product Line Architectures

HIRP OPEN 2018 Compiler & Programming Language. An Efficient Framework for Optimizing Tensors

A Framework for Enforcing Constrained RBAC Policies

Automated Improvement for Component Reuse

Outlier Detection Using Unsupervised and Semi-Supervised Technique on High Dimensional Data

IGI Global eresource s Platform. User Guide

Using Architectural Models at Runtime: Research Challenges

Information mining and information retrieval : methods and applications

Prowess Improvement of Accuracy for Moving Rating Recommendation System

Searching Image Databases Containing Trademarks

SAS File Management. Improving Performance CHAPTER 37

Information Discovery, Extraction and Integration for the Hidden Web

The Research of A multi-language supporting description-oriented Clustering Algorithm on Meta-Search Engine Result Wuling Ren 1, a and Lijuan Liu 2,b

Improving the Efficiency of Fast Using Semantic Similarity Algorithm

DESIGN patterns [16] have emerged to be an important

ISO INTERNATIONAL STANDARD

On The Theoretical Foundation for Data Flow Analysis in Workflow Management

Computer Science Workbench. Editor: Tosiyasu L. Kunii

Data Warehousing and Mining: Concepts, Methodologies, Tools, and Applications

Excel for Chemists. Second Edition

Differential Privacy. Seminar: Robust Data Mining Techniques. Thomas Edlich. July 16, 2017

The Markov Reformulation Theorem

Chapter 1. Introduction

Evolutionary form design: the application of genetic algorithmic techniques to computer-aided product design

The Horizontal Splitter Algorithm of the Content-Driven Template- Based Layout System

Lies, Damned Lies and Statistics Using Data Mining Techniques to Find the True Facts.

InfoSci -Databases Platform

The National Bibliographic Knowledgebase

DIFFERENTIAL EQUATION ANALYSIS IN BIOMEDICAL SCIENCE AND ENGINEERING

Formalizing Fact Extraction

Architectural Prescriptions for Dependable Systems

SAS Factory Miner 14.2: User s Guide

Supporting Documentation and Evolution of Crosscutting Concerns in Business Processes

Formal Modelling of Railway Interlockings Using Event-B and the Rodin Tool-chain

Towards collaborative Blender design through annotation sharing

Database Technology Introduction. Heiko Paulheim

Image Mining: frameworks and techniques

RIGOROUSLY AUTOMATING TRANSFORMATIONS OF UML BEHAVIOR MODELS

Component Composition in Business and System Modeling

Analysis of Dendrogram Tree for Identifying and Visualizing Trends in Multi-attribute Transactional Data

Domain-Driven Development with Ontologies and Aspects

Design and Implementation of Movie Recommendation System Based on Knn Collaborative Filtering Algorithm

A Complete Bibliography of the Proceedings Volumes of the ACM Symposia on the Theory of Computing ( )

Cluster-based Instance Consolidation For Subsequent Matching

INFORMATION DYNAMICS: AN INFORMATION-CENTRIC APPROACH TO SYSTEM DESIGN

XRay Views: Understanding the Internals of Classes

Clustering and Information Retrieval

JMP Coders 101 Insights

Quality Indicators for Automotive Test Case Specifications

Configuration Management for Component-based Systems

This page intentionally left blank

Transcription:

Encyclopedia of Information Science and Technology Second Edition Mehdi Khosrow-Pour Information Resources Management Association, USA Volume IV G-Internet INFORMATION SCIENCE REFERENCE Hershey New York

Director of Editorial Content: Director of Production: Managing Editor: Assistant Managing Editor: Cover Design: Printed at: Kristin Klinger Jennifer Neidig Jamie Snavely Carole Coulson Lisa Tosheff Yurchak Printing Inc. Published in the United States of America by Information Science Reference (an imprint of IGI Global) 701 E. Chocolate Avenue, Suite 200 Hershey PA 17033 Tel: 717-533-8845 Fax: 717-533-8661 E-mail: cust@igi-global.com Web site: http://www.igi-global.com/reference and in the United Kingdom by Information Science Reference (an imprint of IGI Global) 3 Henrietta Street Covent Garden London WC2E 8LU Tel: 44 20 7240 0856 Fax: 44 20 7379 0609 Web site: http://www.eurospanbookstore.com Copyright 2009 by IGI Global. All rights reserved. No part of this publication may be reproduced, stored or distributed in any form or by any means, electronic or mechanical, including photocopying, without written permission from the publisher. a claim of ownership by IGI Global of the trademark or registered trademark. Library of Congress Cataloging-in-Publication Data Encyclopedia of information science and technology / Mehdi Khosrow-Pour, editor. -- 2nd ed. p. cm. Includes bibliographical references and index. on technology"--provided by publisher. ISBN 978-1-60566-026-4 (hardcover) -- ISBN 978-1-60566-027-1 (ebook) 1. Information science--encyclopedias. 2. Information technology--encyclopedias. I. Khosrowpour, Mehdi, 1951- Z1006.E566 2008 004'.03--dc22 2008029068 British Cataloguing in Publication Data A Cataloguing in Publication record for this book is available from the British Library. All work contributed to this encyclopedia set is original material. The views expressed in this encyclopedia set are those of the authors, but not necessarily of the publisher. Note to Librarians: If your institution has purchased a print edition of this publication, please go to http://www.igi-global.com/agreement for information on activating the library s complimentary online access.

Category: Software & Systems Design 1047 Design Patterns from Theory to Practice Jing Dong University of Texas at Dallas, USA D Tu Peng University of Texas at Dallas, USA Yongtao Sun American Airlines, USA Longji Tang FedEx Dallas Tech Center, USA Yajing Zhao University of Texas at Dallas, USA INTRODUCTION extract good solutions to standard problems in a particular design patterns to reuse best practices and improve the a generic piece of design that can be instantiated in different - design patterns have been applied in many large systems, pattern-related information is generally not available in design diagrams can help to understand the original design In this article, we concentrate on the issues related to design pattern instantiation, integration, formalization, BACKGROUND Formalization Design patterns are typically described informally for easy Third, design patterns are generic designs that need to be instantiated and perhaps integrated with other patterns when errors and inconsistencies in the instantiation and integration errors or inconsistencies early at the design level is more these processes are commutative at the design level (Dong, - The structural and behavioral aspects of design patterns in propose specifying the structural aspect of design patterns design patterns and their composition based on the language Evolution Most design patterns describe some particular ways for future

remove certain design elements with minimal impact on other When changes are needed, a designer has to read between of a design pattern may also result in missing parts of the any inconsistency, any violation of pattern constraints and tant to regularize, formalize, and automate the evolution of Design pattern evolutions in software development pro- where software development process is considered as the as a concern that is separated from the application core design pattern by weaving the design pattern concern into the quality by applying design patterns in existing systems has selects a design pattern to be applied in a chosen location of a system, automated application is supported by applying Visualization When a design pattern is applied in a large system design, pattern-related information is normally lost because the information on the role a model element plays in the pattern There are several problems when design patterns are implicit only communicate at the class level instead of the pattern level because they do not have pattern-related information in ways for future evolutions, as discussed previously, that are change the design using relevant pattern-related informa- - approaches surveyed can only represent the role a class Current approaches on visualizing design patterns can be - approaches can be further divided into single-diagram (Vlis- Discovery the source code that may be changed and migrated over design patterns may vary in different layouts, which also pose challenges for recovering and changing these design design pattern from either source code or design model - algorithm to calculate the similarity of two classes in pattern tree and neural network, have been applied to classify the FROM THEORY TO PRACTICE In this section, we present our approaches on the formalization, evolution, visualization, and discovery of design pat- Formalization Over the past decade, we have applied several formal temporal logic of action - - structural aspect is described by predicates for describing 1048

integration of two design patterns is the union of two sets of the predicates corresponding to the structures of the two the behavioral semantic of each design pattern in terms of the behavioral aspect of design patterns in Dong (Dong, their communications in each pattern are represented in the and behavioral aspects of design patterns more precise and Model checking techniques typically include a model pattern, we used a model checker to check them against the check the consistencies of the integration of design patterns mathematical knowledge, formal model abstracts the structure and behavior of a design pattern, and the operations between them, which enables us to summarize, predict, prove, or exclude certain general properties of design pat- and behavioral aspects of deign patterns, we have proved several theorems related to the structural integrity, safety, proving theorems can be tedious and error-prone, we also While each design pattern needs to be instantiated when it is applied in a system, it may also be integrated with other to know whether the instantiation and integration processes are commutative is important because it can save a lot of are able to predict the possible outcome of a design and to has been explored systematically under our formal model Evolution The evolution process of design patterns has been initially The structural aspect of a design pattern is described in terms plication can be achieved by the addition or removal of new While there are many different ways to evolve design - transformations include the addition/removal of an objectoriented modeling element, such as class, attribute, operation, association, generalization, aggregation, composition, are a group of primitive level transformations that reappear transformations: 1) simple addition/removal of an independent class and the corresponding relationships between this class and 2) addition/removal of one independent class with attributes and/or operations and the corresponding relationships between this class and the classes in the 3) addition/removal of an attribute/operation in several tributes or operations in the classes involved in the design patterns, we are able to automate these evolutions evolutions can be automated by transforming from the By semiautomating the evolution process, our tool code and presenting in a visible manner the pattern-related system pieces that can be evolved and the possible evolu- D 1049

displayed to ensure no missing information and the integrity Visualization - - and tagged values are attached to a modeling element to explicitly represent the role the modeling element plays in a design pattern so that the user can identify the pattern in tern-related information and allows the user to visualize Discovery We propose a novel approach based on matrix and weight in a matrix with the columns and rows to be all classes in the Generalization relationship can be prime number 2, and any two classes is the multiplication of each associated relationships, the cell value is 2 1 3 1 The structure of each design pattern is also represented in rect matching results of the structural analysis may include case, our approach also analyzes the semantic information mated the structural, behavioral, and semantic analyses in We also apply template matching method to pattern to calculate the normalized cross-correlation value of two vectors f and g cos value, where is the angle between vector f and g The maximum value is 1 when f and g is an exact match, that is, = 0 into one-dimensional vector by appending the following each other, we are expecting to see a small angel between encodes both pattern and system knowledge into two overall matrixes, and calculates their similarity score by cross cor- exact matches of pattern instances, but also identify their FUTURE TRENDS Our future direction on formalization is to use our formal model and its derivation methodology in security-related applications, where the correctness of pattern operations is vitally important to the completeness of a successful sys- derivation together with model checking, to grasp a deep We will characterize the constraints of evolutions of each design pattern, and provide techniques and tools for are investigating the model transformation techniques based Our research on visualization can be extended from design visualization that can explicitly display critical architecture CONCLUSION In this chapter, we present the research issues related to 1050

including formalization, evolution, visualization, and discov- related to these issues and describe the existing solutions to REFERENCES Proceedings of the IEEE 23rd Annual International Computer Software & Applications Conference Proceedings of the Third International Symposium of Formal Methods Europe Proceedings of the 6th IEEE International Workshop on Program Understanding Proceedings of the International Workshop on the Principles of Software Evolution In Proceedings of the 7th Annual IEEE International Conference and Workshop on Engineering of Computer Based Systems - Software Practice and Experience, 36 Proceedings of the Fourteenth Annual IEEE International Conference on Engineering of Computer Based Systems Proceedings of the First IEEE & IFIP International Symposium on Theoretical Aspects of Software Engineering. In Proceedings of the 23rd Annual ACM Symposium on Applied Computing. Proceedings of the Second IEEE International Symposium on Service-Oriented System Engineering IEEE Transaction on Software Engineering, 33 Proceedings of International Conference on Software Engineering Research and Practice Proceedings of the 11th CASCON. sign pattern mining enhanced by machine In Learning, 21st IEEE International Conference on Software Maintenance IEEE Transactions on Software Engineering, 30 Design patterns: Elements of reusable object-oriented software. - Proc. 11 th Working Conf. on Reverse Eng. (WCRE 04) Proceedings of the ACM Transactions on Programming Languages and Systems, 16 Proceeding of Third International Conference on Object-Oriented Programming Proceedings of the 40 th International Conference of Object-Oriented IEEE Computer, 25 Proceedings of the 20th International Conference on Software Engineering D 1051

International Series in Computer Science Proceedings of the 4th International Workshop on Principles of Software Evolution Proceedings of the 33 rd Hawaii International Conference on System Sciences Proceedings of the Seventh Asia- Proceedings of the 26th International Conference on Software Engineering Information and Software Technology, 45 - IEEE transaction on software engineering, 32(11), C++ Report KEY TERMS Design Patterns: Design patterns represent solutions to problems that arise when developing software within a dynamic structure and collaboration among key participants Design patterns are generic design pieces that need to be describes the process of applying generic design pieces into The integration of design patterns describes the process of composing multiple design patterns to solve a number overlapping common parts from different patterns or adding The formalization of design patterns is to apply rigorous methods to specify design patterns or to verify their The evolution of a design pattern is a process to add or remove design elements to/from existing design pattern requirements, platforms, technologies, or environments change and therefore software system need to be adapted The visualization of design pattern provides techniques and tools for explicitly visualizing the instances of design visualization techniques and tools can help software designers for tracing, identifying, and checking design patterns in the software system design, and making right design decision Design pattern discovery techniques are used to recover becomes a key issue for many research areas, such as reverse engineering and code refractory, because it helps for program 1052