Re: Multi Valued Interface Models?
Date: 13 Feb 2006 17:53:14 -0800
Message-ID: <1139881994.518885.274830_at_z14g2000cwz.googlegroups.com>
x wrote:
> "dawn" <dawnwolthuis_at_gmail.com> wrote in message
> news:1139598896.676278.14030_at_g44g2000cwa.googlegroups.com...
>
> > x wrote:
>
> > > You have not shown a complete model of the interface.
>
> > A complete model? Maybe we need to look at what a model is. A model
> > is a metaphor or a, well, model of the real thing. It is not the real
> > thing. A model car doesn't usually have a working engine. It might
> > not have working brakes or even any brakes.
>
> You have not given the specifications for the interface in a way that not
> assume a particular solution.
> > > HTML and XML are not UML.
> > > I don't think UML is generally acceptable.
> >
> > Nothing is completely acceptable everywhere. Prototypes might come as
> > close as possible to be generally acceptable, but you always get
> > comments about how it is not a "complete prototype" which I gather
> > would be, well, the final product. What diagramming specification is
> > more commonly accepted than UML? That is not a rhetorical question.
> > I'd be happy to use something else for showing a diagram of a logical
> > model of data.
>
> I don't know UML but I was exposed to some OMT after I've learned about
> formal languages, automata theory and RM. For this reason it was easy to
> grasp.
Good. I kept it as generic as I could.
> http://microgold.com/Stage/UML_FAQ.html say it is an object oriented
> modeling method.
> And you have not given :
> -Use-case diagrams
> - Class diagrams
> - State-machine diagrams
> - Message-trace diagrams
> - Object-message diagrams
> - Process diagrams
> - Module diagrams
> -Platform diagrams
> so I don't know if you have given an UML model after all.
I definitely did not model an entire system, if that is what you mean. I prepared exactly one component of an application model -- a class diagram for the user interface (not for the persistence of data collected or presented via that interface, for example).
> > > > > Why not using a real example of an application interface ?
> > >
> > > > I'm looking at the model of data for a user interface and then said
> > > > that same model could be implemented in xml, for example, for data
> > > > exchange.
> > >
> > > You are not looking at a relational model of data.
>
> > I am looking at what data models could be used for modeling the data.
> > In the case of a UI, you cannot model the exact data in the interface
> > using the RM.
>
> Why ?
I'll likely have to work on this point in a variety of ways. I'll try an alternative approach to last week's blog in the one this week.
> > > You talk about data copying.
>
> > ?
> You said "same model could be implemented in xml, for example, for data
> exchange".
> How is xml better at data exchange rather than at data copying (data
> transfer) ?
> > >
> > > > > HTML/XML/HTTP is a poor low level complex way to describe an
> interface.
> > >
> > > > I thought of it as a high level way. I wasn't intending to bring HTTP
> > > > into the picture, only to take an example of an arbitrary UI. Without
> > > > loss of generalization...
>
> > > If they were high level tools you would have found them easy to use.
>
> > So Dreamweaver and GoLive are high level tools and HTML is a low level
> > tool? OK. I use GoLive and only bring up the source code panel and
> > code raw xhtml. So, perhaps mid-level for the html and xml.
>
> Then GoLive is not good enough if you have to go to raw xhtml.
> I would not call xhtml source code because it is not the source but the
> target.
>
> > > > > Are
> > > > > you trying to use a high level tool to model a low level one ? (like
> > > > > implementing assembler in Pascal or Prolog )
> > >
> > > > No.
> > >
> > > Then you have done that by mistake.
> >
> > Sorry, x, I'm just not tracking with you.
>
> You will.
Glad you have confidence.
>
> > > > > One does not need to model all interfaces with RM.
> > >
> > > > OK, now we are getting somewhere. In fact one cannot model all
> > > > interfaces using the RM, right?
> > >
> > > > > Just the ones at the highest level.
> > >
> > > > I'm not tracking on this.
> > >
> > > If you need to integrate N high level software components it would be
> better
> > > if all of them would have the same interface (a relational one :-).
>
> > I agree on the first part. I don't see how that would be possible
> > using the RM, however. How could you specify an arbitrary UI, such as
> > the example I gave, using the RM?
>
> You have not given the specification for the UI.
Only a class diagram of the precise interface (user interface).
> Have you heard of Model-View-Controller UI paradigm ?
Oh, you betcha.
> RM could be used for the "Model" part for example.
> I think the screen layout can also be described by RM.
> What is left ? The painting of the screen, capturing user actions (which are
> the I/O part) and responding to user events.
> Which of the above would you want RM to handle ?
>
> Have you heard about DOM http://www.w3.org/DOM/ ?
Yes, definitely.
> > > > > If you want to use the same model for
> > > > > all interfaces you can always use assembler programming for that.
> > >
> > > > Yes, given a programming language as the implementation of a data
> > > > model, I would agree with that. What are other options for that data
> > > > model (and implementations thereof)? One model we cannot use is the
> > > > RM. Languages that implement the RM cannot be used as the exclusive
> > > > language for the user interface. Any disagreement with me on this one
> > > > likely stems from some difference in understanding of <em>data
> > > > model</em> or a common understanding of a data model for an interface.
> > >
> > > > SQL is the language used to interface with an RDBMS and the model is
> > > > attempts to employ is the RM. What models can be employed with the
> > > > interface to the user (replace the dbms with a user and model the
> > > > data).
> > >
> > > Something based on logic like RM because peoples use proposition when
> they
> > > affirm or deny something in writing.
>
> > Yes and I think that is good. I want to model a proposition of
>
> > I would like a pizza with pepperoni and sausage on it
> > like this
>
> > I would like a pizza (foodItem) with pepperoni and sausage
> > (toppingList) on it.
>
> > with a predicate
>
> > I would like a <foodItem> with <toppingList> on it.
>
> How would this exclude the RM ?
> Order(client,foodItem, toppingList)
>
> > > > > Have you noticed how hard is to write all the HTML&Co code by hand ?
>
> > > > Very painful, yes. And then I had problems with putting xml in html
> > > > across browser platforms and ended up replacing < with < Ugh!
> > >
> > > How is this for a high level language ?
> > >
> > > > > Have
> > > > > you noticed how hard is to maintain this code when you have to use
> > > reverse
> > > > > engineering for it ?
> > >
> > > > I'm not sure I understand what you mean with that.
> > >
> > > This is the same as translating some code to assembler/object code and
> > > losing the source.
>
> > OK. Yes, no fun.
>
> Have you had a similar experience with applications implemented with Pick
> systems ?
No, but I have not been a Pick programmer per se.
> Have you had a similar experience with applications implemented with an SQL
> DBMS ?
> For which one is harder to recover the data encoded in the database ?
They each have pros and cons.
> For which one is harder to understand how the data is manipulated ?
They each have pros and cons.
>
> > > I mean do. :-) But I don't see yet how this means to completely
> replace/hide
> > > the RM instead of extending it.
>
> > I don't care how you get there, but the RM as implemented and used
> > today is what I think needs to be different. It seems to me that as
> > soon as you remove 1NF as originally defined, you have something other
> > than the RM.
>
> You would have to ask Codd how 1NF was originally defined.
I covered that in my "Is Codd Dead" blog entry.
> What is atomic data by your definition ?
>
> The fact that RM is badly understood and implemented is recognized by many.
> Codd said this many times.
That is why I tried to dig in and actually define it, starting where Codd started.
> > But if we add in relation-valued attributes, then one
> > thing we are missing is ordered lists.
>
> Why ?
This seems to be a tautology to me, so I'm not sure how to answer this. An RVA is unordered by definition, right?
>
> > > It seems you are failing to take advantage of the assumptions made by
> the RM
> > > to show its weak points.
>
> > > If the RM can capture the data to be retained for a long time I don't
> > > understand why it cannot capture the data from an user interface.
>
> > The question is not whether it can capture the data, but whether it can
> > be the model behind the interface, which would mean that an
> > implementation of that model could be used to code the interface.
>
> Would you want RM to handle screen painting and mouse input ?
> Would you want RM to handle event handling ? :-)
Nope.
> > > There is data in a user interface that cannot be stored in an SQL
> database ?
>
> > Suspend all thoughts of storage from your mind in this discussion.
>
> I was not thinking about storage.
>
> > This not about persisting data using a data model, but providing a UI
> > with a data model. It is the interface that uses a language whose
> > abstraction is a data model. So I'm talking about the data model OF
> > the UI.
>
> I was asking if there is data that can be represented by the data model of
> the UI that cannot be represented by the data model of an SQL database.
Change the word "by" to "as" and then yes.
>
> > > Even so, what deny us to extend RM to handle that instead of completely
> > > hidding or replacing it ?
>
> > I am not opposed to set-based processing, so if you want to call it
> > changes to the RM that's fine with me.
>
> Ok.
>
> > Once you hide it, however, you
> > are no longer using it as the model for the interface.
>
> Who said anything about hidding it ? Not me.
>
>
> > > > Data models back interfaces, such as the data model used to interface
> > > > between one piece of software or a human being and a SQL-DBMS. Look
> at
> > > > the data model behind an arbitrary user interface.
> > >
> > > I've looked and I've seen RM ;-)
>
> > Can you sketch an RM-based language (that is, an implementation of the
> > RM) where using only this language, you could output a web page from
> > the UML class shown?
>
> SQL + several base tables and constraints + some code in a general purpose
> language to handle the conversion to HTML because browsers don't have an SQL
> interface.
>
> No one claimed one should use only SQL.
Agreed.
> But if I would be willing to try
> hard enough, maybe I could come up with a language based on the RM for
> writing code also not just for describing data. Then the applications would
> become easier to maintain :-)
I think this is something like what mountain man is suggesting by using
stored procedures. You still cannot model the UI with the RM, however.
<snip>
Cheers! --dawn
Received on Tue Feb 14 2006 - 02:53:14 CET