Hi guys, If I were to snip in my two cents...
The further we (GastrOS team) delve into GUI generation from templates/archetypes, we're increasingly facing the question: "where is the line between the domain model and program behaviour?" I have a feeling that especially in modern software systems (clinical ones included) there is an increasing expectation for rich user experiences and basically a movement away from rigid CRUD-type interactions (where the choice of GUI elements are effectively driven by the underlying data model) to a more fluid set of interactions that essentially puts the user in charge (so almost every piece of functionality is accessible from another in one or two steps). So what this means in terms of modelling is that often having the domain model defined is nowhere near enough to define the complete set of program behaviour (and hence the working program itself). And often the two (model and behaviour) are intricately linked, especially from the user's perspective. In fact, my experience and intuition is that users nowadays tend to think more in terms of what they want the program to DO, than what the program should HAVE. So things like "I want it to pop up a dialog here, when I click this, and when I'm on this form I want to be able to edit this and that". What we have tried to do so far was to effectively include all of this "interaction" stuff into the template (as annotations) so as to retain the ability to completely and dynamically generate a fully functioning GUI from the model alone. So far we have managed it successfully, largely thanks to the relatively structured and uniform degree of user interaction mechanism that's sufficient for our system requirements. But yes, if we were to try building say a PMS just from our models, that'd be pretty crazy. I do think it's wise to separate the "behaviour" stuff out of the model, and come up with a solid formalism for expressing it. As Seref and others point out, the more we clutter the model with program-specific concepts, the less reusable they would be across different usage scenarios. But I think we do need to probe deeper into the question of, again, what's the distinction between data model and behaviour? In ADL we already have mechanisms for expressing ceratin kinds of constraints, and there would be a natural expectation for the GUI to filter out the user interactions so as to prevent the model from violating these contraints. E.g. disable an input field at certain times. So is that considered behaviour, or part of model? That's the kind of distinction I'm talking about. I hope I've articulated the issue clearly enough. all the best, Hong Yul On 29/03/2011 4:23 p.m., Koray Atalag wrote: > Hi Tom, others > I now see all points. I really like the idea of specialised templates > used for GUI hints (as well as for other usual purposes) and that we > have the usual shared templates without any of this. I am happy to put > our contributions and encourage others to do so. The thing is many of > the design decision we made were influenced by our lead developer, Dr. > Yang, who didn't really know much about openEHR in the beginning. But > he ws able to relate many existing software engineering practices and > theory to this world. I thing we need to engage more people who are > are really objective in this space. > Cheers, > -koray > ------------------------------------------------------------------------ > *From:* openehr-technical-bounces at openehr.org > [openehr-technical-bounces at openehr.org] On Behalf Of Thomas Beale > [thomas.beale at oceaninformatics.com] > *Sent:* Saturday, 26 March 2011 2:05 a.m. > *To:* openehr-technical at openehr.org > *Subject:* Re: GUI stuff in AOM/ADL? (Was: future ADL-versions) > > On 25/03/2011 03:05, Koray Atalag wrote: >> >> Hi Eric, good points...As you may remember we had this discussion on >> this list not so long ago and I don?t remember any action taken after >> that. I guess we should take lead and come up with some proposal. >> Perhaps it?d be good to have a wiki space - but I want to repeat >> myself: someone from core group must guide the group and provide >> early feedback whether we are on the right track or not. >> > > To all interested in this area: in terms of innovation and ideas, the > people in this discussion are the 'core group'. Advice from myself > and others historically working on the specifications is as I have > already posted, i.e. IMO, stick to the separation of concerns with > respect to artefacts. I personally would not include GUI-related hints > in templates either, because there will eventually emerge some > templates that are widely shared, e.g. national and international > (e.g. European) discharge summary, referral, e-prescription etc - but > whose GUI models are very unlikely to be shared. On that view of > things, you don't want to have to revise such a published resource due > to some particular GUI directives buried inside it. This doesn't mean > that the ADL (abstract or XML form) formalism can't be used, but I > still think a separation of the pieces will make dependency and > release management a lot easier. Erik may be right: if the GUI hints > can be expressed in a template, then by definition, it can be done in > a specialised template, and that can clearly be local. > > At the moment, we have to consider this area as 'industrial research', > and I for one would encourage all experimentation to be published and > flagged on this list, as a way of getting us all on the same page with > respect to lessons being learned. > > - thomas beale* > * -- Hong Yul Yang Research Programmer Department of Computer Science The University of Auckland Office (tamaki): 731-339 Phone: +649 373 7599 x88237 http://www.cs.auckland.ac.nz/~hongyul -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.openehr.org/mailman/private/openehr-technical_lists.openehr.org/attachments/20110403/0b602a14/attachment.html>

