b6440c1f278eb948475d91d5840321d8f6b80b3aKlaus Luettich
b6440c1f278eb948475d91d5840321d8f6b80b3aKlaus LuettichThis file describes the implementation task:
b6440c1f278eb948475d91d5840321d8f6b80b3aKlaus Luettich how to translate a development graph along a comorphism into an
b6440c1f278eb948475d91d5840321d8f6b80b3aKlaus Luettich isomorphic development graph
b6440c1f278eb948475d91d5840321d8f6b80b3aKlaus Luettich
b6440c1f278eb948475d91d5840321d8f6b80b3aKlaus LuettichBut unfortunately in German
b6440c1f278eb948475d91d5840321d8f6b80b3aKlaus Luettich
b6440c1f278eb948475d91d5840321d8f6b80b3aKlaus LuettichDie Grundidee findet sich im CASL Reference Manual (LNCS 2960) auf
b6440c1f278eb948475d91d5840321d8f6b80b3aKlaus LuettichSeite 297-298 (Liegt hier als LNCS2960_297-298.pdf)
b6440c1f278eb948475d91d5840321d8f6b80b3aKlaus Luettich
b6440c1f278eb948475d91d5840321d8f6b80b3aKlaus LuettichHier nun eine Beschreibung auf Deutsch, die wir (Till und Klaus) um
b6440c1f278eb948475d91d5840321d8f6b80b3aKlaus Luettichnotwendige Details anreichern werden:
b6440c1f278eb948475d91d5840321d8f6b80b3aKlaus Luettich
b6440c1f278eb948475d91d5840321d8f6b80b3aKlaus Luettich - der �bersetzte Graph hat die gleiche Anzahl Knoten und Kanten wie
b6440c1f278eb948475d91d5840321d8f6b80b3aKlaus Luettich das Original, so dass jedem Originalknoten n ein Knoten R(n) im
b6440c1f278eb948475d91d5840321d8f6b80b3aKlaus Luettich �bersetzten Graph zugeordnet ist. Das gleiche gilt f�r Kanten.
b6440c1f278eb948475d91d5840321d8f6b80b3aKlaus Luettich
b6440c1f278eb948475d91d5840321d8f6b80b3aKlaus Luettich - zu beachten ist das manch ein Comorphism Signaturen in Theorien
b6440c1f278eb948475d91d5840321d8f6b80b3aKlaus Luettich �bersetzt; dadurch kann es passieren, dass einige S�tze doppelt
b6440c1f278eb948475d91d5840321d8f6b80b3aKlaus Luettich erzeugt werden. Deshalb m�ssen aus den neu erzeugten S�tze noch die
b6440c1f278eb948475d91d5840321d8f6b80b3aKlaus Luettich ausgefiltert werden, die schon �ber andere Kanten importiert werden
b6440c1f278eb948475d91d5840321d8f6b80b3aKlaus Luettich
b6440c1f278eb948475d91d5840321d8f6b80b3aKlaus Luettich - der �bersetzte Graph wird dann in einem neuen uDrawGraph Fenster
b6440c1f278eb948475d91d5840321d8f6b80b3aKlaus Luettich angezeigt.
b6440c1f278eb948475d91d5840321d8f6b80b3aKlaus Luettich
333b3bcba8d8a6ebfb6bc0db330af4951f20f83fKlaus Luettich - minimale Sublogic bez�glich aller Knoten f�r die Auswahl des
333b3bcba8d8a6ebfb6bc0db330af4951f20f83fKlaus Luettich Comorphismus. (lessThanSublogic s. SPASS.CreateDFG)
333b3bcba8d8a6ebfb6bc0db330af4951f20f83fKlaus Luettich
333b3bcba8d8a6ebfb6bc0db330af4951f20f83fKlaus Luettich - erstmal eine Fehlermeldung, wenn sich Links entlang
333b3bcba8d8a6ebfb6bc0db330af4951f20f83fKlaus Luettich Comorphismus-�bersetzungen im DevGraph finden.
333b3bcba8d8a6ebfb6bc0db330af4951f20f83fKlaus Luettich
333b3bcba8d8a6ebfb6bc0db330af4951f20f83fKlaus Luettich - Modul-Namen: Static.DGTranslation
333b3bcba8d8a6ebfb6bc0db330af4951f20f83fKlaus Luettich GUI.DGTranslation
333b3bcba8d8a6ebfb6bc0db330af4951f20f83fKlaus Luettich Static/test/dgTrans.hs
333b3bcba8d8a6ebfb6bc0db330af4951f20f83fKlaus Luettich - statische Analyse bis zum DG
333b3bcba8d8a6ebfb6bc0db330af4951f20f83fKlaus Luettich - minimale Sublogik
333b3bcba8d8a6ebfb6bc0db330af4951f20f83fKlaus Luettich - �bersetzung mit PCFOL2CFOL
333b3bcba8d8a6ebfb6bc0db330af4951f20f83fKlaus Luettich - Anzeige des Ergebnis in uDrawGraph
333b3bcba8d8a6ebfb6bc0db330af4951f20f83fKlaus Luettich
a4f6dfae7bf73455d252129464ff4e7201c9bc3aTill MossakowskiDatenstrukturen
a4f6dfae7bf73455d252129464ff4e7201c9bc3aTill Mossakowski siehe Static/DevGraph.hs
a4f6dfae7bf73455d252129464ff4e7201c9bc3aTill Mossakowski Der zu �bersetzende Typ ist GlobalContext, mittels rekursivem Abstieg.
a4f6dfae7bf73455d252129464ff4e7201c9bc3aTill Mossakowski Die eigentliche �bersetzung findet dann bei den Typen G_sign, G_theory,
a4f6dfae7bf73455d252129464ff4e7201c9bc3aTill Mossakowski G_morphism und GMorphism statt (dies sind Typen, die beim rekursiven
52dfed46ece7ff53f0054eb02495a26e15d0dca8Klaus Luettich Abstieg vorkommen). Diese Typen m�ssen mit einem case ausgepackt werden,
a4f6dfae7bf73455d252129464ff4e7201c9bc3aTill Mossakowski und Signatur der G_sign (bzw. der Morphismus des G_morphism etc.) muss
a4f6dfae7bf73455d252129464ff4e7201c9bc3aTill Mossakowski mittles coerceSign (bzw. coerceMorphism) aus Logic.Coerce der
a4f6dfae7bf73455d252129464ff4e7201c9bc3aTill Mossakowski Quell-Logik des Comorphismus angepasst werden. Dazu muss der coerce-
a4f6dfae7bf73455d252129464ff4e7201c9bc3aTill Mossakowski Funktion die ausgepackte lid sowie die lid, die sich mittels
a4f6dfae7bf73455d252129464ff4e7201c9bc3aTill Mossakowski sourceLogic (siehe Logic.Comorphism) aus dem Comorphismus ergibt,
a4f6dfae7bf73455d252129464ff4e7201c9bc3aTill Mossakowski �bergeben werden. Nach Aufruf der Coerce-Funktion kann dann der
a4f6dfae7bf73455d252129464ff4e7201c9bc3aTill Mossakowski Comorphismus angewendet werden (map_sign, map_theory, map_morphism),
a4f6dfae7bf73455d252129464ff4e7201c9bc3aTill Mossakowski und das Resultat (zusammen mit der lid, die sich aus der targetLogic
a4f6dfae7bf73455d252129464ff4e7201c9bc3aTill Mossakowski des Comorphismus ergibt) in den neuen Entwicklungsgraphen eingetragen werden.
a4f6dfae7bf73455d252129464ff4e7201c9bc3aTill Mossakowski
52dfed46ece7ff53f0054eb02495a26e15d0dca8Klaus LuettichSp�ter brauchen wir noch dies:
52dfed46ece7ff53f0054eb02495a26e15d0dca8Klaus Luettich
52dfed46ece7ff53f0054eb02495a26e15d0dca8Klaus Luettich - f�r die �bersetzung nach OWL-DL brauchen wir eine M�glichkeit die
52dfed46ece7ff53f0054eb02495a26e15d0dca8Klaus Luettich Kantentypen zu beschr�nken. Denn OWL-DL kennt nur "import"-Kanten.
52dfed46ece7ff53f0054eb02495a26e15d0dca8Klaus Luettich Also brauchen wir f�r diese Richtung auch eine �bersetzung von
52dfed46ece7ff53f0054eb02495a26e15d0dca8Klaus Luettich Hiding/Renaming-Kanten in import-Kanten.
a4f6dfae7bf73455d252129464ff4e7201c9bc3aTill Mossakowski