ontolog-forum
[Top] [All Lists]

Re: [ontolog-forum] master data vs. ontologies

To: "[ontolog-forum]" <ontolog-forum@xxxxxxxxxxxxxxxx>
From: Steven Ericsson-Zenith <steven@xxxxxxx>
Date: Fri, 13 Feb 2015 18:07:33 -0800
Message-id: <CAAyxA7s71UN+8kr=mJttcff_c8AB1=WMatjEgm5=vz-QroSrhA@xxxxxxxxxxxxxx>
Dear William,

ADDENDUM

I keep meaning to address your concerns related to "acts of god." Of course ... there is not a lot you can do except include it in your consideration (redundancy etc...) :-) 

Regards,
Steven


On Fri, Feb 13, 2015 at 5:54 PM, Steven Ericsson-Zenith <steven@xxxxxxx> wrote:
Dear William,

For me, at least, a proof is only useful in order to guarantee behavior. If the ground upon which a proof is executed is itself unable to provide or maintain such guarantees then the proof is, quiet literally, useless.

I understand where you are coming from in terms of software development. But in this case what, exactly, does such a proof tell you? Typically it is something like "The program [written in a formal language with a mathematical basis, of which there are few, but lets say it has a CSP basis] is proven to meet its specification [that is also specified in a mathematically based language (say CSP)]."  

You can't do this with UML and C++, for example. Similarly, you can't do this with schema-aware XSLT or XQuery.  What would it mean if you did?

The answer is that it wouldn't mean much at all. For one thing you at least need a formal specification of the target machine architecture even if you do not have a specification of the hardware. If you specify an algorithm  against what do you test it? 

There are, of course, desirable properties - consistency, correct syntax, valid semantic transformation, schema adherence etc... So this is not to say that automated checkers that translate between higher and lower level languages do not have merit but do not mislead yourself into believing that such checks say anything other than there is a vague (a "maybe") equivalence between the eventual behavior of the two.

The bottomline is that there are uses for checkers but these can never provide "proof" that is only ever about the behavior of a program and this behavioral integrity must go to the wire or else it is not a proof. And, of course, a proof can tell you nothing at all about the merit or otherwise of the human specification or design.

And this is where you are confused about pure mathematics. Pure mathematics may be widely applied but it does not draw in the discipline that is using it (hence "Pure"), but rather the discipline that uses pure mathematics is, in fact, applied. So thoughts of data structure and program decomposition, logical structure, distribution of types and classes, variables and conditionals, schemas are computer engineering.questions using applied mathematics. 

Indeed, despite protestations to the contrary (think Chaitin, Wolfram and company), computation is itself an applied discipline that is well short of pure mathematics. Alan Turing was a master engineer and mathematician, and he was also a scientist in his exploration of morphogenesis, where he used differential equations and not computation. But let's not confuse the disciplines as a result.  

There is no part of computer engineering that is purely mathematical, there is plenty of applied mathematics in computer engineering. When I say, contrary to John, that it is conceivable that computer engineering can become science I am thinking of a time when our study and understanding of cause and effect is complete, that is, when programming a construction of our making is, in fact, the manipulation of creation. At this point, we are effectively Gods. And as I said, I do see that potential in bioengineering but it seems a long way off and we need to extend our useful lifespans first. 

Let me acknowledge that computing machinery is vastly more capable at certain tasks. Many of these tasks affect human behavior but aside from this what do they do? What difference do they make in the world? Well, they have enabled us to send craft into the local planetary system and out into intersystem "space", a small beginning. But what is the role of intelligence in the universe as a whole? At this point, it seems there is none.

Except biophysics offers the potential that the role of intelligence is to place life where it would not otherwise appear. This is the best I can come up with right now. Although the ethical issues and social motivations of this pursuit seem insurmountable. 

One of the profound limits of current computational models is in its discrete nature. Its inability, for example, to embody anything of relevance to the human mind. We are dealing with a machine, it consists of collections of simple mechanisms, and lots of them, all of which are related by a fragile artificial composition of our design  constrained by polynomial time. 

These collections are unsuited for independent survival in their environment. And as pretty and as powerful as they seem, they are short lived, unproductive, tomorrows junk. None have the resilience and longevity of the bio world, they do not reproduce themselves, they do not repair themselves, without us they are nothing at all.

Yet they have the richest of us wasting our time and resources in fear of the bogey man (Musk , Gates, etal.). I have friends that have spend decades of their careers building software for systems that they claim may become "self-aware," and I keep telling them that their efforts are futile in the face of these considerations.

There is no across structure decision making, there is no holistic recognition, there is no responsive motion in the vast majority of computing systems, there are only bits - and this is simply the wrong paradigm. 

That said, it is clearly surprising that we can create and imbue such machines with aspects of our intelligence, but this is a reflection of our own ingenuity and Wigner's observation concerning the unreasonable effectiveness of mathematics, but this surprise must not lead us astray.

Regards,
Steven



On Fri, Feb 13, 2015 at 9:49 AM, William Frank <williamf.frank@xxxxxxxxx> wrote:

On Thu, Feb 12, 2015 at 10:43 PM, Steven Ericsson-Zenith <steven@xxxxxxx> wrote:
Dear William,

a. Recall that I spoke about the use of a proof. I did not include how a proof might make you feel.

Interesting.  I understand a proof to provide one piece of certain knowledge  : *if* their are no errors in the proof, then its conclusion is true. and as a result, a proof provides one piece of practical knowledge: to the degree that I ann a community of others I trust are convinced there are no errors in the proof, I can rely on the conclusion in making decisions.   In other words, I always thought, the only practical effect of a proof is a rational feeling of confidence in certain expectations, and that the use of the proof was therefore to *act* on that confidence. I would like to know of another use a proof might have, other than perhaps its esthetic enjoyment.

b. Your concern over consistency relates to the question of boolean "truth" values. And I assume, you refer to Godel's incompleteness, Tarski's undefinability, and the Church or Turing thesis. Of course, these are demonstrated for truth systems. 

I was just using the incorrectness of Copi's 'proofs' of the consistency of his logic as evidence that just because there is a purported and widely accepted proof, even of something that one might take as obvious, is no absolute proof that the conclusion of the proof is true, and, for people, and complex systems, there is never such an absolute proof.

c. My colleagues (actually, David Shepherd) successfully demonstrated the implementation of the IEEE 754 standard. They did this by converting the standard into Occam and then Occam to CSP, the language in which the machine microcode was specified. This was then demonstrated to be equivalent to the RTL hardware description from which the device was manufactured.

Very cool.
 
This is electrical engineering and at this level there is no concern about quantum effects.

I would agree that this is electrical engineering, an application of computational mathematics,   And as such, is to be trusted only with caveats. I am not so concerned with quantum effects as I am with the effects of fires, asteroids, faulty materials, electromagnetic effects, vandalism, .... on how that physical device will actually behave. 
 
It is not widely appreciated that truth based systems are inherently, and necessarily, dualist. As a result it is hardly surprising that there are logical statements that are ambiguous or may only be specified by an external language. Essentially, and this deals with foundational matters. To overcome it you must eliminate the notion of truth in favor of direct and holistic behavior (or action) where such inconsistency is impossible (essentially because you are not speaking about the world, you are simply describing it). 

Inconsistency is a long standing problem in logic but it is not insurmountable. The confusion came from holding truth to be something in the world. The moment we escape metaphysics the problem disappears.

Ah, so here, we are speaking at cross purposes.  I had no intention of bringing in metaphysics, and I think that even mentioning escaping it is bringing it in.   But, in this regard, to each his own.   I thank you for your patience in answering.


d. Pure Mathematics draws necessary conclusions from premises of any kind and is not a natural science.

Right.  But some call mathematics a science.  Mathematical science and natural science being the two types.   That is the source of the problem with 'computer science'.  Maybe compuational mathematics would be clearer.
   
Natural science applies pure mathematics (that is capable of telling us beautiful lies) and it is the role (in my world) of Logic to build the bridge between Pure Mathematics and the natural sciences (i.e., I do not hold with Logicism). There are certainly aspects of computer engineering that are pure mathematics but this does not make computer engineering a natural science. 

Of course not. 

But it makes some aspects of computer engineering not engineering but rather pure mathematics.    Turing machines and context - sensitive grammars are abstract things of interest in their own right, as much as are categories and fractals and other mathematical topics that from time to time turn out to have practical applications.
 
There are, however, things in natural science that can inform the engineering of computing machines, and indeed, this is where I spend a good deal of time. Engineering is a fine profession and there is no shame in using the term, although this does seem to be a very European view.

 
Engineering is driven by human economics and gathering a proof (that a bridge will not fall down, for example) would be incredibly expensive.

My point was that it would be ***infinitely*** expensive, as being logically impossible, and showing an impossibly arrogant attitude toward nature and its vicissitudes.   Rather, as you say, the appropriate approach is to establish, to the degree cost effective, within the realm of the controllable and a certain set of rare events, a strong expectation that the bridge will not fall down,
 
And this is why good engineers have good intuitions. It is also why few efforts of the kind I describe above for the IEEE standard have been funded.

At which point does engineering become science? I think this is a good question and it may well take place in coming decades in bioengineering. But my guess is that we will all need to have longer lifespans and longer careers before this happens.  

e. I was being informal in my use of the term "compatible" - I mean only that a proof should be continuous through specifications.

Sure.  If you prove something about one layer, and not the one below, the value of the proof about the higher layer is greatly diminished, especially because any of us using a 'modern
 computer to even write email messages is well aware that the system is so hopeless convoluted as to guarantee frequent, unpredictable breakage.  This, however, does not make the higher level proof 'useless'.  I would rather know that **at least** my nice little program has been examined under the microscope of a proof method and not found wanting.   I like to see this happen because I fear that the 'modern' direction is to abandon all such attempts, since we can't have everything, and continually make bigger mess all the way up and down the stack.  

Thanks again.

Wm
 

Regards,
Steven





On Thu, Feb 12, 2015 at 4:47 PM, William Frank <williamf.frank@xxxxxxxxx> wrote:

Steven Ericsson-Zenith <steven@xxxxxxx>

wrote:

"Let me just note a couple of peripheral issues. 

1. Proof of a software program is only of use to you if the behavior of the underlying hardware is formally proven and that proof is compatible with the proof of the program. "

 This is one of the most puzzling sentences I have ever read.  

a. Why is a proof useless because it does not prove that everything is also OK in the world to which the thing proven might be related and by which it might be affected?   The use of a proof helps convince you that *at least that part* of the problem is less likely to cause us trouble. 

b. Even the proof does not guarantee that we have absolute certainty, since of course many proofs that convince many people prove to be incorrect.  If I recall, the *consistency* proof on Copi's Symbolic Logic was for sure wrong for the first two editions, as each edition had been shown to be inconsistent, in a more convincing manner.  (The consistency proof in edition three has stood.)

c. the idea that we could prove anything about underlying hardware is amazing.  I though that the physical sciences were of their very nature inexact, and that the behavior of all physical objects was unpredicatable, to one degree or another.    If I am wrong, something awfully big has happened in science that passed me by.  I would truly love to hear it named. 

d. this seems to be related to your claim, Steven, that there is 'no such thing' as 'computer science.'  Where I went to school, 'computer science' was defined to be a branch of **pure mathematics** that had many (as always) inexact applications in computer engineering.     This idea fell on deaf ears last time I raised it in this forum, and I have continued to wonder why.  I can't imagine why it is a controversial view, except perhaps that there are all those computer science departments out there that teach a little computer science, and alot of computer engineering, and don't make the distinction they should.  (Then, I taught for a while at a school that had a department of 'poultry science', which likewise did not distinquish the specialized zoology from the engineering). 

But, it is am important distinction.  After all, if we could prove things about physical machines, as well as theoretical ones, then why would not all engineering actually be science?  Perhaps because we built it, rather than found it by the side of the road?  (Well, as I said before, I never found any Turing machines on the side of the road, and I never expect to.) I If somebody told me, I can prove my bridge will never fall down!  I can prove no one can every hack this cypher! I would have said, let me hire somebody who knows his business better than to say either of those things.  But, again, maybe something awful big has happened in science while I was not looking.   


e. finally, though it has been more than 30 years since I was a professional in proof theory, I do continue to dabble and publish in the philosophy of logic, and i was even interested in the head-of-a-pin question of whether two proofs concatenated was also a proof.  But, I did not ever hear of the concept of proofs being 'compatable' and can't find it on the web, or in the Stanford Encyclopedia of Philosophy.  So, again, it is an idea I would find very interesting, if it has a definition.





On Thu, Feb 12, 2015 at 6:52 PM, Ravi Sharma <drravisharma@xxxxxxxxx> wrote:
John
Your last link is a great description, still learning about transition from top of Ontology architecture quadrants to Implementation architecture, since that transition is not so smooth in-spite of having tools mentioned and standards developed (that limit RDBMS to inter operate with Ontologies  in this MDM - Ontology thread), hence this space does need to become routine! Will it ever become commodity like O-R mappers or JDBC ODBC?
Regards,
Ravi
On Thu, Feb 12, 2015 at 3:25 PM, Steven Ericsson-Zenith <steven@xxxxxxx> wrote:
Let me just note a couple of peripheral issues. 

1. Proof of a software program is only of use to you if the behavior of the underlying hardware is formally proven and that proof is compatible with the proof of the program. 

2. Not all hardware is formally specified or proven.

3. Similarly, proof of a software program is only of use to you if the behavior of the underlying translators are formally proven and that proof is compatible with the proof of the program. 

4. Not all translators are formally specified or proven.

5. In fact, 2 and 4 above are weakly stated. Few hardware devices, and certainly fewer computing machine, are formally species or proven. Not one translator in common use, of which I am aware, is formally specified or proven. And this is not to mention the ad hoc nature of most interpreters. 

Regards,
Steven



On Thu, Feb 12, 2015 at 3:13 PM, John F Sowa <sowa@xxxxxxxxxxx> wrote:
Dear Matthew, Alex, David, Ravi, and Kingsley,

MW
> What the ontologies and master data represent is essentially
> the same thing.

I agree.  And the operations performed by a computer program
are just as logical as anything specified in OWL.  (But what
that program does so logically might not be what the programmer
had intended.)

JFS
>> Anybody who has ever written a program that runs correctly
>> on a digital computer is a mathematician.

AS
> if and only if that anybody has proved correctness

My claim does not require a formal proof:

  1. Every digital computer is a logic machine.  And every program
     performs logical operations on strings of bits.  But there is
     no guarantee that what the program does has any relationship
     to what the programmer had intended.

  2. But anybody who has written a program that has performed at
     least one computation as intended has correctly anticipated
     what the computer would do for that computation.

  3. Therefore, that programmer has demonstrated the ability to think
     logically -- at least for that example.  If you want to be 99.9%
     certain, ask the programmer to demonstrate 10 correct results.

DP
> Ontologies are data models written using logic-based languages and
> can cover whatever scope is of interest.

I agree with Matthew that the notation need not be called a logic
for the specification to be called an ontology.  (And it's irrelevant
whether the person who wrote the specification used the O-word).

RS
> Do any mapping tools exist?

Many kinds of mapping tools have been developed.  Logic programming
languages such as Prolog are an example.  UML diagrams can be and
have been mapped to logic, and there are tools for using UML diagrams
(and many similar notations) to generate some or all of a computable
specification.

As Kingsley mentioned, there are also tools that map declarations
for one computable form to declarations for another.

RS
> Are organizations such as OMG and W3C doing it already

Yes.  OMG sponsored the fUML specifications for a subset of UML:
http://www.omg.org/spec/FUML/Current/

I discuss many projects and reports for various kinds of
mappings on the web page "Semantics for interoperable systems":
http://www.jfsowa.com/ikl

John








_________________________________________________________________
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




_________________________________________________________________
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
 



--
Thanks.
Ravi
(Dr. Ravi Sharma)
313 204 1740 Mobile


_________________________________________________________________
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
 



_________________________________________________________________
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
 



_________________________________________________________________
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
 



_________________________________________________________________
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
 



_________________________________________________________________
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    (01)

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