Die Universal Systems Language ( USL ) ist eine Systemmodellierungssprache und formale Methode zur Spezifikation und zum Entwurf von Software und anderen komplexen Systemen. Sie wurde von Margaret Hamilton auf Grundlage ihrer Erfahrungen mit der Entwicklung von Flugsoftware für das Apollo-Programm entwickelt . [ 1 ] Die Sprache ist in der Software 001 Tool Suite von Hamilton Technologies, Inc. implementiert. [ 2 ] USL entwickelte sich aus 001AXES, welches wiederum aus AXES hervorging. Alle drei basieren auf Hamiltons Kontrollaxiomen. Die 001 Tool Suite nutzt das präventive Konzept der Entwicklung vor der Implementierung (Development Before the Fact, DBTF) für ihren Entwicklungsprozess. DBTF beseitigt Fehler so früh wie möglich im Entwicklungsprozess und macht die nachträgliche Fehlersuche überflüssig.
Philosophie
USL wurde durch Hamiltons Erkenntnis von Fehlermustern oder -kategorien inspiriert, die während der Softwareentwicklung von Apollo auftraten . [ 3 ] [ 4 ]
Bestimmte Korrektheitsgarantien sind in der USL-Grammatik verankert. [ 5 ]
USL wird von einigen Anwendern als benutzerfreundlicher als andere formale Systeme angesehen. [ 6 ] Es ist nicht nur ein Formalismus für Software, sondern definiert auch Ontologien für gemeinsame Elemente von Problembereichen, wie beispielsweise den physikalischen Raum und die Ereigniszeit.
Formalismus für eine Kontrolltheorie
Primitive Strukturen sind universell, da sie zur Ableitung neuer abstrakter universeller Strukturen, Funktionen oder Typen verwendet werden können. Der Prozess der Ableitung neuer Objekte (d. h. Strukturen, Typen und Funktionen) ist äquivalent zum Prozess der Ableitung neuer Typen in einer konstruktiven Typentheorie.

Durchführung
Die Entwicklung eines Softwaresystems mit USL und der zugehörigen Automatisierungslösung 001 Tool Suite (001) verläuft wie folgt: Zunächst wird das System mit USL definiert. Anschließend wird die Definition automatisch mit dem Analysator von 001 analysiert, um die korrekte Verwendung von USL sicherzustellen. Abschließend werden ein Großteil des Designs und der gesamte Implementierungscode automatisch mit dem Generator von 001 generiert. [ 9 ] [ 10 ] [ 11 ] [ 12 ] USL kann auch anderen Sprachen formale Unterstützung bieten. [ 13 ]
Siehe auch
Referenzen
- ^ M. Hamilton und W. R. Hackler, " Universal Systems Language: Lessons Learned from Apollo ", IEEE Computer, Dez. 2008.
- ^ 001 Tool Suite (1986-2020)
- ^ Margaret H. Hamilton, Hamilton Technologies (27. September 2012). "„Universal Systems Language und ihre Automatisierung, die 001 Tool Suite, für die Entwicklung und den Aufbau von Systemen und Software“ Webinar-Reihe von Lockheed Martin/IEEE Computer Society .
- ^ Hamilton, Margaret H. (2018). „Was uns die Fehler verraten“ . IEEE Software . 35 (5): 32–37 . doi : 10.1109/MS.2018.290110447 . ISSN 0740-7459 . S2CID 52896962 .
- ^ Dolha, Steve, Chiste, Dave, "Ein Remote-Abfragesystem für das Web: Die Entwicklung verteilter Systeme managen.", Kapitel 32, Internet Management, Herausgeberin Jessica Keyes, Auerbach, 2000.
- ^ Krut, Jr., B., " Integrating 001 Tool Support in the Feature-Oriented Domain Analysis Methodology " (CMU/SEI-93-TR-11, ESC-TR-93-188), Pittsburgh, SEI, Carnegie Mellon University, 1993.
- ^ Hamilton, M. , " Inside Development Before the Fact" , Titelgeschichte, Sonderbeilage, 8ES-24ES. Electronic Design, April 1994.
- ^ Hamilton, M. , " 001: EIN VOLLSTÄNDIGES LEBENSZYKLUS-SYSTEMENGINEERING- UND SOFTWAREENTWICKLUNGSUMFELD Entwicklung im Vorfeld In Aktion" , Titelgeschichte, Sonderbeilage, 8ES-24ES. Electronic Design, April 1994.
- ^ Ouyang, M., Golay, MW 1995, Ein integrierter formaler Ansatz zur Entwicklung hochwertiger Software für sicherheitskritische Systeme , Massachusetts Institute of Technology, Cambridge, Massachusetts, Bericht Nr. MIT-ANP-TR-035.
- ^ Software Productivity Consortium (SPC) (1998), Object-Oriented Methods and Tools Survey , Herndon, VA.SPC-98022-MC, Version 02.00.02, Dezember 1998.
- ^ Max Schindler (1990) Computer Aided Software Design , John Wiley & Sons, 1990.
- * Verteidigungsministerium (1992). Experiment zu Software-Engineering-Werkzeugen – Abschlussbericht , Band 1, Zusammenfassung des Experiments, Tabelle 1, S. 9. Strategische Verteidigungsinitiative, Washington, DC
- ^ Hamilton, M. Hackler, WR, " Eine formale universelle Systemsemantik für SysML , 17. jährliches internationales Symposium, INCOSE 2007, San Diego, CA, Juni 2007.
Weiterführende Literatur
- Hamilton, M., Zeldin, S. (1976), „Higher Order Software — A Methodology for Defining Software“, IEEE Transactions on Software Engineering, Bd. SE-2, Nr. 1, März 1976.
- Hamilton, M. (April 1994). „Einblicke in die Entwicklung vor der eigentlichen Umsetzung“ . (Titelgeschichte). Sonderbeilage. 8ES-24ES. Electronic Design .
- Hamilton, M. (Juni 1994). „001: Eine vollständige Lebenszyklus-Systementwicklungs- und Softwareentwicklungsumgebung“ . (Titelgeschichte). Sonderbeilage. 22ES-30ES. Electronic Design .
- Hamilton, M., Hackler, WR. (2004), Deeply Integrated Guidance Navigation Unit (DI-GNU) Common Software Architecture Principles (revised dec-29-04), DAAAE30-02-D-1020 and DAAB07-98-D-H502/0180, Picatinny Arsenal, NJ, 2003–2004.
- Hamilton, M. und Hackler, WR (2007), " Universelle Systemsprache für präventives System-Engineering ", Proc. 5. Jahrestagung Systementwicklungsforschung (CSER), Stevens Institute of Technology, März 2007, Beitrag Nr. 36.
- Hamilton, M.; Hackler, WR (2007). „ Eine formale universelle Systemsemantik für SysML “. 17. jährliches internationales Symposium, INCOSE 2007, San Diego, CA, Juni 2007.