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:





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:

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:

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:



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.