Presented by Andrs Daz Pace - PowerPoint PPT Presentation

1 / 17
About This Presentation
Title:

Presented by Andrs Daz Pace

Description:

... cars to renters, instructors to rooms, jobs to machines, videos to club ... allSales: Seq Sale startSale() -- a new Sale has been made. the currentSale ... – PowerPoint PPT presentation

Number of Views:27
Avg rating:3.0/5.0
Slides: 18
Provided by: AVDS
Category:
Tags: andrs | daz | pace | presented

less

Transcript and Presenter's Notes

Title: Presented by Andrs Daz Pace


1
Composing Modeling Frameworksin CATALYSIS
  • CHAPTER 19
  • Presented by Andrés Díaz Pace
  • April 2000

2
Overview
  • Introduction to reuse with frameworks
  • Extending the framework notion in Catalysis
  • An example
  • Composing generic models and specifications
  • Main concepts in Catalysis
  • Types
  • Refinements
  • Collaborations
  • Frameworks
  • The complete picture
  • Summary

3
Introduction
  • Reusable artifacts
  • pieces of code
  • models
  • specifications
  • interactions
  • refinements
  • Essence of a design ?
  • Collaborations and relationships between elements
  • Framework notion It is generalized to object
    modeling and specification activities, permitting
    construction of specifications and design models
    by composition (Catalysis).
  • UML compliant
  • Component-based and Framework-based development

4
Frameworks - Beyond OOP
  • An OO framework is often characterized as a
    set of abstract and concrete classes that
    collaborate to provide the skeleton of an
    implementation for a given set of applications
  • A framework should be ADAPTABLE

5
Catalysis goals
  • Apply frameworks-like techniques to the
    modeling, specification and implementation of
    systems in a methodical way.

6
An Example
  • A service company that delivers seminars
  • Allocation for instructors and facilities to a
    seminar
  • On-time production of seminar materials for
    delivery
  • Targeted marketing of seminars
  • Invoicing and accounts receivable
  • How can these operations be decomposed in
    relatively orthogonal aspects ?

Operations
7
Composing generic specifications and models
  • Conceive abstract specifications of each aspect
    of the problem
  • Library of reusable abstract specification
    components
  • Problems to be solved
  • Framework descriptions must be abstract. We can
    be able to substitute domain terms into the
    generic concepts provided by the framework
  • The generic models must be precise. This permit
    meaningful manipulation when composed.
  • Ways to hook the frameworks together in a
    particular composition.
  • Different levels of detail in the description.
    Refinement.

8
Resource Allocation (1)
  • // For any job, only allocate resources that meet
    the requirements of the job
  • inv jJob, j allocated ! Null ?
    (j.allocated.provides.meets(j.requires))
  • action allocate (rResource,jJob) post // Spec
    of allocate operation
  • action confirm(jJob) post // Spec of
    confirming a job
  • action complete(jJob) post // Spec of
    completing a job

9
Resource Allocation (2)
  • The Resource allocation framework can be mapped
    to different concrete situations assigning cars
    to renters, instructors to rooms, jobs to
    machines, videos to club members, etc.

10
Main Concepts in Catalysis
  • Types
  • Abstracting behavior using type models
  • Refinements
  • Explicitly mappings between levels of
    abstraction.
  • Collaborations
  • Abstract joint behaviors and dialogs
  • Frameworks
  • A foundation for design composition and reuse

11
Types and classes
  • A type is an external view of (some interesting
    aspects of) the visible behavior of some set of
    objects.
  • A type names an interface
  • A type is not the same that a class
  • A type does not specify implementation
  • A class implements a type, making its own
    implementation decisions.

12
Actions, Roles and Collaborations
  • A collaboration defines a set of actions between
    typed objects playing certain roles with respect
    to other objects in that collaboration. A
    collaboration may be refined by a more detailed
    set of actions

13
Frameworks with Placeholders
  • Every object plays multiple roles in many
    collaborations.
  • Each collaboration partially defines the joint
    behaviors of some sets of objects.
  • A framework defines patterns in generic terms by
    utilizing placeholders for elements. It can be
    applied to a family of related types with
    appropriate substitutions to generate different
    models and designs.
  • A model
  • A group of models for a collaboration
  • A static relationship between objects
  • A single type
  • A class
  • A package of related classes

14
Subject-Observer pattern (1)
  • The state of the observer is some function
    project of the state of the subject.

15
Subject-Observer pattern (2)
  • A telephony application using the
    Subject-Observer pattern

16
Framework composition
  • From a partial framework application a tool could
    automatically generate the resulting model,
    including all the invariants and behaviors

17
Summary
  • Catalysis generalizes the concept of frameworkto
    object modeling and specification activities.
  • Specification and design models by composition.
  • A tool could automatically generate a final
    model with specific details.
  • For more information
  • DSouza99 DSouza, D., and Wills, A. Objects,
    Components, and Frameworks with UML The
    Catalysis Approach. Object Technology Series.
    Addison-Wesley. 1999.
  • UML99 Unified Modeling Language, Version 1.3,
    http//www.rational.com/uml
  • Gamma94 Gamma, E., Helm, R., Johnson, R., and
    Vlissides, J. Design Patterns, Addison-Wesley,
    Reading, Massachussetts 1994.
Write a Comment
User Comments (0)
About PowerShow.com