Universal systems language (USL) is a systems modeling language and formal method for the specification and design of software and other complex systems. It was designed by Margaret Hamilton based on her experiences writing flight software for the Apollo program.[1] The language is implemented through the 001 Tool Suite software by Hamilton Technologies, Inc.[2] USL evolved from 001AXES which in turn evolved from AXES all of which are based on Hamilton's axioms of control. The 001 Tool Suite uses the preventive concept of Development Before the Fact (DBTF) for its life-cycle development process. DBTF eliminates errors as early as possible during the development process removing the need to look for errors after-the-fact.

Philosophy

USL was inspired by Hamilton's recognition of patterns or categories of errors occurring during Apollo software development.[3][4]

Certain correctness guarantees are embedded in the USL grammar.[5]

USL is regarded by some users as more user-friendly than other formal systems.[6] It is not only a formalism for software, but also defines ontologies for common elements of problem domains, such as physical space and event timing.

Formalism for a theory of control

[7][8]

Primitive structures are universal in that they are able to be used to derive new abstract universal structures, functions or types. The process of deriving new objects (i.e., structures, types and functions) is equivalent to the process of deriving new types in a constructive type theory.

Figure. 1 The three primitive control structures and their rules form a universal foundation for constructing maps in the domains of time and space as FMaps and TMaps

Implementation

The process of developing a software system with USL together with its automation, the 001 Tool Suite (001), is as follows: define the system with USL, automatically analyze the definition with 001's analyzer to ensure that USL was used correctly, automatically generate much of the design and all of the implementation code with 001's generator.[9][10][11][12] USL can be used to lend its formal support to other languages.[13]

See also

References

  1. M. Hamilton and W. R. Hackler, "Universal Systems Language: Lessons Learned from Apollo", IEEE Computer, Dec. 2008.
  2. 001 Tool Suite (1986-2020)
  3. Margaret H. Hamilton, Hamilton Technologies (September 27, 2012). ""Universal Systems Language and its Automation, the 001 Tool Suite, for Designing and Building Systems and Software" Lockheed Martin/IEEE Computer Society Webinar Series".
  4. Hamilton, Margaret H. (2018). "What the Errors Tell Us". IEEE Software. 35 (5): 32–37. doi:10.1109/MS.2018.290110447. ISSN 0740-7459. S2CID 52896962.
  5. Dolha, Steve, Chiste, Dave, "A Remote Query System for the Web: Managing the Development of Distributed Systems.", Chapter 32, Internet Management, Editor Jessica Keyes, Auerbach, 2000.
  6. 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.
  7. Hamilton, M., "Inside Development Before the Fact", cover story, Special Editorial Supplement, 8ES-24ES. Electronic Design, Apr. 1994.
  8. Hamilton, M., "001: A FULL LIFE CYCLE SYSTEMS ENGINEERING AND SOFTWARE DEVELOPMENT ENVIRONMENT Development Before The Fact In Action", cover story, Special Editorial Supplement, 8ES-24ES. Electronic Design, Apr. 1994.
  9. Ouyang, M., Golay, M.W. 1995, An Integrated Formal Approach for Developing High Quality Software of Safety-Critical Systems, Massachusetts Institute of Technology, Cambridge, Massachusetts, Report No. MIT-ANP-TR-035.
  10. Software Productivity Consortium, (SPC) (1998), Object-Oriented Methods and Tools Survey, Herndon, VA.SPC-98022-MC, Version 02.00.02, December 1998.
  11. Max Schindler (1990) Computer Aided Software Design, John Wiley & Sons, 1990.
    • Department of Defense (1992). Software engineering tools experiment-Final report, Vol. 1, Experiment Summary, Table 1, p. 9. Strategic Defense Initiative, Washington, D.C.
  12. Hamilton, M. Hackler, W.R., "A Formal Universal Systems Semantics for SysML, 17th Annual International Symposium, INCOSE 2007, San Diego, CA, June 2007.

Further reading

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.