Table Of Contenthttps://ntrs.nasa.gov/search.jsp?R=20110006858 2019-04-15T03:06:54+00:00Z
United States Patent
(12) (1o) Patent No.: US 7,886,273 B2
Hinchey et al. (45) Date of Patent: *Feb. 8, 2011
(54) SYSTEMS, METHODS AND APPARATUS FOR (56) References Cited
GENERATION AND VERIFICATION OF
U.S. PATENT DOCUMENTS
POLICIES IN AUTONOMIC COMPUTING
SYSTEMS 6,697,965 131 * 2/2004 Shimada ...................... 714/38
7,316,005 132 * 1/2008 Qadeer et al . ............... 717/131
2002/0100014 Al * 7/2002 Iborra et al . ................ 717/104
(75) Inventors: Michael G. Hinchey, Bowie, MD (US);
* cited by examiner
James L. Rash, Davidsonville, MD
(US); Walter E. Truszkowski, Primary Examiner Thomas K Pham
Hyattsville, MD (US); Christopher A. (74) Attorney, Agent, or Firm Heather Goo
Rouff, Beltsville, MD (US); Roy
Sterritt, Newtownabbey (GB); Denis (57) ABSTRACT
Gracanin, Blacksburg, VA (US) Described herein is a method that produces fully (mathemati-
cally) tractable development of policies for autonomic sys-
(73) Assignee: The United States of America as
tems from requirements through to code generation. This
represented by the Administrator of
method is illustrated through an example showing how user
the National Aeronautics and Space
formulated policies can be translated into a formal mode
Administration, Washington, DC (US)
which can then be converted to code. The requirements-based
(*) Notice: Subject to any disclaimer, the term of this
programming method described provides faster, higher qual-
patent is extended or adjusted under 35
ity development and maintenance of autonomic systems
U.S.C. 154(b) by 1089 days.
based on user formulation of policies.
This patent is subject to a terminal dis-
Further, the systems, methods and apparatus described herein
claimer.
provide a way of analyzing policies for autonomic systems
(21) Appl. No.: 11/532,800
and facilities the generation of provably correct implementa-
(22) Filed: Sep.18, 2006 tions automatically, which in turn provides reduced develop-
(65) Prior Publication Data ment time, reduced testing requirements, guarantees of cor-
rectness of the implementation with respect to the policies
US 2010/0257505 Al Oct. 7, 2010
specified at the outset, and provides a higher degree of con-
Related U.S. Application Data fidence that the policies are both complete and reasonable.
The ability to specify the policy for the management of a
(60) Provisional application No. 60/748,232, filed on Dec.
1, 2005. system and then automatically generate an equivalent imple-
mentation greatly improves the quality of software, the sur-
(51) Int. Cl.
vivability of future missions, in particular when the system
G06F 9144 (2006.01)
will operate untended in very remote environments, and
(52) U.S. Cl . ....................... 717/124; 717/127; 717/131;
717/136; 717/151; 717/154 greatly reduces development lead times and costs.
(58) Field of Classification Search .................. 714/124
See application file for complete search history. 54 Claims, 25 Drawing Sheets
102 104
INFORMAL LAWS OF
SPECIFICATION CONCURRENCY
1802
CSP
TRANSLATOR
1804
CSP
SPECIFICATION
1806
1808 1810
VISUATLOIZOALTION ANALYZER CSP TOOL
1804
MODIFIED CSP
SPECIFICATION
112
CODE
TRANSLATOR
114
COMPUTER
LANGUAGE
PROGRAM 1800
U.S. Patent Feb. 8, 2011 Sheet 1 of 25 US 7,886,273 B2
102 104
INFORMAL LAWS OF
SPECIFICATION CONCURRENCY
106
TRANSLATOR
108
PROCESS-
BASED
SPECIFICATION
110 112
CODE
ANALYZER
TRANSLATOR
114
COMPUTER
LANGUAGE
PROGRAM
FIG. 1 100
U.S. Patent Feb. 8, 2011 Sheet 2 of 25 US 7,886,273 B2
202
210
FIG. 2 "1,-200
U.S. Patent Feb. 8, 2011 Sheet 3 of 25 US 7,886,273 B2
302 104
LAWS OF
POLICY(S)
CONCURRENCY
304
TRANSLATOR
306
FORMAL
SPECIFICATION
308 310
CODE
ANALYZER
TRANSLATOR
314
COMPUTER
LANGUAGE
PROGRAM
FIG. 3 300
U.S. Patent Feb. 8, 2011 Sheet 4 of 25 US 7,886,273 B2
402
406
FIG. 4
400
U.S. Patent Feb. 8, 2011 Sheet 5 of 25 US 7,886,273 B2
502
TRANSLATE INFORMAL SPECIFICATION INTO
PROCESS-BASED SPECIFICATION SEGMENTS
504
AGGREGATE THE PROCESS-BASED
SPECIFICATION SEGMENTS INTO A SINGLE
PROCESS-BASED SPECIFICATION
506
TRANSLATE THE SINGLE PROCESS-BASED
SPECIFICATION
INTO HIGH LEVEL LANGUAGE INSTRUCTIONS
508
COMPILE THE HIGH LEVEL LANGUAGE
INSTRUCTIONS INTO EXECUTABLE CODE
FIG. 5 11_1'_500
U.S. Patent Feb. 8, 2011 Sheet 6 of 25 US 7,886,273 B2
602
VERIFY
SYNTAX
604
MAP TO
PROCESS-BASED
SPECIFICATION
502
606
CONSISTENCY
WITH OTHER
PROCESS-BASED
SPECIFICATIONS
608
VERIFY LACK
OF OTHER
PROBLEMS
FIG. 6 "I,__600
U.S. Patent Feb. 8, 2011 Sheet 7 of 25 US 7,886,273 B2
702
ANALYZE A FORMAL SPECIFICATION
DERIVED FROM SCENARIOS
704
NO
:LAW IN FORMAL
SPECIFICATION
?
YES
706
CORRECT THE FLAW IN THE SCENARIOS
FIG. 7 700
U.S. Patent Feb. 8, 2011 Sheet 8 of 25 US 7,886,273 B2
802
TRANSLATE SCENARIOS INTO A FORMAL
SPECIFICATION
804
ANALYZE THE FORMAL SPECIFICATION
806
TRANSLATE THE FORMAL SPECIFICATION
INTO SCRIPT
FIG. 8 I\\- 800
U.S. Patent Feb. 8, 2011 Sheet 9 of 25 US 7,886,273 B2
902
MECHANICALLY TRANSLATE DOMAIN
KNOWLEDGE INTO FORMAL SPECIFICATION
SEGMENTS
904
AGGREGATE THE FORMAL SPECIFICATION
SEGMENTS INTO A SINGLE FORMAL
SPECIFICATION
906
TRANSLATE THE SINGLE FORMAL
SPECIFICATION
INTO SCRIPT(S)
908
GENERATE A SCRIPT FROM THE SCRIPT(S)
FIG. 9 ^,- 900
Description:Sep 18, 2006 batch, Windows PowerShell, RUM sh, and Winbatch. In regards to macro .. a
solution to manage complexity and to guide the behavior of.