Σπύρος Σκουμπάκης
Transcript of Σπύρος Σκουμπάκης
“Εξαγωγή της διαδικασίας ροής της πληροφορίας απο εικόνες UML
διαγραμμάτων δραστηριοτήτων”
Σκουμπάκης ΣπυρίδωνΑΕΜ: 6585
υπό την επίβλεψη του Επικ. Καθηγητή Ανδρέα Συμεωνίδη
Θεσσαλονίκη 2013
Δομή της ΠαρουσίασηςΟρισμός Προβλήματος Σκοπός της ΔιπλωματικήςState of the ArtΤο εργαλείο UADxTractorΗ Oντολογία Workflow_RDFΠειράματα και ΑποτελέσματαΣυμπεράσματαΜελλοντικές Επεκτάσεις
01/05/2023 Σκουμπάκης Σπύρος - ΤΗΜΜΥ ΑΠΘ 2
Ορισμός Προβλήματος
01/05/2023 Σκουμπάκης Σπύρος - ΤΗΜΜΥ ΑΠΘ 3
Παρελθόν
Παρόν
Στόχος
SYSTEM
Search of System’s Workflow(*)
01/05/2023 Σκουμπάκης Σπύρος - ΤΗΜΜΥ ΑΠΘ 4
Δυναμικό μέρος
Activity Diagram
sWorkflo
w
Η δημιουργία ενός εύχρηστου εργαλείου για τους Μηχανικούς Λογισμικού(και όχι μόνο) για:
την αποδόμηση και κατανόηση
του δυναμικού μέρους του μελετώμενου συστήματος.
Σκοπός της Διπλωματικής
Διαμοιρασμός και Επαναχρησιμοποίηση της πληροφορίας
01/05/2023 Σκουμπάκης Σπύρος - ΤΗΜΜΥ ΑΠΘ 5
State of the Art Gronmo et al.(2005)
Yang και Chung(2006)
Il-Woong Kim et al.(2007)
Ali Hanzala Khan et al.(2008)
Διαφορές – Προβλήματα:Χρήση υπαρχουσών οντολογιών(OWL-S)Είσοδος XMI αρχείο και όχι (.jpg) εικόναΕπιφανειακή/Ελλιπής μελέτη των Activity Diagrams
01/05/2023 Σκουμπάκης Σπύρος - ΤΗΜΜΥ ΑΠΘ 6
Το εργαλείο UADxTractor
• Σύστημα αυτόματης επεξεργασίας εικόνων Διαγραμμάτων Δραστηριοτήτων με άμεσο σκοπό την εξαγωγή της διαδικασίας ροής της πληροφορίας (Workflow) και την εισαγωγή της σε μια σημασιολογικά ενήμερη δομή (Οντολογία).
In a nutshell
• Αναγνώριση Οντοτήτων και κατευθυνόμενων Συσχετίσεων απο εικόνες UML διαγραμμάτων.
Novelty
• Δημιουργία μιας ολοκληρωμένης μηχανής εξόρυξης δεδομένων η οποία θα καλύπτει όλο το φάσμα των διαγραμμάτων της UML.
Ultimate goal
01/05/2023 Σκουμπάκης Σπύρος - ΤΗΜΜΥ ΑΠΘ 7
Περιβάλλον Ανάπτυξης (Cont. 1)
StarUML 5.0.2
ArgoUML 0.34
Java 1.6 SE
OpenCV 2.4.5
Jena API 2.10.1
IDE Eclipse SDK 3.7.2
Protégé OWL 4.1.0
01/05/2023 Σκουμπάκης Σπύρος - ΤΗΜΜΥ ΑΠΘ 9
2.1 Image Pre-Processing
Canny Edge Detection
Edge detection via Thresholding
Smooth image to reduce noise
Convert colored image to grayscale
Template Matching
Shape Detection
01/05/2023 Σκουμπάκης Σπύρος - ΤΗΜΜΥ ΑΠΘ 11
2.2 Shape & Entities Detection
Αναγνώριση μόνο των βασικών Οντοτήτων:
Initial and Final Node: Template MatchingTransitions: γραμμή – Line Detection Algorithm
(cvHoughLines2())
Action: ορθογώνιο – Contour Detection (cvFindContours() + cvBoundingRect())
Diamond(Decision & Merge Nodes): ρόμβος – Contour Detection (cvFindContours() + cvBoundingRect())
Synchronization Box(Fork & Join Nodes): ορθογώνιο – i) Template Matching ii) via Line Detection (μικρά όρια στο cvHoughLines2())
01/05/2023 Σκουμπάκης Σπύρος - ΤΗΜΜΥ ΑΠΘ 12
2.3 Associations of Entities Recognition
1. Initial Node – Action2. Final Node – Action3. Final Node – Diamond 4. Final Node – Synchronization5. Diamond – Synchronization6. Action – Synchronization7. Action – Diamond8. Action – Action
Συντεταγμένες 1ης οντότητας, γραμμής και 2ης οντότητας σε πίνακα.
Σκουμπάκης Σπύρος - ΤΗΜΜΥ ΑΠΘ 13
2.5 OCR Emulation
Μονόδρομες σχέσεις:1. Initial Node – Action2. Final Node – Action3. Final Node – Diamond 4. Final Node – Synchronization
Αμφίδρομες σχέσεις: (κανόνες της UML + αλγόριθμος 2 βημάτων)5. Diamond – Synchronization6. Action – Synchronization7. Action – Diamond8. Action – Action
Αποτυχία υπαρχόντων εργαλείων(π.χ. Asprise OCR) Επέμβαση του χρήστη μέσω εικόνων και κονσόλας
01/05/2023
2.4 Transitions/Lines Direction Detection
01/05/2023 Σκουμπάκης Σπύρος - ΤΗΜΜΥ ΑΠΘ 14
Η Οντολογία Workflow_RDF
Γενικά:• «Είναι ένας επίσημος, σαφής και
λεπτομερής ορισμός ενός πεδίου γνώσης».Ειδικά:• Κοινό μοντέλο αναπαράστασης των
βασικών εννοιών των Activity Diagrams.
• Δημιουργία – Επεξεργασία – Προβολή με το εργαλείο Protégé OWL.
• Όλες οι κλάσεις με τις υποκλάσεις του συνδέονται με τη σχέση isA.
Ιεραχική δομή Οντολογίας
01/05/2023 Σκουμπάκης Σπύρος - ΤΗΜΜΥ ΑΠΘ 18
2.6 Connection with OntologyΑρχική πληροφορία (κώδικας) – Συντεταγμένες Ζητούμενη πληροφορία (Οντολογία) – Κείμενο
Έτοιμη πληροφορία – OCR Emulation: Actions (*)Guard Conditions
Sorting Entities – Ονοματοδοσία: (auto - sorted): Synchronizations, Diamonds (απο κάτω δεξιά) (*) (for sorting): Lines (απο πάνω αριστερά προς τα κάτω) (μοναδικά): Initial & Final Node
Η πληροφορία αποθηκεύεται σε πίνακες απο strings.
01/05/2023 Σκουμπάκης Σπύρος - ΤΗΜΜΥ ΑΠΘ 19
Πειράματα και ΑποτελέσματαΠείραμα 1ο – “Display Bowling Score”
Display Score
Show Animation
01/05/2023 Σκουμπάκης Σπύρος - ΤΗΜΜΥ ΑΠΘ 20
Image Pre -Processing
Input Image
Gray Scaled Image
Smoothed Image
Thresholded Image
01/05/2023 Σκουμπάκης Σπύρος - ΤΗΜΜΥ ΑΠΘ 22
Πληροφορίες απο την κονσόλα του Eclipse After all checks ---> 8 Line(s)--- were detected, (Without Line Connection) After all checks ---> 7 Line(s)--- were detected, (With Line Connection) After all checks ---> 4 Action(s)--- were detected After all checks ---> 1 Diamond(s)--- were detected After all checks ---> 0 Synchronization-Box(es)--- were detected, (With LineD)
----------- Associations ----------- Number of [Initial Node - Action] Relationships = 1 Number of [Final Node - Action] Relationships = 1 Number of [Final Node - Diamond] Relationships = 0 Number of [Final Node - Synchronization] Relationships = 0 Number of [Diamond - Synchronization] Relationships = 0 Number of [Action - Synchronization] Relationships = 0 Number of [Action - Diamond] Relationships = 3 Number of [Action - Action] Relationships = 2
InitialNode : Upper Left Corner: (107,20) Width of initial node: 21 Height of initial node: 21
------------------------------------------------FinalNode :
Upper Left Corner: (100,543) Width of final node: 26 Height of final node: 26
Οντότητες
ΣυσχετίσειςΣυντεταγμένες
01/05/2023 Σκουμπάκης Σπύρος - ΤΗΜΜΥ ΑΠΘ 23
Εντοπισμός κατεύθυνσης συσχετίσεων
Kateu8unsh Susxetishs ActDiam[0] = 1Kateu8unsh Susxetishs ActDiam[1] = 3Kateu8unsh Susxetishs ActDiam[2] = 1-----------------------------------------------------Kateu8unsh Susxetishs ActionsRel[0] = 1Kateu8unsh Susxetishs ActionsRel[1] = 1
1. Όταν η γραμμή πάει προς τα κάτω (αυξανόμενα y)2. Όταν η γραμμή πάει προς τα πάνω (μειούμενα y)3. Όταν η γραμμή πάει προς τα δεξιά (αυξανόμενα x)4. Όταν η γραμμή πάει προς τα αριστερά (μειούμενα x)
01/05/2023 Σκουμπάκης Σπύρος - ΤΗΜΜΥ ΑΠΘ 24
Σύνδεση UADxTractor & Workflow_RDF (console)
================ General Infoz ============Project Title: BowlingActivity Diagram: Display_Bowling_ScoreDomain: SportsType of Requirements: FunctionalRequirements---------------
Method of Finding Sub - Activities has started...InitialNode->Line1->Calculate_numbers_of_knocked_out_pinsDo you agree with this activity? Press y(Yes) or n(No)y---- Dhmiourghse NEO Fakelo !!!!!!!!!!!!!!! ----========================
So, the [Sub - Activities] of 2 entities are:---------------------------------------------Sub-Act[0]:InitialNode->Line1->Calculate_numbers_of_knocked_out_pinsSub-Act[1]:Display_Score->Line7->FinalNodeSub-Act[2]:Decision0->Line6->Non_Strike->Display_ScoreSub-Act[3]:Decision0->Line4->Strike->Show_AnimationSub-Act[4]:Calculate_the_score->Line3->Decision0Sub-Act[5]:Show_Animation->Line5->Display_ScoreSub-Act[6]:Calculate_numbers_of_knocked_out_pins->Line2->Calculate_the_score--------------------Number of Sub - Activities = 7THE END!
01/05/2023 Σκουμπάκης Σπύρος - ΤΗΜΜΥ ΑΠΘ 28
ΣυμπεράσματαΗ εξόρυξη της διαδικασίας ροής γίνεται με επιτυχία για τα διαγράμματα
δραστηριοτήτων με κάθετη ανάπτυξη (top-down).
Έγινε το πρώτο βήμα για την αυτόματη αποκρυπτογράφηση του δυναμικού μέρους ενός έργου λογισμικού με επεξεργασία εικόνας.
Δημιουργήθηκε Βάση Γνώσης για το διαμοιρασμό της διαδικασίας ροής παρόμοιων έργων μεταξύ των Μηχανικών.
Προβλήματα παρατηρoύνται όταν δεν ακολουθούνται οι συμβάσεις και κυρίως όταν η ροή επιστρέφει προς τα πάνω μέσω decision node.
01/05/2023 Σκουμπάκης Σπύρος - ΤΗΜΜΥ ΑΠΘ 29
Μελλοντικές ΕπεκτάσειςΔιεύρυνση της λύσης συμπεριλαμβάνοντας όλες τις οντότητες των UML Activity Diagrams.
Βελτίωση του αλγορίθμου εύρεσης κατεύθυνσης και για τις περιπτώσεις οριζόντιας ανάπτυξης των διαγραμμάτων.
Δημιουργία διεπαφής χρήστη και ελαχιστοποίηση της παρέμβασης του.
Δημιουργία ενός αυτόνομου αποτελεσματικού OCR εργαλείου.
Επέκταση της εξόρυξης δεδομένων με βάση το εν λόγω εργαλείο και για τα υπόλοιπα «δυναμικά» διαγράμματα της UML.