Just now, I read this text from http://www.ultradark.com/01mda08mdainfo.htm
Beware Domain Confusion
It is important to remember that a User Interface PSM does not know about Trains or Tracks. It just knows about screen objects like Icon, Line and Window. The terminology used in a PSM is completely different to that used in the PIM. For example, when looking at a Train Controller’s display, if someone says “The Train is in the Window” it may sound reasonable but it betrays confusion about what objects belong TO what subject matter domains. The Analyst should ONLY talk about “Icon in a Window” IN the PSM AND “Train on the Track” IN the PIM.
It IS a good example therefore I want have SOME discusion RELATIVE.
I think it seems made me MORE confusion:-). IN short, I rather say:
the analyst should ONLY talk about “Icon in a Window” IN the PSM AND PIM, AND “Train on the Track” IN the CIM (OR DM, DOMAIN Models).
Whatever, I thought the PIM should be the models OF solution instead OF the models OF DOMAIN (OF problem). It IS important because the transformations BETWEEN PIM-PSM AND CIM/DM-PIM ARE essentially different.
PS. the relation OR difference OF CIM AND DM IS ignored here temporarily AND I don’t like the term CIM (computation independent model).
I´m not sure I get the difference between PIM and PSM in your view. Can you describe what would contain the PIM and PSM
(and CIM if you want) for a specific example?
Let me try to describe in simple terms. For the thought above I wanted to explain, can use the metaphor:
PIMs and PSMs are to say the same thing (e.g. Icon in a Window) in different dialects, but the domain models (or CIMs, ?) are say the another things (e.g. Train on the Track) which are has relationship onto the PIMs.
Nevertheless, maybe it is not a good metaphor, because the PIM and PSM has a different abstract level possibly.
(To express the idea behind this in English clearly is a real challenge for me. But this is the thing I’m trying TO learn very hard. 🙂
(Modified: the example IS reversed previously)
Well, AS their NAME indicates PIMs ARE platform-independent models AND PSM platform specific ones. But it´s also TRUE, that you can have several levels OF PIM AND PSMs. So, yes, you could have a PIM model OF a USER interface IN which you define the conceptual components that define the interface AND THEN a PSM that matches these components TO the specific LANGUAGE primitives OF the target platform