siping@cathedral.cerc.wvu.wvnet.edu (Siping Liu) (02/13/90)
We are working on a project cooperatively among several universities and companies. Different object-oriented knowledge representation languages are used by different groups, such as C++, Objective C, KEE, LASER (similar to KEE), etc. The problem is that we need to define a neutral representation language used as a media so that different representations can be easily translated from each other. Has anybody done this kind of work before? What are the requirements we should consider at the beginning? Any references? Any help will be highly appreciated. Thank you for your attention. siping@cerc.wvu.wvnet.edu
siping@cathedral.cerc.wvu.wvnet.edu (Siping Liu) (02/16/90)
I posted a question a few days ago about the "Neutral Representation Language". Here are replies I have got. Thanks to all of the concerns. -------------------------------------------------------------------------- From sdm@cs.brown.edu Tue Feb 13 03:47:03 1990 Return-Path: <sdm@cs.brown.edu> Received: from cs.brown.edu by cerc.wvu.wvnet.edu (4.1/SMI-4.0) id AA25805; Tue, 13 Feb 90 03:47:01 EST Received: from norton.cs.brown.edu by cs.brown.edu (4.1/SMI-4.0) id AA20177; Tue, 13 Feb 90 03:44:35 EST Date: Tue, 13 Feb 90 03:44:22 EST From: sdm@cs.brown.edu Message-Id: <9002130844.AA04557@norton.cs.brown.edu> To: siping@cathedral.cerc.wvu.wvnet.edu Subject: **** Neutral Representation Language **** Status: RO My thesis research involves developing an internal representation for software systems such that multiple views can share a common representation. For broad classes of views, this implies being able to do at least partial mappings between views. The project you described in your posting to comp.lang.c++ sounds similar to mine. I would be very interested in hearing more about what you are doing, who is involved, etc. My experience has been that there is not a lot of work being done in this field, but interest seems to be on the rise. Scott Meyers sdm@cs.brown.edu -------------------------------------------------------------------------- From pwd%computer-lab.cambridge.ac.uk@NSFNET-RELAY.AC.UK Tue Feb 13 07:11:37 1990 Return-Path: <pwd%computer-lab.cambridge.ac.uk@NSFNET-RELAY.AC.UK> Received: from RELAY.CS.NET by cerc.wvu.wvnet.edu (4.1/SMI-4.0) id AA26106; Tue, 13 Feb 90 07:11:34 EST Received: from nsfnet-relay.ac.uk by RELAY.CS.NET id aa03681; 13 Feb 90 5:59 EST Received: from sun.nsfnet-relay.ac.uk by vax.NSFnet-Relay.AC.UK via Janet with NIFTP id aa05614; 13 Feb 90 11:27 GMT Received: from webb.cl.cam.ac.uk by gnnt.Cl.Cam.AC.UK id aa10834; 13 Feb 90 11:23 GMT Date: 13 Feb 90 11:23:44 GMT (Tuesday) To: Siping Liu <@NSFNET-RELAY.AC.UK:siping@cathedral.cerc.wvu.wvnet.edu> From: Peter Dickman <pwd%computer-lab.cambridge.ac.uk@NSFNET-RELAY.AC.UK> Subject: Re: **** Neutral Representation Language **** Message-Id: <2812361024-pwd@uk.ac.cam.cl.webb> Status: RO You could try looking into the way that distribution is handled in various languages - this involves packaging up complex data into a flattened form for transmission & then reconstituting things at the far end. Where the target is a heterogeneous system the 'network-representation' could then be said to be 'neutral'. Of course, your requirements are likely to be greater than is usually the case since you'll be wanting to pass class descriptions (& implementations?) via this language - so whatever you get will have to be _more_ powerful &/or richer than all of your target class description (implementation?) languages. If no-one can help out with a more direct reference, try looking at the Xerox Courier stuff & follow up references from there (whatever you eventually find is likely to have (referenced something that)* referenced Courier). I hope that this is of some (slight) help, -- Peter +-----------------------------------------------------------------------------+ | Phone: +44 223 33 4718 Fax: +44 223 33 4678 E-Mail: pwd@cl.cam.ac.uk | +-----------------------------------------------------------------------------+ | Post: Computer Lab, New Museums Site, Pembroke St, Cambridge, CB2 3QG UK | +-----------------------------------------------------------------------------+ -------------------------------------------------------------------------- From hcx1!brad@uunet.UU.NET Wed Feb 14 17:31:07 1990 Return-Path: <hcx1!brad@uunet.UU.NET> Received: from uunet.uu.net by cerc.wvu.wvnet.edu (4.1/SMI-4.0) id AA13427; Wed, 14 Feb 90 17:31:05 EST Received: from hcx1.UUCP by uunet.uu.net (5.61/1.14) with UUCP id AA22979; Wed, 14 Feb 90 17:25:12 -0500 Received: from hcx2.SSD.CSD.HARRIS.COM by SSD.CSD.HARRIS.COM (4.0/HARRIS-4.1) id AA22558; Wed, 14 Feb 90 09:36:22 EST Received: by hcx2.SSD.CSD.HARRIS.COM (4.0/HCX-2.2) id AA04008; Wed, 14 Feb 90 09:36:17 EST Date: Wed, 14 Feb 90 09:36:17 EST From: brad@SSD.CSD.HARRIS.COM (Brad Appleton) Message-Id: <9002141436.AA04008@hcx2.SSD.CSD.HARRIS.COM> To: siping@cathedral.cerc.wvu.wvnet.edu Subject: Re: **** Neutral Representation Language **** Newsgroups: comp.object,comp.ai,comp.lang.c++ In-Reply-To: <382@cerc.wvu.wvnet.edu.edu> Organization: Harris Computer Systems, Fort Lauderdale, FL Cc: Status: RO In article <382@cerc.wvu.wvnet.edu.edu> you write: > >We are working on a project cooperatively among several >universities and companies. Different >object-oriented knowledge representation languages are used >by different groups, such as C++, Objective C, KEE, LASER >(similar to KEE), etc. The problem is that we need to define a >neutral representation language used as a media so that >different representations can be easily translated from each other. > >Has anybody done this kind of work before? What are >the requirements we should consider at the beginning? Any references? >Any help will be highly appreciated. > >Thank you for your attention. > >siping@cerc.wvu.wvnet.edu I dont know if anyone has done this work before in the area of OOPL <-> OOPL translation but it has been tackled quite often in the CAD/CAM world. Various CAD/CAM programs use various file formats and mathematical representations and many wanted each program to be able to exchange data with the others. Many companies (such as Schlumberger Technologies CAD/CAM Division) have created their own neutral data format language. The US Gov't created something called IGES (I think it stands for Internat'l Graphics Exchange Standard). Although the base problem itself is not OOPL translation, many of the same concerns arise for the Neutral Data Format language. Also, certain CAD/CAM object representations bear a significant resemblance to certain OOP entities/methods. Enough (IMHO of course) to make it worth your while to read about some of the efforts that went into creating IGES (or other Neutral Data Format Languages). Unfortunately, I dont know exactly what journals etc.. these atricles are in, I can only suggest that you check out some academic CAD/CAM publications (something which may not have seemed useful at first). Good Luck! Id been interested in hearing about what you come up with. -- -- Brad Appleton "... and miles to go before I sleep." ___________________________________________ ____________________________ Harris Computer Systems Division, MS 161 | brad@ssd.csd.harris.com 2101 West Cypress Creek Road | {uunet,novavax}!hcx1!brad Fort Lauderdale, FL 33309 USA | Phone: (305) 973-5007 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ DISCLAIMER: The opinions expressed here are my own; they in no way reflect the opinion or policies of Harris Corporation. -------------------------------------------------------------------------- From sdm@cs.brown.edu Thu Feb 15 02:25:44 1990 Return-Path: <sdm@cs.brown.edu> Received: from cs.brown.edu by cerc.wvu.wvnet.edu (4.1/SMI-4.0) id AA17234; Thu, 15 Feb 90 02:25:38 EST Received: from norton.cs.brown.edu by cs.brown.edu (4.1/SMI-4.0) id AA25785; Thu, 15 Feb 90 02:22:57 EST Date: Thu, 15 Feb 90 02:22:43 EST From: sdm@cs.brown.edu Message-Id: <9002150722.AA06701@norton.cs.brown.edu> To: siping@cerc.wvu.wvnet.edu Subject: Neutral Representation Language Status: R > We don't know much about works done in this aera. From > your mail, I have an impression that your work is dealing > with different views of ONE entity and the views are > represented most likely in one language. I guess that is > slightly different with our requirement. >From my perspective, what you call a language is what I call a view. In the most abstract sense, a particular program written in C, in Ada, or in Fortran has three views: the C view, the Ada view, and the Fortran view. In other words, a language is just a way of presenting a particular software system to you -- the language per se isn't important as far as the software system itself is concerned. There are lots of other views, too: data flow views, petri net views, statechart views, SADT views, branch test coverage views, etc. The goal of my research is to come up with a representation for software systems that will provide at least some support for each of these kinds of views. The holy grail of this kind of research is a representation into which any language can be mapped and from which we can map to any language. Needless to say, I'm not trying to achieve that. What I am trying to achieve is a representation that supports broad classes of views, e.g., control flow and data flow at various levels of abstraction. > What we need to > do is to analyze features of individual languages and design > a representation which can easily cover > all of these features, either directly or indirectly. The simple way to do this is just to make a catalog of all the features offered by each language, then create a representation that offers the union of all the features you cataloged. Mapping from any given language into the representation is then entirely trivial. Unfortunately, mapping from the representation back to a language may be quite complicated. For example, what do you do if language A supports parallelism and language B doesn't? When you translate A into your internal representation, the parallelism is still directly represented (because of the union-of-features approach), but how do you translate into language B? In general, the back-mapping problem is what makes the whole representation problem difficult, and it's why the union-of-features approach simply sweeps the problem under the rug. My approach is to try to identify the fundamental semantic notions in programming, and to then provide direct support for those notions in an internal representation. The idea is that any view (language) can then be translated into the representation with more or less difficulty, but any program that is so translated can then be faithfuly executed. Back-mapping is still a difficult task, but my hope is that it's eased somewhat by limiting the number of semantic notions in the representation, the reason being that by having only a limited number of notions, it's not too difficult to cover all the cases when you do the mapping. Furthermore, because the internal representation can faithfully execute any program, partial mappings are useful. In the example above, if A has parallelism and B doesn't, then the mapping from the internal representation for A's program is partial into B's view, but everything in B's view is faithful to A, and you can still watch the program run using the A view (but you'll be missing certain things pertaining to the parallelism). My project is biased toward an interactive multi-user multi-view programming environment, in which modifications to a system made in one view are immediately visible in all affected views, and this doesn't sound like one of your requirements. On the other hand, you sound like you'll really want total mappings between views (langauges), which is a hard hard problem, as the example with parallelism above indicates. > Have you finished your thesis? I'd appreciate it if you can e-mail > me your thesis or maybe just an abstraction of it and other > references. I plan to officially propose my thesis this spring, probably in May. Right now the only publication on it is the paper I wrote for the last COMPSAC. If you don't have access to the proceedings (Orlando, September 1989), I'd be happy to send you a copy of the paper, either electronically (LaTeX) or hardcopy. The paper is over a year old now, so it's rather out of date, but it gives a good overview of the main features of my approach, and it's got some relevant references for you. I also have a paper that should appear in IEEE Software sometime next year on different integration mechanisms in interactive software development environments, but that sounds like it would be less relevant to the kind of work you're doing. I'd be interested in hearing more about your project, and I'd like to be kept up-to-date on your progress, if that's possible. As I said before, I don't think there's been too much work in this area, but I think interest is on the rise, especially in concjunction with the increasing interest in graphical languages (views). Scott -------------------------------------------------------------------------- From sumax!rrogers@beaver.cs.washington.edu Thu Feb 15 21:20:50 1990 Received: from beaver.cs.washington.edu by cerc.wvu.wvnet.edu (4.1/SMI-4.0) id AA25964; Thu, 15 Feb 90 21:20:47 EST Received: by beaver.cs.washington.edu (5.61/7.0) id AA18577; Thu, 15 Feb 90 18:17:15 -0800 Return-Path: <sumax!rrogers@beaver.cs.washington.edu> Received: by sumax.UUCP (smail2.5) id AA25621; Thu, 15 Feb 90 18:01:23 pst Date: Thu, 15 Feb 90 18:01:23 pst From: MainToad <sumax!rrogers@beaver.cs.washington.edu> Message-Id: <9002160201.AA25621@sumax.UUCP> To: siping@cathedral.cerc.wvu.wvnet.edu Subject: Re: **** Neutral Representation Language **** Newsgroups: comp.object,comp.ai,comp.lang.c++ In-Reply-To: <382@cerc.wvu.wvnet.edu.edu> Organization: Seattle University, Seattle, WA Cc: Status: RO One of the professors here at SU has been doing some work on what sounds like the perfect thing for you: >From spector Mon Feb 5 18:43:26 PST 1990 Thu Jan 26 14:40:32 PST 1989 Article 76 of seattleu.general: Path: sumax!spector >From: spector@sumax.UUCP (Mitchell Spector) Newsgroups: comp.object,seattleu.general,seattle.general,pnw.general Subject: Seattle University Colloquium Message-ID: <1227@sumax.UUCP> Date: 5 Feb 90 20:00:01 GMT Reply-To: spector%sumax.UUCP@beaver.cs.washington.edu (Mitchell Spector) Distribution: pnw Organization: Seattle University, Seattle, WA Lines: 33 Xref: sumax comp.object:877 seattleu.general:76 seattle.general:494 pnw.general:278 Seattle University Computer Science and Software Engineering Colloquium Prof. Garry Kampen of Seattle University will speak on Mathematical Foundations of Object Modelling Wednesday, February 7, at 3:30 p. m. Engineering Building, Room 305 Prof. Kampen will discuss object modelling, his research goals in this area, and his current attempt to develop a broad-spectrum graphic notation for object-oriented conceptual modelling. The focus of the talk is on the formal mathematical definition of the notation. The mathematics is simple, requiring only a knowledge of elementary set theory, but there is an interesting twist: what might be called object-oriented mathematics. -- Mitchell Spector Dept. of Computer Science and Software Engineering Seattle University Seattle, WA 98122 (206) 296-5510 E-mail: spector%sumax.uucp@beaver.cs.washington.edu The graphic notation mentioned is the part you're probably interested in. It looks like it would be pretty simple to go from the notation to the declarationsin whatever OOPL you happen to be working with. --------------------------------------------------------------------------