All time stamps are PST / PDT (San Francisco, CA)


Assets Quick Nav

See the 'All Assets' quick nav link group over there on the right?  Rather than scrolling through the Downloads section poking at thumbnails, you can get to all the latest metamodels, code, documents and API's from those links.  A Document Register (Doc Register) link has been added to take you to a google spreadsheet catalog of all miUML documents.  And the Document Register spreadsheet has live links to all of the documents.  There's not much space in the right column, so 'Class API' refers to all of the Class Model Subsystems.  Similarly the 'State API' all State Subsystems (State and Poly).


State API-Editor Progress

I have been implementing the editor functions for the state subsystem the past few weeks which include all of the polymorphic event delegation / promotion operations.  The API calls should be in the Live Spreadsheet by the end of March, worst case, along with the source code files.


Update: State and Polymorphism Subsystems

New versions of each subsystem are now available.  Both subsystems have been adjusted so that Creation Events are always non-polymorphic.  The reasoning is discussed in the previous news post (and in the relevant descriptions, of course).   To help illustrate the tangled web of generalization / specialization relationships necessary to model polymorphism, I have cobbled together this color coded Venn diagram which you can also find under the Event specialization (R560) relationship in the Polymorphism description document.  (If you save the image below, it should open up larger in whatever picture viewer you have).  Then you can look at it side by side with the Polymorphism Subsystem class diagram.


Polymorphic creation events?

It seems the model permits a Creation Event to be polymorphic, which has been rightly pointed out as nonsense.  Consider the bank account example.  You might want to send a close signal to an instance of Account without knowing or caring whether it is checking or savings, even though the resultant behavior might be handled in only one subclass.  But you wouldn't ever try to create an instance of Account without knowing what type it should be.  (Otherwise you would create only a portion of the object, which is illegal in miUML).

You can see on the current State and Polymorphism subsystem class diagrams that a Creation Event is an Effective Event which may be an Inherited Effective Event, which would be wrong in the case of a Creation Event.  Fix pending.


Updating API for Postgresql 9.1

The currently published source code (link to the right on the download page) is compatible with Postgresql 8.4, but I have just updated it for 9.1.  Only a couple of minor changes were required it seems.  At the moment, it looks like I've got everything running okay in 9.1, but I will probably wait to post that until I've integrated and tested the API for the state subsystems.  If anyone would like the 9.1 update sooner than that (for the class metamodel subsystems only), let me know and I can make it available.