[Top] [All Lists]

Re: [ontolog-forum] MVC

To: Duane Nickull <dnickull@xxxxxxxxx>
Cc: "[ontolog-forum]" <ontolog-forum@xxxxxxxxxxxxxxxx>
From: Edward Barkmeyer <edward.barkmeyer@xxxxxxxx>
Date: Tue, 23 Feb 2010 13:48:13 -0500
Message-id: <4B8422ED.3090702@xxxxxxxx>
I wrote:
>> Upon reflection, I think you mean to place the emphasis on separating
>> the presentation form of information from the information content
>> itself, thus allowing multiple forms of representation for the same
>> information.  Is that right?
Duane wrote:    (01)

> DN: No.      (02)

Then I don't understand the relevance of MVC to knowledge engineering.    (03)

> My take is in alignment with clean separation of concerns.  The
> main benefits I wrote about in my recent book were maintainability and
> flexibility.
>       (04)

A laudable endeavour.  Did you also provide guidance on how to do it?     (05)

In my experience, telling young engineers _that_ they should separate 
concerns, without giving them good guidance as to how, is likely to 
produce at least as many terrible designs as good ones.  In most 
engineering disciplines there are well-established best practices for 
separating implementation concerns in certain categories.  (MVC is 
one.)  And that is all we really know how to teach.  The rest is 
experience and that rare gift -- insight.    (06)

30+ years ago, Bill Plauger wrote a book on how to write software in 
which he talked about "cohesion" as the principle for separating 
concerns.  He then gave some 10 examples of concepts of "cohesion", half 
of which were (intentionally) bad ideas.  His point was that the 
principle has to be applied in terms of best practices, rather than 
intuitive application.  He then elaborated on the cohesion notions that 
were supported by best practices (in 1980), and he went on to talk about 
tradeoff -- choosing the lesser evil.     (07)

"Clean separation of concerns" is not always possible.  Even the best of 
us often find ourselves deciding what category of "dirty" we will 
engineer.     (08)

I think separation of concerns is a natural behavior of knowledge 
engineers in capturing domain-specific knowledge.  That occurs primarily 
because the texts and the experts tend to concentrate on topics in 
presenting the knowledge.  But knowledge engineering in that sense is a 
purely analytical skill -- the capture of what is known.  The design 
skill is in organizing that knowledge to a purpose, which has many of 
the characteristics of the general engineering problem.    (09)

-Ed    (010)

Edward J. Barkmeyer                        Email: edbark@xxxxxxxx
National Institute of Standards & Technology
Manufacturing Systems Integration Division
100 Bureau Drive, Stop 8263                Tel: +1 301-975-3528
Gaithersburg, MD 20899-8263                FAX: +1 301-975-4694    (011)

"The opinions expressed above do not reflect consensus of NIST, 
 and have not been reviewed by any Government authority."    (012)

Message Archives: http://ontolog.cim3.net/forum/ontolog-forum/  
Config Subscr: http://ontolog.cim3.net/mailman/listinfo/ontolog-forum/  
Unsubscribe: mailto:ontolog-forum-leave@xxxxxxxxxxxxxxxx
Shared Files: http://ontolog.cim3.net/file/
Community Wiki: http://ontolog.cim3.net/wiki/ 
To join: http://ontolog.cim3.net/cgi-bin/wiki.pl?WikiHomePage#nid1J
To Post: mailto:ontolog-forum@xxxxxxxxxxxxxxxx    (013)

<Prev in Thread] Current Thread [Next in Thread>