United States Patent (1O) Patent No.: US 7,886,273 B2 Hinchey Et Al
Total Page:16
File Type:pdf, Size:1020Kb
(12) United States Patent (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); James L. Rash, Davidsonville, MD * cited by examiner (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 Administration, Washington, DC (US) formulated policies can be translated into a formal mode 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- claimer. Further, the systems, methods and apparatus described herein 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. (60) Provisional application No. 60/748,232, filed on Dec. The ability to specify the policy for the management of a 1, 2005. system and then automatically generate an equivalent imple- (51) Int. Cl. mentation greatly improves the quality of software, the sur- G06F 9144 (2006.01) vivability of future missions, in particular when the system (52) U.S. Cl . ....................... 717/124; 717/127; 717/131; will operate untended in very remote environments, and 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 VISUALIZATION ANALYZER CSP TOOL 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 POLICY(S) LAWS OF 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 U.S. Patent Feb. 8, 2011 Sheet 10 of 25 US 7,886,273 B2 1002 VERIFY SYNTAX 1004 MAP TO FORMAL SPECIFICATION 902 1006 VERIFY CONSISTENCY OF FORMAL SPECIFICATION 1008 VERIFY LACK OF OTHER PROBLEMS FIG. 10 11-11-1000 U.S. Patent Feb. 8, 2011 Sheet 11 of 25 US 7,886,273 B2 1102 TRANSLATE POLICY(S) INTO FORMAL SPECIFICATION SEGMENTS 1104 AGGREGATE THE FORMAL SPECIFICATION SEGMENTS INTO A SINGLE FORMAL SPECIFICATION 1106 TRANSLATE THE SINGLE FORMAL SPECIFICATION INTO HIGH LEVEL LANGUAGE INSTRUCTIONS 1108 COMPILE THE HIGH LEVEL LANGUAGE INSTRUCTIONS INTO EXECUTABLE CODE FIG. 11 111-1100 U.S. Patent Feb. 8, 2011 Sheet 12 of 25 US 7,886,273 B2 1202 VERIFY SYNTAX 1204 MAP TO FORMAL SPECIFICATION 1102 1206 CONSISTENCY WITH OTHER FORMAL SPECIFICATIONS 1208 VERIFY LACK OF OTHER PROBLEMS FIG. 12 1-11,-1200 U.S. Patent Feb. 8, 2011 Sheet 13 of 25 US 7,886,273 B2 1302 ANALYZE A FORMAL SPECIFICATION DERIVED FROM POLICY(S) 1304 NO FLAW IN FORMAL SPECIFICATION YES 1306 CORRECT THE FLAW IN THE POLICY(S) FIG. 13 1300 U.S. Patent Feb. 8, 2011 Sheet 14 of 25 US 7,886,273 B2 1402 TRANSLATE POLICY(S) INTO A FORMAL SPECIFICATION 1404 ANALYZE THE FORMAL SPECIFICATION 1406 TRANSLATE THE FORMAL SPECIFICATION INTO AN IMPLEMENTATION FIG. 14 ^,— 1400 U.S. Patent Feb. 8, 2011 Sheet 15 of 25 US 7,886,273 B2 1502 MECHANICALLY TRANSLATE POLICY(S) INTO FORMAL SPECIFICATION SEGMENTS 1504 AGGREGATE THE FORMAL SPECIFICATION SEGMENTS INTO A SINGLE FORMAL SPECIFICATION 1506 TRANSLATE THE SINGLE FORMAL SPECIFICATION INTO IMPLEMENTATION(S) 1508 GENERATE AN IMPLEMENTATION FROM THE IMPLEMENTATION(S) FIG. 15 1500 U.S. Patent Feb. 8, 2011 Sheet 16 of 25 US 7,886,273 B2 1602 VERIFY SYNTAX 1604 MAP TO FORMAL SPECIFICATION 1502 1606 VERIFY CONSISTENCY OF FORMAL SPECIFICATION 1608 VERIFY LACK OF OTHER PROBLEMS FIG. 16 lll^— 1600 U.S. Patent Feb. 8, 2011 Sheet 17 of 25 US 7,886,273 B2 00 N Tti co N T N T N N N O I- I- T— T Tti U.S. Patent Feb. 8, 2011 Sheet 18 of 25 US 7,886,273 B2 102 104 INFORMAL LAWS OF SPECIFICATION CONCURRENCY 1802 CSP TRANSLATOR 1804 CSP SPECIFICATION 1806 1808 1810 VISUALIZATION TOOL ANALYZER CSP TOOL 1804 MODIFIED CSP SPECIFICATION 112 CODE TRANSLATOR 114 FIG. ,^ 8 COMPUTER LANGUAGE PROGRAM 1800 U.S. Patent Feb. 8, 2011 Sheet 19 of 25 US 7,886,273 B2 N00 r NCD r N rti N ON r r rti U.S. Patent Feb. 8, 2011 Sheet 20 of 25 US 7,886,273 B2 202 104 ^ 204 LAWS OF INFERENCE CONCURRENCY SCENARIOS ENGINE 206 TRANSLATOR 208 210 FORMAL 7 SPECIFICATION ANALYZER 212 REVERSE2002 SCRIPT SCRIPT TRANSLATOR TRANSLATOR 214 SCRIPT FIG. 20 2000 U.S. Patent Feb. 8, 2011 Sheet 21 of 25 US 7,886,273 B2 N00 Tti NO T N Tti N ON ti ti ti T T T U.S. Patent Feb. 8, 2011 Sheet 22 of 25 US 7,886,273 B2 302 104 POLICY(S) LAWS OF CONCURRENCY 2202 CSP TRANSLATOR 2204 CSP SPECIFICATION 2206 2208 2210 VISUALIZATION ANALYZER CSP TOOL TOOL 41F- 2204 MODIFIED CSP SPECIFICATION 310 CODE TRANSLATOR HIGH-LEVEL 314 COMPUTER FIG. 22 LANGUAGE PROGRAM 2200 U.S. Patent Feb. 8, 2011 Sheet 23 of 25 US 7,886,273 B2 00 rNti m N rti N rti N N N O r r r U.S. Patent Feb. 8, 2011 Sheet 24 of 25 US 7,886,273 B2 104 204 )6 2402 FIG. 24 I\\- 2400 U.S. Patent Feb. 8, 2011 Sheet 25 of 25 US 7,886,273 B2 co N rti CD N rti N T N N N O T T T US 7,886,273 B2 1 2 SYSTEMS, METHODS AND APPARATUS FOR be due to errors arising, or as a result of adapting to changing GENERATION AND VERIFICATION OF conditions as the system executes. POLICIES IN AUTONOMIC COMPUTING For example, if the system involves commanding space SYSTEMS satellites, scenarios for that system can include sending com- mands to the satellites and processing data received in RELATED APPLICATIONS response to the commands. Natural language scenarios might be specific to the technology or application domain to which This application claims the benefit of U.S. Provisional the natural language scenarios are applied. A fully automated Application Ser. No. 60/748,232 filed Dec. 1, 2005 under 35 general purpose approach covering all domains is technically U.S.C.