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
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.
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
- ↑ M. Hamilton and W. R. Hackler, "Universal Systems Language: Lessons Learned from Apollo", IEEE Computer, Dec. 2008.
- ↑ 001 Tool Suite (1986-2020)
- ↑ 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".
- ↑ 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.
- ↑ 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.
- ↑ 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", cover story, Special Editorial Supplement, 8ES-24ES. Electronic Design, Apr. 1994.
- ↑ 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.
- ↑ 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.
- ↑ Software Productivity Consortium, (SPC) (1998), Object-Oriented Methods and Tools Survey, Herndon, VA.SPC-98022-MC, Version 02.00.02, December 1998.
- ↑ 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.
- ↑ 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
- Hamilton, M., Zeldin, S. (1976), "Higher Order Software — A Methodology for Defining Software," IEEE Transactions on Software Engineering, vol. SE-2, no. 1, Mar. 1976.
- Hamilton, M. (April 1994). "Inside Development Before the Fact". (Cover story). Special Editorial Supplement. 8ES-24ES. Electronic Design.
- Hamilton, M. (June 1994). "001: A Full Life Cycle Systems Engineering and Software Development Environment". (Cover story). Special Editorial Supplement. 22ES-30ES. Electronic Design.
- Hamilton, M., Hackler, W.R.. (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. and Hackler, W.R. (2007), "Universal Systems Language for Preventative Systems Engineering," Proc. 5th Ann. Conf. Systems Eng. Res. (CSER), Stevens Institute of Technology, Mar. 2007, paper #36.
- Hamilton, M.; Hackler, W. R. (2007). "A Formal Universal Systems Semantics for SysML". 17th Annual International Symposium, INCOSE 2007, San Diego, CA, Jun. 2007.