Books
Both books are available for sale in leading bookstores.
Executable UML
Applied SOA
Whitepapers
Beyond Referential Attributes
Download
Traditional Shlaer-Mellor information modeling borrows heavily
from relational data modeling. Every class is required to have an
identifier and every relationship is formalized by copying the
identifying attributes into the related object as referential
attributes. As in relational data modeling, the selection and
placement of referential attributes is used to express certain types
of constraints.
Because referential attributes are so tightly coupled to a
relational data model, they have been routinely vilified and
eliminated from many practitioners’ models. Models in Executable
UML generally did not use referential attributes. Yet there remain
cases where referential attributes seem to be the only means of
formalizing certain types of constraints.
After understanding the semantics underlying identifiers and
relationship formalization I will can present an alternative
notation based upon these semantics and show how it can be used to
solve the problems that seem to require referential attributes.
Conference Presentations
Copies of most presentations and papers can be directly
downloaded from our site.
Why Model-Driven Development?
A business rationale for model-driven development.
Download
Making UML Executable
Executable UML models systems at a higher level of abstraction.
But it's far more than pretty pictures and "graphical Java." The
models are the code. Executable UML offers the benefits of early
verification through simulation, the ability to separate
implementation decisions from understanding of the problem, and the
ability to execute the UML model directly and efficiently on a wide
variety of platforms and architectures.
This session defines the components of executable UML and how
they fit together. It shows how to build Executable UML models and
it shows how the models form a coherent, streamlined whole. Special
attention will be paid to the newly adopted action semantics that
are required to make the models executable.
Finally, we will explore two basic approaches for compiling and
executing models: code generation and virtual machines. We will see
how model compilers operate and what decisions need to be made and
when they need to be made during the development process.
Download
Software On Internet Time…and Time Again
Has the move toward lightweight "agile" methodologies rendered
formal analysis obsolete? After all, if you have storycards and
code, who needs models and plans? Who wants to waste time modeling
when you can have code today?
These presentations will present a case study of a successful
internet-time project that repeatedly delivered iterations on-time
and on-budget. We'll see how practices such as executable modeling
and domain partitioning contribute to a project's agility and
actually enable software on "internet time."
- Part 1
covers our basic approach. That part was produced during the
first few months of a new development project.
- Part 2,
produced several months later after the project had matured,
summarizes what we learned and will carry forward into future
projects.
Use Cases? We've Had Them All Along!
OO Orthodoxy says to begin analysis with use cases. Many projects
begin their OO analysis with a significant phase dedicated to use
case analysis. However, publications to date on Shlaer-Mellor OOA
have been silent on the subject of use cases.
In this presentation, we'll see a method for creating and
representing use cases using tools and techniques familiar to
Shlaer-Mellor practitioners as well as a method for producing
scenarios that helps significantly in the development of state
models.
Download
What About XML?
XML has emerged as a dominant means for describing structured
data. XML-enabled applications can add reporting, document
generation, and web browsing capabilities easily by applying XSL
stylesheets to generate the output forms. However, single-step XSL
translation is often difficult and unwieldy. This paper will
describe a multi-step approach now in practice based upon the notion
of generic, reusable "service domains" that makes it significantly
easier to apply XSL translations.
Download
An Executable UML Virtual Machine
How can you make UML executable? What's needed in order to enable
developers to build models and to have them execute as code?
The UML action semantics specification defines a set of robust
primitive actions on Executable UML objects and state machines. This
presentation extends that work by defining an XML-based "machine
language" based upon the action semantics, shows how one can build
Executable UML virtual machines for specific architectural and
performance requirements, and shows how through XSLT this virtual
machine language can be used as the foundation for code generation.
The presentation will be highlighted by a demonstration.
Download
UML for Business
This monthly column examines some of the issues involved in using
UML for the creation of solution models. How is modeling a solution
different from using UML as a whiteboard notation or using UML to
document code?
Let's Build Executable Models
Executable UML models systems at a higher level of abstraction.
But it's far more than pretty pictures and "graphical Java." The
models are the code. Executable UML offers the benefits of early
verification through simulation, the ability to separate
implementation decisions from understanding of the problem, and the
ability to execute the UML model directly and efficiently on a wide
variety of platforms and architectures. This session defines the
components of Executable UML and how they fit together. It shows how
to build Executable UML models and it shows how the models form a
coherent, streamlined whole. You will learn how to organize
conceptual entities into classes, to define system behavior as a
system of communicating state machines, and to develop and to
execute tests that validate the models. Special attention will be
paid to the newly adopted action semantics that are required to make
the models executable.
Download
Let's Build a Model Compiler
In the world of Executable UML, few things seem as mysterious as
“model compilers.” Essential aspects of model-driven-development,
good model compilers leverage the expertise of the best software
architects across an entire system. The selection and construction
of an appropriate model compiler is critical to the performance and
scalability of the system’s software architecture. But what goes
into a model compiler, and how can a project develop one in order to
realize the benefits of model-driven development? This tutorial
reviews the components and semantics of Executable UML. Software
architects and developers learn how to define a software
architecture based upon architectural, performance, and other
non-functional requirements; to use the architecture requirements to
evaluate existing model compilers; and to adapt an existing model
compiler to meet the specific performance requirements of the
application. You will examine how to use this architecture
assessment to construct a model compiler for enterprise-class
architecture.
Download
An XML Architecture for UML Models
No abstract available
Download
Model-Driven SOA: The BPM-SOA-MDA Connection
No abstract available
Download