Catalysis
Next-Generation Component-based Development from Object Frameworks
Catalysis is a rapidly emerging next generation methodology
that provides complete support for component-based development with objects and frameworks, building on emerging standards including UML, the OMG, and RM-ODP.
Using Catalysis, you can describe a complex system based on coherent
perspectives or views. Each view defines a collaboration pattern
with supporting models. Within each view, you can use any of the modeling
tools, each of which helps define a common underlying semantic model.
Catalysis provides well defined consistency rules across models, and powerful
mechanisms for composing these views to describe sophisticated complex systems.
Distinguishing features of Catalysis (buzzwords notwithstanding) include:
- Component-based development using frameworks
- Business models, requirements specs, designs, and code are all
built rapidly from re-usable generic components and frameworks
- Component interoperability is ensured thanks to strongly-defined
interface contracts based on types and type models
- Powerful composition rules enables synthesis of models and
designs from precisely characterized patterns
- Clear development process
- Pattern-based process is modular and adaptable to many contexts
- Covers straight software development as well as BPR, system
enhancement, and legacy upgrades, using uniform notations
- Trace development via refinements from business models to code,
supporting both continuity and architectural transformations
- Precisely defined deliverables and semantic consistency checks
- Fully reconciles behavior-driven and data-driven approaches
- Enables a new level of tool support for re-use
- Patterns in models, designs, and specifications made precise
- Enables repositories of re-usable modeling frameworks
- Tools can help formulate problems, construct solutions, and
manage change, rather than just capture diagrams
- Complies with many standards, and helped define UML 1.0 for the OMG
- The UML-based standard proposed to the OMG has adopted significant technical concepts from Catalysis
- Clearly defined relationship to UML 1.0, Java, COM, OMG-Corba,
the Microsoft/TI Component Reference Model, and RM-ODP
Collaborations and Mutual Models: Every interaction imposes assumptions
and guarantees on its participants, so it needs a clear vocabulary. Catalysis
makes this vocabulary precise with a rich modeling toolbox built on a simple foundation of type-models, permitting clear
specification of responsibilities, while not imposing implementation decisions.
This allows you to:
- Develop a consistent vocabulary shared by customers and development
teams
- Uncover any serious misconceptions and interface deficiencies early
- Have a clear understanding of assumptions, guarantees, and exceptions
- Leverage off powerful semantics-based testing tools
Refinement: Interactions can be described at many levels of detail.
Abstract descriptions often avoid interface specifics, work at a coarse
level of time granularity, or defer "internal" collaborations.
Catalysis is the only method with a clear notion of refinement, permitting
more detailed descriptions to be built in a systematic way from abstract
ones. Refinement lets you:
- Maintain traceability from problem domain model to code
- Utilize a truly incremental approach to model development
- Manage complex problems by progressing from abstract to concrete
- Safely defer details when necessary
- Handle development with mixed levels of detail and completeness
Views and Pattern Synthesis: Objects participate in many collaborations,
and hence play multiple roles. Each role can be independently modeled as
a separate, coherent view. Catalysis provides a simple yet powerful mechanism
for composing views and precisely describing the essential dependencies
between them. Compositional modeling lets you:
- Achieve early reuse by composing existing collaboration patterns
- Divide and conquer complex problems by separating out different aspects
- Review and understand much more complex models readily
- Exploit framework-style techniques from specification to implementation
- Capture behavioral rules in one view that constrain actions in another
Many object-oriented methods today do not clearly separate certain concerns.
Few describe the services required from a component being constructed as
a whole; instead they describe interactions between objects within the component.
Similarly, few methods clearly distinguish the essential dependencies between
components from the various parameterization and configuration mechanisms
which may be used to realize them. Catalysis makes a clear conceptual separation
between the decisions of What, Who, and How.
These distinctions are available for use across the entire development
process, and provide the benefits of a clear focus on the decisions being
made and deferred at any stage.
Catalysis began in 1991 as a formalization of OMT, and was developed over
several years of applying, consulting, and training. It even extends second
generation methods such as Fusion and Syntropy in important ways such as
supporting a powerful form of framework-based development, defining methodical refinements from abstract specification to implementation, handling coarse-grained to fine-grained components, formalizing use-cases, recursively decomposing components into patterns of collaborating objects, synthesizing such patterns, and refining the transactions between the collaborating objects to support traceability.
The Unified Modeling Language (UML 1.0) and metamodel being submitted to the OMG has adopted significant modeling constructs from Catalysis, including types, behavior specs, refinements, collaborations, and frameworks. Catalysis has also contributed to the IBM interoperability metamodel submitted to the OMG, and to the OPEN project.
With Respect To
|
Catalysis Adds
|
---|
OMT
|
Full Model Consistency, Views and Pattern Synthesis, Multiple Types per Object, Rigor and Refinement, Architectural Components.
|
Fusion
|
Full Model Consistency, Views and Pattern Synthesis, Multiple Types per Object, Rigor and Refinement, Architectural Components, Integrated State Modeling.
|
Booch
|
Full Model Consistency, Views and Pattern Synthesis, Multiple Types per Object, Rigor and Refinement, Architectural Components, Analysis and Specification.
|
Objectory
|
Formalization of Use-case, Rigor and Refinement, Multiple Types per Object, Views and Pattern Synthesis.
|
UML - Unified
Modeling Language
|
Full Model Consistency, Views and Pattern Synthesis, Multiple Types per Object, Rigor and Refinement, Architectural Components, Frameworks, Development Process.
|
Catalysis Support
Tools
|
Commercial tool support for notation and some consistency checks, with more complete semantic support following. Catalysis enables a new level of tool support for synthesizing, tracing, and re-using modeling frameworks at all levels.
|
Literature
|
Case studies, Meta-model, Reference cards, Semantics, published papers, Text book, extensive on-line information on the Catalysis web-site.
|
Consulting, Training
|
Full-length training courses, consulting and mentoring support, and our HeadStart program. Train-the-trainer and course licensing also available.
|
Project Experience
|
Used successfully on projects ranging from real-time systems, information management systems, desktop business applications, and enterprise modeling.
|
The principal authors of Catalysis are Desmond D'Souza (dsouza@iconcomp.com) and Alan Cameron Wills (alan@trireme.com), with valuable input from many colleagues and friends.
For further information visit the Catalysis web-site or contact us.