{"id":1761,"date":"2025-07-31T08:49:13","date_gmt":"2025-07-31T06:49:13","guid":{"rendered":"https:\/\/robertogreco.eu\/biblioteca\/?p=1761"},"modified":"2025-08-03T16:13:43","modified_gmt":"2025-08-03T14:13:43","slug":"fact-s-for-uml","status":"publish","type":"post","link":"https:\/\/robertogreco.eu\/biblioteca\/fact-s-for-uml\/","title":{"rendered":"Fatti per l&#8217;UML (Tesi di laurea magistrale)"},"content":{"rendered":"<p data-sourcepos=\"9:1-9:68\">Originale in inglese: Roberto S. Greco, <em style=\"font-size: 1.125rem;\">FaCT (s) for UML &#8211; Translating UML Class Diagrams into <span class=\"font-shiq\">SHIQ<\/span>, to reason about them with FaCT<\/em><span style=\"font-size: 1.125rem;\">, [tesi di laurea magistrale]. Aachen, NRW, D. RWTH Aachen, 2001. Senza ISBN. <\/span><\/p>\n<p>Rif. <a href=\"https:\/\/robertogreco.eu\/biblioteca\/informatica#greco2001\">[greco2001]<\/a><\/p>\n<p data-sourcepos=\"9:1-9:68\"><strong>NdA<\/strong>: in inglese <em>fact<\/em> significa fatto. Ma <a href=\"http:\/\/owl.cs.manchester.ac.uk\/tools\/fact\/\" target=\"_blank\" rel=\"noopener\"><strong>FaCT<\/strong><\/a> di <a href=\"http:\/\/www.comlab.ox.ac.uk\/people\/ian.horrocks\/\">Ian Horrocks<\/a>\u00a0\u00e8 anche un sistema esperto che permette di trovare contraddizioni in un modello logico espresso in logica modale.<\/p>\n<h2 data-sourcepos=\"9:1-9:68\">Riassunto della Tesi Magistrale<\/h2>\n<p data-sourcepos=\"11:1-11:470\"><span class=\"citation-44 citation-end-44\">Questa tesi magistrale, presentata nel 2001 presso il Dipartimento di Informatica del Politecnico di Aquisgrana (<a href=\"https:\/\/www.rwth-aachen.de\/\" target=\"_blank\" rel=\"noopener\">RWTH Aachen<\/a>), esplora l&#8217;applicazione di metodologie formali e di strumenti di ragionamento automatico alla verifica dei diagrammi di classe <a href=\"https:\/\/www.uml.org\/\" target=\"_blank\" rel=\"noopener\">UML<\/a> (<em>Unified Modeling Language<\/em>)<\/span>.<\/p>\n<p data-sourcepos=\"11:1-11:470\"><span class=\"citation-43 citation-end-43\">L&#8217;obiettivo \u00e8 definire una semantica precisa e automatizzare il ragionamento su questi diagrammi, superando le ambiguit\u00e0 e le complessit\u00e0 dell&#8217;analisi manuale<\/span>.<\/p>\n<h3 data-sourcepos=\"13:1-14:496\"><strong><span class=\"citation-42\">Introduzione<\/span><\/strong><\/h3>\n<p data-sourcepos=\"13:1-14:496\">Il capitolo introduttivo espone la motivazione alla base del lavoro: la mancanza di una semantica formale e precisa per i diagrammi di classe UML, che rende difficile l&#8217;analisi e la verifica automatizzata di tali modelli.<\/p>\n<p data-sourcepos=\"13:1-14:496\"><span class=\"citation-41\">L&#8217;obiettivo principale della tesi \u00e8 sviluppare un metodo per il ragionamento automatico sui diagrammi di classe UML attraverso la loro traduzione in logica descrittiva <\/span><span class=\"katex\"><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"font-shiq\">SHIQ<\/span> e l&#8217;utilizzo del <\/span><a href=\"http:\/\/owl.cs.manchester.ac.uk\/tools\/fact\/\" target=\"_blank\" rel=\"noopener\"><em><span class=\"citation-41\">reasoner<\/span><\/em><span class=\"citation-41 citation-end-41\"> FaCT<\/span><\/a>.<\/span><\/p>\n<h3 data-sourcepos=\"16:1-18:142\"><strong><span class=\"citation-40\">Diagramma di Classe UML<\/span><\/strong><\/h3>\n<p data-sourcepos=\"16:1-18:142\">Questo capitolo fornisce una panoramica dettagliata dei diagrammi di classe UML, focalizzandosi sugli elementi rilevanti per la successiva traduzione logica.<\/p>\n<p data-sourcepos=\"16:1-18:142\"><span class=\"citation-39 citation-end-39\">Viene presentata una sintassi ristretta di UML, definendo costruttivamente gli elementi del diagramma come classi, associazioni (n-arie, binarie, di generalizzazione, aggregazione, composizione) e le loro molteplicit\u00e0<\/span>.<\/p>\n<p data-sourcepos=\"16:1-18:142\"><span class=\"citation-38 citation-end-38\">Si discutono anche la semantica di questi elementi <\/span> <span class=\"citation-37 citation-end-37\">e il concetto di diagramma ben formato<\/span>.<\/p>\n<p data-sourcepos=\"16:1-18:142\"><span class=\"citation-36 citation-end-36\">Il capitolo affronta anche il meccanismo dell&#8217;ereditariet\u00e0 in UML<\/span>.<\/p>\n<p data-sourcepos=\"20:1-21:741\"><strong><span class=\"citation-35\">La Logica Descrittiva SHIQ<\/span><\/strong><\/p>\n<p data-sourcepos=\"20:1-21:741\">Questo capitolo introduce i fondamenti della Logica Descrittiva <span class=\"katex\"><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"base\"><span class=\"mord\"><span class=\"mord mathcal\">S<\/span><span class=\"mord mathcal\">H<\/span><span class=\"mord mathcal\">I<\/span><span class=\"mord mathcal\">Q<\/span><\/span><\/span><\/span><\/span>, il formalismo logico scelto per rappresentare i diagrammi UML.<\/p>\n<p data-sourcepos=\"20:1-21:741\"><span class=\"citation-34\">Vengono presentati la sintassi e la semantica della logica <\/span><span class=\"katex\"><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"base\"><span class=\"mord\"><span class=\"mord mathcal\"><span class=\"citation-34\">S<\/span><\/span><span class=\"mord mathcal\"><span class=\"citation-34\">H<\/span><\/span><span class=\"mord mathcal\"><span class=\"citation-34\">I<\/span><\/span><span class=\"mord mathcal\"><span class=\"citation-34\">Q<\/span><\/span><\/span><\/span><\/span><\/span><span class=\"citation-34\">, che estende le logiche precedenti come <\/span><span class=\"katex\"><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"base\"><span class=\"mord\"><span class=\"mord mathcal\"><span class=\"citation-34\">A<\/span><\/span><span class=\"mord mathcal\"><span class=\"citation-34\">LC<\/span><\/span><\/span><\/span><\/span><\/span><span class=\"citation-34\"> e <\/span><span class=\"katex\"><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"base\"><span class=\"mord\"><span class=\"mord mathcal\"><span class=\"citation-34\">S<\/span><\/span><span class=\"mord mathcal\"><span class=\"citation-34\">H<\/span><\/span><span class=\"mord mathcal\"><span class=\"citation-34\">I<\/span><\/span><\/span><\/span><\/span><\/span><span class=\"citation-34 citation-end-34\"> con l&#8217;introduzione di ruoli transitivi, ruoli inversi, gerarchie di ruoli e restrizioni numeriche qualificate<\/span>.<\/p>\n<p data-sourcepos=\"20:1-21:741\"><span class=\"citation-33 citation-end-33\">Si descrivono infine i servizi di ragionamento offerti dalla logica, come la verificabilit\u00e0 della consistenza e la sussunzione di concetti<\/span>.<\/p>\n<h3 data-sourcepos=\"23:1-25:215\"><strong><span class=\"citation-32\">Traduzione di UML in SHIQ<\/span><\/strong><\/h3>\n<p data-sourcepos=\"23:1-25:215\">Questo capitolo chiave descrive in dettaglio il processo di mappatura (traduzione) di un diagramma di classe UML (nella sua forma ristretta) in un insieme equivalente di assiomi in logica <span class=\"katex\"><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"base\"><span class=\"mord\"><span class=\"mord mathcal\">S<\/span><span class=\"mord mathcal\">H<\/span><span class=\"mord mathcal\">I<\/span><span class=\"mord mathcal\">Q<\/span><\/span><\/span><\/span><\/span>.<\/p>\n<p data-sourcepos=\"23:1-25:215\">L&#8217;obiettivo \u00e8 convertire la rappresentazione grafica e semi-formale di UML in una base di conoscenza rigorosa, sulla quale sia possibile eseguire ragionamenti automatici.<\/p>\n<h3 data-sourcepos=\"27:1-29:112\"><strong><span class=\"citation-31\">FaCT per UML<\/span><\/strong><\/h3>\n<p data-sourcepos=\"27:1-29:112\">[nota dell&#8217;autore: in inglese <em>Fact<\/em> significa <em>fatto<\/em>. Ma <em>FaCT<\/em> \u00e8 anche il nome del <em>reasoner<\/em>. Da qui il gioco di parole <em>Fact(s) for UML<\/em>, quindi <em>Fatti per l&#8217;UML<\/em> e <em>Fact (reasoner) per UML<\/em>]<\/p>\n<p data-sourcepos=\"27:1-29:112\">In questo capitolo, si dimostra l&#8217;utilizzo del <em>reasoner<\/em> <strong>FaCT<\/strong> (Fast Classification of Terminologies) per eseguire operazioni di ragionamento sui diagrammi UML una volta tradotti in <span class=\"katex\"><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"base\"><span class=\"mord\"><span class=\"mord mathcal\">S<\/span><span class=\"mord mathcal\">H<\/span><span class=\"mord mathcal\">I<\/span><span class=\"mord mathcal\">Q<\/span><\/span><\/span><\/span><\/span>.<\/p>\n<p data-sourcepos=\"27:1-29:112\">FaCT permette di verificare automaticamente la consistenza del modello UML, individuare contraddizioni logiche, inferire propriet\u00e0 implicite e rispondere a query complesse sul modello, fornendo un supporto fondamentale per la validazione della progettazione software.<\/p>\n<h3 data-sourcepos=\"31:1-32:341\"><strong><span class=\"citation-30\">Lavori Futuri e Correlati<\/span><\/strong><\/h3>\n<p data-sourcepos=\"31:1-32:341\">Il capitolo conclusivo riassume i contributi principali della tesi e discute le potenziali direzioni per la ricerca futura.<\/p>\n<p data-sourcepos=\"31:1-32:341\">Vengono esplorate estensioni del framework proposto, come l&#8217;inclusione di altri tipi di diagrammi UML o l&#8217;integrazione con strumenti di sviluppo software esistenti, e si discute il contesto di lavori simili nel campo.<\/p>\n<hr \/>\n<p>Roberto S. Greco, <em>FaCT (s) for UML &#8211; Translating UML Class Diagrams into <span class=\"font-shiq\">SHIQ<\/span>, to reason about them with FaCT<\/em>, [tesi di laurea magistrale]. Aachen, NRW, D. RWTH Aachen, 2001. Senza ISBN.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Originale in inglese: Roberto S. Greco, FaCT (s) for UML &#8211; Translating UML Class Diagrams into SHIQ, to reason about<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[375],"tags":[393,389,457,569,392,572,390],"class_list":["post-1761","post","type-post","status-publish","format-standard","hentry","category-libri","tag-class-diagram","tag-fact","tag-in-inglese","tag-recensioni","tag-shiq","tag-tesi","tag-uml","comments-off"],"_links":{"self":[{"href":"https:\/\/robertogreco.eu\/biblioteca\/wp-json\/wp\/v2\/posts\/1761","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/robertogreco.eu\/biblioteca\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/robertogreco.eu\/biblioteca\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/robertogreco.eu\/biblioteca\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/robertogreco.eu\/biblioteca\/wp-json\/wp\/v2\/comments?post=1761"}],"version-history":[{"count":9,"href":"https:\/\/robertogreco.eu\/biblioteca\/wp-json\/wp\/v2\/posts\/1761\/revisions"}],"predecessor-version":[{"id":1972,"href":"https:\/\/robertogreco.eu\/biblioteca\/wp-json\/wp\/v2\/posts\/1761\/revisions\/1972"}],"wp:attachment":[{"href":"https:\/\/robertogreco.eu\/biblioteca\/wp-json\/wp\/v2\/media?parent=1761"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/robertogreco.eu\/biblioteca\/wp-json\/wp\/v2\/categories?post=1761"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/robertogreco.eu\/biblioteca\/wp-json\/wp\/v2\/tags?post=1761"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}