A software development architecture is provided for constructing a wide
range of software development tools. A software development tool can be
created by integrating a specification specifying functionality specific
to a set of software development scenarios into a software development
scenario-independent framework. The integrated specification can then be
compiled to create the software development tool. Alternatively,
integration can be achieved at runtime without access to source code. The
architecture can use any combination of the following: a software
scenario independent intermediate representation format, one or more
exception handling models capable of supporting a plurality of
programming language specific exception handling models, a type system
capable of representing the type representations of a plurality of source
languages, and a code generator capable of generating code targeted for a
plurality of execution architectures.
Μια αρχιτεκτονική ανάπτυξης λογισμικού παρέχεται για την κατασκευή ενός ευρέος φάσματος των εργαλείων ανάπτυξης λογισμικού. Ένα εργαλείο ανάπτυξης λογισμικού μπορεί να δημιουργηθεί με την ενσωμάτωση μιας προδιαγραφής διευκρινίζοντας τη λειτουργία συγκεκριμένη για ένα σύνολο σεναρίων ανάπτυξης λογισμικού σε ένα πλαίσιο σενάριο-ανεξάρτητων ανάπτυξης λογισμικού. Η ενσωματωμένη προδιαγραφή μπορεί έπειτα να συνταχθεί για να δημιουργήσει το εργαλείο ανάπτυξης λογισμικού. Εναλλακτικά, η ολοκλήρωση μπορεί να επιτευχθεί στο χρόνο εκτέλεσης χωρίς πρόσβαση στον κώδικα πηγής. Η αρχιτεκτονική μπορεί να χρησιμοποιήσει οποιοδήποτε συνδυασμό των εξής: ένα ανεξάρτητο ενδιάμεσο σχήμα αντιπροσώπευσης σεναρίου λογισμικού, ένα ή περισσότερα διαχειριζόμενα πρότυπα εξαίρεσης ικανά μια πολλαπλότητα του προγραμματισμού διαχειριζόμενων προτύπων γλωσσικής των συγκεκριμένων εξαίρεσης, ένα σύστημα τύπων ικανό τις αντιπροσωπεύσεις τύπων μιας πολλαπλότητας των γλωσσών πηγών, και μια γεννήτρια κώδικα ικανή τον κώδικα που στοχεύει για μια πολλαπλότητα των αρχιτεκτονικών εκτέλεσης.