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

Upcoming Courses

Find local public courses on the ASPE website.

Downloads

Software Downloads

Contact Us

Material that goes into the panel area