Σχεδιασμός και κατασκευή ενός υβριδικού αμυντικού αυτοματοποιημένου ρομποτικού συστήματος
174
επιβάρυνε την μνήμη του υπολογιστή και εισήγαγε χρονική καθυστέρηση κατά την
επεξεργασία των εικόνων. Στην περίπτωση που η εκτέλεση του προγράμματος στο
μικροϋπολογιστή Raspberry Pi γινόταν μέσα από τη συνάρτηση fork(), τότε το πρόγραμμα
ξεκινούσε αλλά δεν ήταν εφικτή η ανίχνευση προσώπου και η παραγωγή αποτελέσματος.
Αντίθετα, η συνάρτηση posix_spawn() έχει ως στόχο να ξεκινήσει μια εντελώς νέα
διεργασία παράλληλα με τη διεργασία γονέα, χωρίς αντιγράψει κάποιο μέρος της διεργασίας
γονέα. Ωστόσο, και στην περίπτωση αυτή οι διεργασία γονέας και απόγονος είναι
αλληλένδετες και αλληλεπιδρούν. Με τη χρήση της συνάρτησης αυτής το πρόγραμμα
εκτελείται χωρίς κάποια καθυστέρηση, με παραμέτρους οι οποίες προκύπτουν από τις
επιλογές του χρήστη στη σελίδα και στέλνονται από τον client στον server.
5.6 Σύνοψη μετρικών κώδικα
Σε αυτή την παράγραφο θα αναφερθούν συνοπτικά δεδομένα σχετικά με τον πηγαίο
κώδικα της εργασίας. Συγκεκριμένα, θα παρουσιαστούν πληροφορίες και στατιστικά για τον
κώδικα που αναπτύχθηκε για την υλοποίηση του λογισμικού, και των δύο εκδόσεων, του
κώδικα του Arduino, τον κώδικα του ιστοχώρου, καθώς και για τους επιπρόσθετους
αλγορίθμους.
5.6.1 Μέτρηση κώδικα πλήρους προγράμματος
Στον Πίνακας 7 παρουσιάζονται τα χαρακτηριστικά του κώδικα που υλοποιήθηκε για τις
ανάγκες της ανάπτυξης του πλήρους λογισμικού.