Successfully reported this slideshow.
Your SlideShare is downloading. ×

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

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

Download to read offline

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

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

More Related Content

More from ISSEL

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all

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

  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 Απορίες - Σχολιασμός

Editor's Notes

  • Η εξαγωγή και η αποθήκευση της πληροφορίας κάθε συστήματος σε κατάλληλη μορφή προσπελάσιμη και επεξεργάσιμη τόσο από άνθρωπο, όσο και από μηχανή (πρόγραμμα), γίνονται ολοένα και περισσότερο αναγκαίες στην πορεία προς τη δημιουργία του Σημασιολογικού Ιστού (Semantic Web) ως αντικαταστάτη του σημερινού Διαδικτύου (Web 2.0).

    Ένα πρόβλημα που συχνά αντιμετωπίζουν οι Μηχανικοί Λογισμικού κατά την ανάπτυξη ενός νέου έργου λογισμικού είναι ότι δεν μπορούν να βρουν εύκολα(στο διαδίκτυο) τη διαδικασία ροής της πληροφορίας για παρόμοιους τύπους συστημάτων. Το μόνο που μπορούν να βρουν είναι .jpg εικόνες των UML διαγραμμάτων δραστηριοτήτων από αντίστοιχα έργα λογισμικού, τα οποία και αναπαριστούν γραφικά τη διαδικασία ροής.
  • Η αυτοματοποίηση του διαμοιρασμού και της επαναχρησιμοποίησης της διαδικασία ροής της πληροφορίας(workflow) είναι λειτουργία καίριας σημασίας και εξελίσσεται σε επιτακτική ανάγκη στις μέρες μας. Αυτό αφορά μια μελέτη της UML υπό το πρίσμα της μοντελοποίησης συστημάτων λογισμικού και πιο συγκεκριμένα μια αναλυτική παρουσίαση των διαγραμμάτων Activity, τα οποία και περιέχουν τη ζητούμενη ως εξαγόμενη πληροφορία, δηλαδή τη διαδικασία ροής.
  • Η βασικότερη έννοια στην Οντολογία είναι η ActivityDiagram η οποία ουσιαστικά αναπαριστά το εισαγόμενο διάγραμμα και επομένως ενώνεται πρακτικά με όλες τις υπόλοιπες έννοιες. Οι μόνες έννοιες με τις οποίες δεν συνδέεται με ρητή συσχέτιση είναι η CompositeActivity και η AtomicActivity_Action καθώς με αυτές υπάρχει η υπονοούμενη isA σχέση.

    Αποφασίστηκε η επιλογή της έννοιας Transition_Edge ως ενοποιό στοιχείο όλων των βασικών δομικών συστατικών που περιγράφονται. Οι συζυγείς σχέσεις που αναλαμβάνουν τη σημασιολογική ανακατασκευή του κάθε διαγράμματος είναι οι has_source_state, is_source_state_of και οι has_target_state, is_target_state_of, συνδέοντας ταυτόχρονα κάθε γραμμή με την οντότητα από την οποία ξεκινάει και με την οντότητα στην οποία καταλήγει.

×