An approach for Framework Construction and Instantiation Using Pattern Languages PowerPoint PPT Presentation

presentation player overlay
About This Presentation
Transcript and Presenter's Notes

Title: An approach for Framework Construction and Instantiation Using Pattern Languages


1
An approach for Framework Construction and
Instantiation Using Pattern Languages
ACIS International Conference on Computer
Science, Software Engineering, Information
Technology, e-Business, and Applications
(CSITeA02)
  • Rosana Teresinha Vaccare Braga
  • Paulo Cesar Masiero
  • ICMC-USP Institute of Mathematical and Computer
    Sciences of the
  • University of São Paulo
  • São Carlos SP Brazil

2
Contents
  • 1- Introduction and motivation
  • 2- Overview of the approach
  • 3- Pattern Language Development
  • 4- White-box Framework Development
  • 5- Wizard development
  • 6- Framework instantiation
  • 7- Concluding remarks

3
Contents
  • 1- Introduction and motivation
  • 2- Overview of the approach
  • 3- Pattern Language Development
  • 4- White-box Framework Development
  • 5- Wizard development
  • 6- Framework instantiation
  • 7- Concluding remarks

4
1 Introduction and Motivation
  • Software Reuse
  • Software Patterns capture experience acquired
    during software development, synthesizing it in a
    problem/solution pair.
  • Pattern languages organization of the knowledge
    about a specific domain into specific patterns
    that can be systematically applied in the
    development of systems in the same domain.
  • Frameworks set of abstract and concrete classes
    that can be customized to produce specific
    applications.
  • Problem complexity to build and use frameworks

5
1 Introduction and Motivation
  • Relationship between frameworks and pattern
    languages
  • Pattern languages can be used to
  • document the framework
  • Support the framework design and implementation
  • Guide the transformation of the framework into a
    concrete application
  • Our proposal
  • an approach to develop a framework from a pattern
    language, and
  • to use this pattern language to instantiate the
    framework to specific applications

6
Contents
  • 1- Introduction and motivation
  • 2- Overview of the approach
  • 3- Pattern Language Development
  • 4- White-box Framework Development
  • 5- Wizard development
  • 6- Framework instantiation
  • 7- Concluding remarks

7
2 - Approach for Framework Construction and
Instantiation
8
Contents
  • 1- Introduction and motivation
  • 2- Overview of the approach
  • 3- Pattern Language Development
  • 4- White-box Framework Development
  • 5- Wizard development
  • 6- Framework instantiation
  • 7- Concluding remarks

9
3 - Pattern Language Development
  • Objective building a pattern language to capture
    the domain functionality and to guide the
    development of applications in the domain
  • Based on practical experience in the domain,
    domain analysis, or reverse engineering of
    existing systems

10
3 - Pattern Language Development
  • Steps
  • 1) Produce an analysis model of the domain
  • 2) Define the patterns of the pattern language
  • Look at recurring analysis patterns that are
    implicit in the model
  • Look at other pattern languages for equivalent
    domains
  • Try to isolate each pattern according to specific
    functions performed
  • Try to create optional patterns when there are
    optional functions
  • 3) Analyze interaction among patterns
  • Illustrate this information with a diagram
  • Do the cross-reference in the Following
    patterns section

11
GRN A Pattern Language for Business Resource
Management
Identify the Resource (1)
Quantify the Resource (2)
Store the Resource (3)
Rent the Resource (4)
Trade the Resource (6)
Maintain theResource (9)
Quote the Trade (7)
Quote the Maintenance (10)
Reserve the Resource (5)
Check Resource Delivery (8)
Identify Maintenance Tasks (14)
Itemize the Resource Transaction (11)
Pay for the Resource Transaction (12)
Identify Maintenance Parts (15)
Identify the Resource Executor (13)
12
Contents
  • 1- Introduction and motivation
  • 2- Overview of the approach
  • 3- Pattern Language Development
  • 4- White-box Framework Development
  • 5- Wizard development
  • 6- Framework instantiation
  • 7- Concluding remarks

13
4 - White-box Framework Development
  • Objective building a set of classes to support
    the development of applications in the same
    domain of the pattern language
  • The classes belonging to patterns of the pattern
    language have the corresponding implementation in
    the framework

14
4 - White-box Framework Development
  • Steps
  • 1) Identify the framework hot-spots, using the
    pattern language.
  • 2) Design the framework, based on the list of hot
    spots and on the pattern language.
  • 3) Implement the framework
  • 4) Document the mapping between the pattern
    language and the framework, to ease future
    instantiation

15
Example of GREN classes
16
Contents
  • 1- Introduction and motivation
  • 2- Overview of the approach
  • 3- Pattern Language Development
  • 4- White-box Framework Development
  • 5- Wizard development
  • 6- Framework instantiation
  • 7- Concluding remarks

17
5 Wizard Development
  • Objective creating a tool with a graphical user
    interface that follows the pattern language
    concepts
  • Specific applications can be implemented by
    following the wizard instructions, i.e., the
    pattern language is interactively applied by
    filling in the wizard screens

18
5 Wizard Development
  • Data about the patterns, variants, classes, etc.
    can be stored in a meta-database and retrieved by
    the wizard
  • Information filled in by the user is also stored
    in a database.
  • Automatic adaptation of the framework to the
    specific application

Example of GREN-Wizard screen
Example of GREN-Wizard report
19
Contents
  • 1- Introduction and motivation
  • 2- Overview of the approach
  • 3- Pattern Language Development
  • 4- White-box Framework Development
  • 5- Wizard development
  • 6- Framework instantiation
  • 7- Concluding remarks

20
6 Framework Instantiation
  • Objective Adapt the framework to specific
    applications, obtaining an executable code
  • Types of instantiation
  • Using the white-box version of the framework
  • Using the wizard

21
6 Framework Instantiation
  • Instantiation using the white-box version of the
    framework
  • Pattern language usage to obtain the analysis
    model of the application to instantiate
  • Mapping from the analysis model to the framework
    classes
  • Implementation of the application
  • Validation of the application

22
6 Framework Instantiation
  • Instantiation using the wizard
  • Pattern language usage to obtain the analysis
    model of the application to instantiate
  • Usage of the Wizard to fill in the patterns
    applied and respective roles played by each class
    in each pattern
  • Implementation of the application (done by the
    wizard)
  • Validation of the application

Example of application generated using GREN-Wizard
23
Contents
  • 1- Introduction and motivation
  • 2- Overview of the approach
  • 3- Pattern Language Development
  • 4- White-box Framework Development
  • 5- Wizard development
  • 6- Framework instantiation
  • 7- Concluding remarks

24
7 - Concluding Remarks
  • The approach here proposed intends to promote
    software reuse, allowing developers to better
    understand and use frameworks
  • Instantiation is eased because
  • The framework architecture is related to the
    patterns of the pattern language
  • No technical knowledge about the framework
    implementation details is necessary to derive new
    applications from it.

25
7 - Concluding Remarks
  • Not all types of pattern languages could help
    framework construction and instantiation.
  • Candidate pattern languages
  • those that concern problems to be solved during
    analysis of systems in the domain
  • Information systems are an example of a domain
    that is suitable for this approach.

26
Concluding Remarks (continued)
  • During the framework usage in the development of
    specific applications and because of the
    application domain evolution, new hot spots may
    be necessary.
  • In this case, the pattern language must also be
    updated, including new patterns or changing
    existing ones.

27
Contact
  • Rosana rtvb_at_icmc.sc.usp.br
  • Paulo masiero_at_icmc.sc.usp.br
  • LABES (Software Engineering Lab at ICMC-USP)
    http//nt-labes.icmc.sc.usp.br (in Portuguese
    only)
  • My WEB page www.icmc.sc.usp.br/rtvb/ingles.html

28
An approach for Framework Construction and
Instantiation Using Pattern Languages
ACIS International Conference on Computer
Science, Software Engineering, Information
Technology, e-Business, and Applications
(CSITeA02)
  • Rosana Teresinha Vaccare Braga
  • Paulo Cesar Masiero
  • ICMC-USP Institute of Mathematical and Computer
    Sciences of the
  • University of São Paulo
  • São Carlos SP Brazil

29
(No Transcript)
30
Example of Hot Spots table
31
GREN Wizard A Tool to Automate GREN Instantiation
32
Example of a report generated by GREN-Wizard
33
Example of an application generated by the
GREN-Wizard
34
Example of an application generated by the
GREN-Wizard
35
Example of an application generated by the
GREN-Wizard
36
Example of an application generated by the
GREN-Wizard
Write a Comment
User Comments (0)
About PowerShow.com