Presentation is loading. Please wait.

Presentation is loading. Please wait.

Automating the Development of Pattern-Oriented Designs Copyright, 1996 © Dale Carnegie & Associates, Inc. Sherif Yacoub, Hengyi Xue, and Hany Ammar {yacoub,

Similar presentations


Presentation on theme: "Automating the Development of Pattern-Oriented Designs Copyright, 1996 © Dale Carnegie & Associates, Inc. Sherif Yacoub, Hengyi Xue, and Hany Ammar {yacoub,"— Presentation transcript:

1 Automating the Development of Pattern-Oriented Designs Copyright, 1996 © Dale Carnegie & Associates, Inc. Sherif Yacoub, Hengyi Xue, and Hany Ammar {yacoub, xue, ammar}@csee.wvu.edu Department of Computer Science and Electrical Engineering West Virginia University Application-Specific Systems and Software Engineering Technology, ASSET 2000, Richardson, Texas, March 24-25, 2000 West Virginia University

2 Introduction   To improve software production, we have to stop developing applications from scratch and make use of existing reusable components.   Design decisions are made at early stages in the development lifecycle. These decisions have a great impact on the quality of software.   Design patterns are one approach to reuse design solutions.   We need systematic design methodologies to glue together these design components.   A methodology should be supported by: processes, design models, and tools.

3 West Virginia University Research Objectives   Promote pattern-based development Improve the practice of reusing design patterns in software development. Manage the design complexity of systems as they increase in scale.   Develop a systematic approach to glue patterns Support the integration of patterns at the high design level. Automate pattern composition.   Develop design frameworks Facilitate the development of designs (frameworks) for application specific software applications.

4 West Virginia University Developing with Patterns 1) Adhoc Methods 2) Systematic a) Pattern Languages  Provide a set of patterns that solve problems in a specific domain.  Define relationships between patterns.  Define a process to apply the language. b) Development Processes  Uses a pattern composition technique.  Defines the analysis and design steps.  Uses tools to automate the development steps.

5 West Virginia University – –Behavioral Composition Object Oriented Role Analysis and Software Synthesis (OORASS), by Trygve Reenskaug 1992-1996 Composing Design Patterns using Roles, by Dirk Riehle OOPSLA 1997 Superimposition, by Jan Bosch TOOLS 1998 Role/Type/Class modeling, by A. Lauder ECOOP 1998 Contracts, by Holland Helm OOPSLA 1990, Book by Jezequel 2000 Pattern Composition Approaches

6 West Virginia University – –Structural Composition Software composition using design components, by Keller and Schauer ICSE 1998 Component-based frameworks using patterns, by Larsen CACM 1999 Pattern-Oriented Analysis and Design, by Yacoub and Ammar JOOP 2000, ASSET98, ASSET99, Ph.D. Dissertation WVU 1999. Pattern Composition Approaches

7 West Virginia University Pattern-Oriented Analysis and Design (POAD)   POAD is a structure composition approach to glue constructional design patterns.   A constructional design pattern: is an object oriented design pattern, has well-defined interfaces, possesses a class diagram as its solution structure.   POAD defines: analysis and design steps, models, relationship to UML metamodel, and automated development.   Patterns replace classes as building blocks.   Hide pattern details while preserving consistency with lower design levels.   This presentation is about tool support for the approach.

8 West Virginia University The Development Environment Pattern Browser (Java Applet) POAD tool ( Java Application ) Server Application Database Network POAD User Client Side Server Side

9 West Virginia University Documentation Window Browser Window Editing Window A snapshot from the POAD prototype tool POAD Tool

10 West Virginia University POAD Tool   The tool supports three design models for composing patterns. The three model views are: – –Pattern-Level view. This model expresses the design in terms of interfacing patterns and identifies pattern dependencies. – –Pattern Interfaces view. This model is a refinement of the Pattern-Level view using pattern interfaces and explicitly defining relationships between interfaces. – –Detailed Pattern-Level view. At this level, the internals of the pattern and the connectivity between interfaces and internals are revealed.

11 West Virginia University Controlled Output Example : A feedback control framework Reference Input Measurement Feedback Data Error (Actuating) Signal Feed forward Elements Feedback Elements Plant. or Process +

12 West Virginia University Schematic : Type and Instance Name Relationships: Pattern/Pattern Dependencies Design Decisions : Selection of Patterns, Define Relationships Design Models Pattern-Level View FeedforwardStrategy:Strategy Blackboard: Blackboard FeedbackObserver: Observer FeedbackStrategy: Strategy ErrorObserver: Observer Store Measurement Calculate Error Apply forward control strategy Apply feedback control strategy Store/Retrieve error data Store/Retrieve feedback data

13 West Virginia University Design Models Pattern-Level View

14 West Virginia University Schematic: Pattern interfaces, interface classes and operations Relationships: Class/Class, Class/Operation, Operation/Operation Design Decisions: Declare Interfaces Interface-Level View Design Models (cont’d) FeedforwardStrategy: Strategy Context ErrorObserver: Observer Observer::Update Subject::Notify Blackboard: Blackboard Blackboard::get_dat a Blackboard::put_ dat a FeedbackObserver: Observer Subject::Notify Observer::Update Apply feedback control strategy Store Measurement Retrieve Measurement data Store feedback data Retrieve feedback data Store error data Apply forward control strategy FeedbackStrategy: Strategy Context

15 West Virginia University Interface-Level View Design Models (cont’d)

16 West Virginia University Detailed-Level View Design Models (cont’d) FeedforwardStrategy: Strategy ConcreteStrategyA AlgorithmInterface() ConcreteStrategyB AlgorithmInterface() Context ContextInterface Strategy AlgorithmInterface() Context ErrorObserver: Observer * Subject Attach() Detach () Notify () ConcreteSubject _ SubjectState GetState () Observer Update () ConcreteObserver _ ObserverState Update () Update Notif y FeedbackStrategy: Strategy ConcreteStrategyA AlgorithmInterface() ConcreteStrategyB AlgorithmInterface() Context ContextInterface Strategy AlgorithmInterface() Context FeedbackObserver: Observer * Subject Attach() Detach () Notify () ConcreteSubject _ SubjectState GetState () Observer Update () ConcreteObserver _ ObserverState Update() Update Notif y

17 West Virginia University Detailed-Level View Design Models (cont’d)

18 West Virginia University Initial Class Diagrams Design Models (cont’d)

19 West Virginia University Conclusions This research is a contribution to the state of the art in:   Leveraging reuse to the design level.   Formalizing the visual presentation for patterns and their interfaces.   Developing a structural composition approach to glue design patterns.   Designing applications and frameworks using design patterns.   Automating pattern-oriented development.

20 West Virginia University Benefits & Outstanding Issues Benefits: The POAD tool:  Facilitates the process of gluing patterns by stringing and overloading pattern participants.  Supports hierarchical design.  Maintains a pattern view of the design. Outstanding Issues:  How to select a pattern based on requirement analysis?  Develop application specific frameworks.  Complete the development environment.  Provides forward/backward traceability.  Integrate with UML supported tools using standard exchange formats such as XMI

21 Questions...


Download ppt "Automating the Development of Pattern-Oriented Designs Copyright, 1996 © Dale Carnegie & Associates, Inc. Sherif Yacoub, Hengyi Xue, and Hany Ammar {yacoub,"

Similar presentations


Ads by Google