Please use this identifier to cite or link to this item: http://artemis.cslab.ece.ntua.gr:8080/jspui/handle/123456789/15093
Title: Περιβάλλον-πλαίσιο Για Την Παρακολούθηση Και Την Ανάλυση Συστημάτων Λογισμικού
Authors: Μιχαηλ Αθανασοπουλος
Κοντογιάννης Κώστας
Keywords: παρακολούθηση συστημάτων λογισμικού
μετασχηματισμός μοντέλων
ανάλυση αρχείων καταγραφής
δίκτυα petri
ταίριασμα σχηματομορφών
έλεγχος μοντέλου software systems monitoring
model transformation
log file analysis
petri νets
pattern matching
model checking
Issue Date: 9-Jul-2008
Abstract: Μια από τις μεθόδους επιβεβαίωσης της ορθής λειτουργίας ενός συστήματος λογισμικού είναι μέσω της παρακολούθησης και ανάλυσης του συστήματος κατά την εκτέλεσή της λειτουργίας του. Η παρακολούθηση λογισμικού (software monitoring) ορίζεται ως η διαδικασία παραγωγής πληροφοριών και εξαγωγής συμπερασμάτων σχετικών με σημαντικά συμβάντα που σημειώνονται κατά τη διάρκεια της λειτουργίας ενός συστήματος λογισμικού. Οι πληροφορίες που εξάγονται από το σύστημα κωδικοποιούνται ως γεγονότα (events) και αποθηκεύονται για περαιτέρω ανάλυση και έλεγχο. Στα μεγάλα όμως, βιομηχανικά συστήματα λογισμικού που αποτελούνται από πολλές μονάδες (δομοστοιχεία) και ακολουθούν συχνά κατανεμημένες αρχιτεκτονικές, παράγεται τεράστιος όγκος πληροφοριών παρακολούθησης, οι οποίες συνήθως είναι δύσκολο να αναλυθούν. Τα κύρια προβλήματα που αφορούν στη διαδικασία παρακολούθησης και ανάλυσης σχετίζονται α) με κατάλληλες τεχνικές υπομνηματισμού και σχολιασμού του λογισμικού για την παραγωγή δεδομένων παρακολούθησης, β) με τη προδιαγραφή σεναρίων ενδιαφέροντος και της έκφρασής τους ως μοτίβα γεγονότων και τέλος γ) με μεθόδους αναγνώρισης των σεναρίων αυτών στις ακολουθίες των γεγονότων που συλλέγονται.Σκοπός αυτής της εργασίας είναι η δημιουργία ενός περιβάλλοντος-πλαισίου για την αποτελεσματική και αποδοτική παρακολούθηση και ανάλυση της λειτουργίας συστημάτων λογισμικού. Πρώτον, προτείνεται μια τεχνική υπομνηματισμού λογισμικού υλοποιημένου σε Java, χωρίς επέμβαση στον πηγαίο κώδικα (non-intrusive) για την παραγωγή πληροφοριών παρακολούθησης. Δεύτερον, προτείνεται η χρήση Διαγραμμάτων Ακολουθίας της Ενοποιημένης Γλώσσας Μοντελοποίησης για τη διατύπωση σεναρίων ορθής-προδιαγραμμένης λειτουργίας του συστήματος, και στη συνέχεια προτείνεται και υλοποιείται ένας μετασχηματισμός των Διαγραμμάτων Ακολουθίας σε Δίκτυα Petri, τα οποία μπορούν να εκτελεστούν και να αναλυθούν με βάση τις πληροφορίες παρακολούθησης. Τρίτον, προτείνεται και υλοποιείται μια τεχνική ανάλυσης των Δικτύων Petri, με βάση τις πληροφορίες παρακολούθησης, η οποία οδηγεί τελικά στην αναγνώριση και επαλήθευση της εμφάνισης, ή μη, των σεναρίων ενδιαφέροντος όπως αυτά έχουν μοντελοποιηθεί από τα αντίστοιχα Δίκτυα Petri. Σε αυτή την εργασία, γίνονται δύο προσεγγίσεις για την ανάλυση των πληροφοριών παρακολούθησης. Στη πρώτη προσέγγιση, τα δεδομένα εισόδου της διαδικασίας προέρχονται από αρχεία καταγραφής (off-line log file analysis). Στη δεύτερη προσέγγιση προτείνεται και υλοποιείται μια αρχιτεκτονική επιγραμμικής ανάλυσης των ακολουθιών γεγονότων που τροφοδοτούνται στο εργαλείο ελέγχου και αναλύονται σε πραγματικό χρόνο (real-time monitoring).Οι τεχνικές, τα εργαλεία και οι μέθοδοι παρακολούθησης και ανάλυσης που περιλαμβάνονται στο περιβάλλον-πλαίσιο μπορούν να χρησιμοποιηθούν σε ένα πλήθος περιπτώσεων όπως για τον έλεγχο τήρησης απαιτήσεων για ένα σύστημα, για τον εντοπισμό περιστατικών ασφάλειας και για τη διάγνωση υπαρχόντων ή ενδεχόμενων προβλημάτων.One of the techniques for the verification of the correctness and efficiency of a software system is through monitoring and analysis of its execution. Software monitoring is defined as the production of information and the extraction of conclusions related to the run-time behavior of a software system. This information is encoded as events and can be consequently used for analysis and verification. However, large-scale industrial software systems consist of many components that usually follow distributed architectures, producing a large amount of monitoring data which may be difficult to analyze. The main problems that have to be dealt with regards to monitoring and analysis of industrial software systems are: (a) application of appropriate software instrumentation techniques to monitor execution; (b) expression of scenarios of interest based on events that can be monitored; and (c) definition of methods for matching these different scenarios against the event sequences observed by the monitoring of such systems. The scope of this thesis is to develop a new framework for effectively and efficiently monitor and analyze the execution of large-scale software systems. First, we utilize a non-intrusive instrumentation technique for software implemented in Java in order to produce monitoring information (log data). Second, we propose the representation of scenarios related to the "correct" or "specified" behavior of the system through Sequence Diagrams of the Unified Modeling Language. A model transformation specification of Sequence Diagrams to Petri Nets can produce equivalent Petri Net models from such Sequence Diagrams. Third, Petri Net models are executed and analyzed against the events collected by the software monitors. The analysis technique allows for the verification or rejection of the original scenarios' occurrences as these are specified by the Petri Net model. This analysis can be performed in two ways. In the first approach, log files are used as input (off-line log file analysis). In the second approach, an online analysis architecture is proposed through which event sequences are collected and analyzed against the specification models in real-time (real-time monitoring). The techniques, tools and methods of monitoring and analysis included in this framework can be applied into a wide variety of cases such as run-time requirements monitoring, detection of security incidents and diagnosis of existing or imminent problems.
URI: http://artemis-new.cslab.ece.ntua.gr:8080/jspui/handle/123456789/15093
Appears in Collections:Διπλωματικές Εργασίες - Theses

Files in This Item:
File SizeFormat 
DT2008-0100.pdf2.68 MBAdobe PDFView/Open


Items in Artemis are protected by copyright, with all rights reserved, unless otherwise indicated.