Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Σπύρος Σκουμπάκης

106 views

Published on

Εξαγωγή της Διαδικασίας Ροής της Πληροφορίας από Εικόνες UML Διαγραμμάτων Δραστηριοτήτων

Published in: Software

Σπύρος Σκουμπάκης

  1. 1. Σκουμπάκης Σπυρίδων ΑΕΜ: 6585 υπό την επίβλεψη του Επικ. Καθηγητή Ανδρέα Συμεωνίδη Θεσσαλονίκη 2013
  2. 2. Δομή της Παρουσίασης  Ορισμός Προβλήματος  Σκοπός της Διπλωματικής  State of the Art  Το εργαλείο UADxTractor  Η Oντολογία Workflow_RDF  Πειράματα και Αποτελέσματα  Συμπεράσματα  Μελλοντικές Επεκτάσεις 4/1/2017 Σκουμπάκης Σπύρος - ΤΗΜΜΥ ΑΠΘ 2
  3. 3. Ορισμός Προβλήματος 4/1/2017 Σκουμπάκης Σπύρος - ΤΗΜΜΥ ΑΠΘ 3 Παρελθόν Παρόν Στόχος S Y S T E M Search of System’s Workflow(*)
  4. 4. Δυναμικό μέρος Activity Diagrams Workflow Η δημιουργία ενός εύχρηστου εργαλείου για τους Μηχανικούς Λογισμικού(και όχι μόνο) για:  την αποδόμηση και  κατανόηση του δυναμικού μέρους του μελετώμενου συστήματος. Σκοπός της Διπλωματικής 4/1/2017 Σκουμπάκης Σπύρος - ΤΗΜΜΥ ΑΠΘ 4  Διαμοιρασμός και  Επαναχρησιμοποίηση της πληροφορίας
  5. 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 4/1/2017 Σκουμπάκης Σπύρος - ΤΗΜΜΥ ΑΠΘ 5
  6. 6. Το εργαλείο UADxTractor • Σύστημα αυτόματης επεξεργασίας εικόνων Διαγραμμάτων Δραστηριοτήτων με άμεσο σκοπό την εξαγωγή της διαδικασίας ροής της πληροφορίας (Workflow) και την εισαγωγή της σε μια σημασιολογικά ενήμερη δομή (Οντολογία). In a nutshell • Αναγνώριση Οντοτήτων και κατευθυνόμενων Συσχετίσεων απο εικόνες UML διαγραμμάτων. Novelty • Δημιουργία μιας ολοκληρωμένης μηχανής εξόρυξης δεδομένων η οποία θα καλύπτει όλο το φάσμα των διαγραμμάτων της UML. Ultimate goal 4/1/2017 Σκουμπάκης Σπύρος - ΤΗΜΜΥ ΑΠΘ 6
  7. 7. Περιβάλλον Ανάπτυξης (Cont. 1) 4/1/2017 Σκουμπάκης Σπύρος - ΤΗΜΜΥ ΑΠΘ 7  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
  8. 8. Αρχιτεκτονική του εργαλείου (Cont. 2) 4/1/2017 Σκουμπάκης Σπύρος - ΤΗΜΜΥ ΑΠΘ 8
  9. 9. 2.1 Image Pre-Processing 4/1/2017 Σκουμπάκης Σπύρος - ΤΗΜΜΥ ΑΠΘ 9 Canny Edge Detection Edge detection via Thresholding Smooth image to reduce noise Convert colored image to grayscale Template Matching Shape Detection
  10. 10. 2.2 Shape & Entities Detection 4/1/2017 Σκουμπάκης Σπύρος - ΤΗΜΜΥ ΑΠΘ 10
  11. 11. 2.2 Shape & Entities Detection Αναγνώριση μόνο των βασικών Οντοτήτων:  Initial and Final Node: Template Matching  Transitions: γραμμή – 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()) 4/1/2017 Σκουμπάκης Σπύρος - ΤΗΜΜΥ ΑΠΘ 11
  12. 12. 2.3 Associations of Entities Recognition 1. Initial Node – Action 2. Final Node – Action 3. Final Node – Diamond 4. Final Node – Synchronization 5. Diamond – Synchronization 6. Action – Synchronization 7. Action – Diamond 8. Action – Action Συντεταγμένες 1ης οντότητας, γραμμής και 2ης οντότητας σε πίνακα. 4/1/2017 Σκουμπάκης Σπύρος - ΤΗΜΜΥ ΑΠΘ 12
  13. 13. 2.5 OCR Emulation Μονόδρομες σχέσεις: 1. Initial Node – Action 2. Final Node – Action 3. Final Node – Diamond 4. Final Node – Synchronization Αμφίδρομες σχέσεις: (κανόνες της UML + αλγόριθμος 2 βημάτων) 1. Diamond – Synchronization 2. Action – Synchronization 3. Action – Diamond 4. Action – Action  Αποτυχία υπαρχόντων εργαλείων(π.χ. Asprise OCR)  Επέμβαση του χρήστη μέσω εικόνων και κονσόλας 4/1/2017 Σκουμπάκης Σπύρος - ΤΗΜΜΥ ΑΠΘ 13 2.4 Transitions/Lines Direction Detection
  14. 14. 4/1/2017 Σκουμπάκης Σπύρος - ΤΗΜΜΥ ΑΠΘ 14 Η Οντολογία Workflow_RDF Γενικά: • «Είναι ένας επίσημος, σαφής και λεπτομερής ορισμός ενός πεδίου γνώσης». Ειδικά: • Κοινό μοντέλο αναπαράστασης των βασικών εννοιών των Activity Diagrams. • Δημιουργία – Επεξεργασία – Προβολή με το εργαλείο Protégé OWL. • Όλες οι κλάσεις με τις υποκλάσεις του συνδέονται με τη σχέση isA. Ιεραχική δομή Οντολογίας
  15. 15. Μέρος 1ο – Γενικά Χαρακτηριστικά 4/1/2017 Σκουμπάκης Σπύρος - ΤΗΜΜΥ ΑΠΘ 15
  16. 16. Μέρος 2ο – Βασικές Δομές και κόμβοι 4/1/2017 Σκουμπάκης Σπύρος - ΤΗΜΜΥ ΑΠΘ 16
  17. 17. Συσχετίσεις μεταξύ των εννοιών της Οντολογίας 4/1/2017 Σκουμπάκης Σπύρος - ΤΗΜΜΥ ΑΠΘ 17 […….]
  18. 18. 2.6 Connection with Ontology Αρχική πληροφορία (κώδικας) – Συντεταγμένες Ζητούμενη πληροφορία (Οντολογία) – Κείμενο  Έτοιμη πληροφορία – OCR Emulation:  Actions (*)  Guard Conditions  Sorting Entities – Ονοματοδοσία:  (auto - sorted): Synchronizations, Diamonds (απο κάτω δεξιά) (*)  (for sorting): Lines (απο πάνω αριστερά προς τα κάτω)  (μοναδικά): Initial & Final Node Η πληροφορία αποθηκεύεται σε πίνακες απο strings. 4/1/2017 Σκουμπάκης Σπύρος - ΤΗΜΜΥ ΑΠΘ 18
  19. 19. Πειράματα και Αποτελέσματα  Πείραμα 1ο – “Display Bowling Score” 4/1/2017 Σκουμπάκης Σπύρος - ΤΗΜΜΥ ΑΠΘ 19 Display Score Show Animation
  20. 20. 4/1/2017 Σκουμπάκης Σπύρος - ΤΗΜΜΥ ΑΠΘ 20 Image Pre - Processing Input Image Gray Scaled Image Smoothed Image Threshold ed Image
  21. 21. Εντοπισμός Οντοτήτων & Συσχετίσεων 4/1/2017 Σκουμπάκης Σπύρος - ΤΗΜΜΥ ΑΠΘ 21
  22. 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 4/1/2017 Σκουμπάκης Σπύρος - ΤΗΜΜΥ ΑΠΘ 22 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
  23. 23. Εντοπισμός κατεύθυνσης συσχετίσεων 4/1/2017 Σκουμπάκης Σπύρος - ΤΗΜΜΥ ΑΠΘ 23 Kateu8unsh Susxetishs ActDiam[0] = 1 Kateu8unsh Susxetishs ActDiam[1] = 3 Kateu8unsh Susxetishs ActDiam[2] = 1 ----------------------------------------------------- Kateu8unsh Susxetishs ActionsRel[0] = 1 Kateu8unsh Susxetishs ActionsRel[1] = 1 1. Όταν η γραμμή πάει προς τα κάτω (αυξανόμενα y) 2. Όταν η γραμμή πάει προς τα πάνω (μειούμενα y) 3. Όταν η γραμμή πάει προς τα δεξιά (αυξανόμενα x) 4. Όταν η γραμμή πάει προς τα αριστερά (μειούμενα x)
  24. 24. 4/1/2017 Σκουμπάκης Σπύρος - ΤΗΜΜΥ ΑΠΘ 24 Σύνδεση UADxTractor & Workflow_RDF (console) ================ General Infoz ============ Project Title: Bowling Activity Diagram: Display_Bowling_Score Domain: Sports Type of Requirements: FunctionalRequirements --------------- Method of Finding Sub - Activities has started... InitialNode->Line1->Calculate_numbers_of_knocked_out_pins Do 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_pins Sub-Act[1]:Display_Score->Line7->FinalNode Sub-Act[2]:Decision0->Line6->Non_Strike->Display_Score Sub-Act[3]:Decision0->Line4->Strike->Show_Animation Sub-Act[4]:Calculate_the_score->Line3->Decision0 Sub-Act[5]:Show_Animation->Line5->Display_Score Sub-Act[6]:Calculate_numbers_of_knocked_out_pins->Line2->Calculate_the_score -------------------- Number of Sub - Activities = 7 THE END!
  25. 25. Σύνδεση UADxTractor & Workflow_RDF (Protégé) 4/1/2017 Σκουμπάκης Σπύρος - ΤΗΜΜΥ ΑΠΘ 25
  26. 26.  Πείραμα 2ο – “Broken Lines” 4/1/2017 Σκουμπάκης Σπύρος - ΤΗΜΜΥ ΑΠΘ 26
  27. 27. Εντοπισμός Κατεύθυνσης & Οντολογία 4/1/2017 Σκουμπάκης Σπύρος - ΤΗΜΜΥ ΑΠΘ 27
  28. 28. Συμπεράσματα  Η εξόρυξη της διαδικασίας ροής γίνεται με επιτυχία για τα διαγράμματα δραστηριοτήτων με κάθετη ανάπτυξη (top-down).  Έγινε το πρώτο βήμα για την αυτόματη αποκρυπτογράφηση του δυναμικού μέρους ενός έργου λογισμικού με επεξεργασία εικόνας.  Δημιουργήθηκε Βάση Γνώσης για το διαμοιρασμό της διαδικασίας ροής παρόμοιων έργων μεταξύ των Μηχανικών.  Προβλήματα παρατηρoύνται όταν δεν ακολουθούνται οι συμβάσεις και κυρίως όταν η ροή επιστρέφει προς τα πάνω μέσω decision node. 4/1/2017 Σκουμπάκης Σπύρος - ΤΗΜΜΥ ΑΠΘ 28
  29. 29. Μελλοντικές Επεκτάσεις Διεύρυνση της λύσης συμπεριλαμβάνοντας όλες τις οντότητες των UML Activity Diagrams. Βελτίωση του αλγορίθμου εύρεσης κατεύθυνσης και για τις περιπτώσεις οριζόντιας ανάπτυξης των διαγραμμάτων. Δημιουργία διεπαφής χρήστη και ελαχιστοποίηση της παρέμβασης του. Δημιουργία ενός αυτόνομου αποτελεσματικού OCR εργαλείου. Επέκταση της εξόρυξης δεδομένων με βάση το εν λόγω εργαλείο και για τα υπόλοιπα «δυναμικά» διαγράμματα της UML. 4/1/2017 Σκουμπάκης Σπύρος - ΤΗΜΜΥ ΑΠΘ 29
  30. 30. 4/1/2017 Σκουμπάκης Σπύρος - ΤΗΜΜΥ ΑΠΘ 30 myspy12@hotmail.com Απορίες - Σχολιασμός

×