United States Patent (1O) Patent No.: US 7,886,273 B2 Hinchey Et Al

Total Page:16

File Type:pdf, Size:1020Kb

United States Patent (1O) Patent No.: US 7,886,273 B2 Hinchey Et Al (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.
Recommended publications
  • List of TCP and UDP Port Numbers
    List of TCP and UDP port numbers From Wikipedia, the free encyclopedia Jump to: navigation, search This is a list of Internet socket port numbers used by protocols of the Transport Layer of the Internet Protocol Suite for the establishment of host-to-host communications. Originally, these port numbers were used by the Transmission Control Protocol (TCP) and the User Datagram Protocol (UDP), but are used also for the Stream Control Transmission Protocol (SCTP), and the Datagram Congestion Control Protocol (DCCP). SCTP and DCCP services usually use a port number that matches the service of the corresponding TCP or UDP implementation if they exist. The Internet Assigned Numbers Authority (IANA) is responsible for maintaining the official assignments of port numbers for specific uses.[1] However, many unofficial uses of both well- known and registered port numbers occur in practice. Contents [hide] y 1 Table legend y 2 Well-known ports: 0±1023 y 3 Registered ports: 1024±49151 y 4 Dynamic, private or ephemeral ports: 49152±65535 y 5 See also y 6 References y 7 External links [edit] Table legend Color coding of table entries Official Port/application combination is registered with IANA Unofficial Port/application combination is not registered with IANA Conflict Port is in use for multiple applications [edit] Well-known ports: 0±1023 The port numbers in the range from 0 to 1023 are the well-known ports. They are used by system processes that provide widely-used types of network services. On Unix-like operating systems, a process must execute with superuser privileges to be able to bind a network socket to an IP address using one of the well-known ports.
    [Show full text]
  • Desktop Automation with Autohotkey
    Unplug Your Mouse Workflow Automation with AutoHotKey Andrew Weidner Robert Wilson Mice make simple things easy and complex things impossible. Mice make simple things easy and complex things impossible. Mice are useful and fun, but they tend to slow down repetitive file management tasks. Do things faster with your keyboard. Keyboard Optimization: why type fifty-two keys when you can do the same thing with two? (Ctrl + 4) Overview • Keyboard Shortcuts • AutoHotkey Scripts • Tools & References • Demonstration Keyboard Shortcuts Windows Explorer Tab = cycle fields (add Shift to reverse) Alt + Tab = application switcher Enter = open selected file/folder Backspace = return to parent folder Alt + F + M = rename selected file/folder (also F2) Alt + F + W + F = create a new folder Home/End = go to first/last file Keyboard Shortcuts ACDSee Viewer Page Down = next image Page Up = previous image (NumPad) * = fit image to window (NumPad) + = zoom in (NumPad) - = zoom out Arrow Keys = move around the image Home/End = go to first/last image Keyboard Shortcuts Mozilla Firefox Ctrl + T = open new tab Ctrl + Tab = cycle tabs (add Shift to reverse) Alt + Left = go to previous page (also Backspace) Ctrl + L = focus on address bar Tab = cycle links (add Shift to reverse) Arrow Keys = scroll through the page Ctrl + B = show/hide bookmarks sidebar AutoHotkey Scripts Simple: another Enter key ; plain text file with .AHK extension ; comments begin with a semicolon ; define the hotkey: Alt + a !a:: ; define the action Send, {Enter} AutoHotkey Scripts Simple: type
    [Show full text]
  • New Elevation Powertoys for Windows Vista
    Security At a glance: Run as Administrator for third-party scripting tools Run as Another User Prompt Here as System for CMD and Windows PowerShell Drag-and-drop Elevation Gadget New Elevation PowerToys for Windows Vista Michael Murgolo of my favourite third-party scripting tools, Welcome to another demonstrate how you can replace a nice edition of the Elevation Windows XP feature that was removed from Windows Vista, and look at some of the han- PowerToys for dy tools that are included in Elevation Pow- erToys. Windows Vista. I took Run as Administrator for additional a close look at this in scripting tools One topic I discussed in the previous article the June 2007 issue (available at http://technet.microsoft.com/ magazine/cc162321.aspx) was enabling the of TechNet Magazine. Run as Administrator option for the native Windows scripting tools. For this article, I’ve Here we are a year created Run as Administrator PowerToys for some third-party scripting tools: later. This time around, • AutoIt v3 (www.hiddensoft.com) • AutoHotkey (www.autohotkey.com) I want to show you • ActivePerl (www.activestate.com) how I expanded the • KiXtart 2010 (www.kixtart.org) The code for each of these is included in Run as Administrator the download for this article, which you can find at http://technetmagazine.com. The ac- functionality to some tual files are named ElevateAutoIt3.inf, El- 58 To get your FREE copy of TechNet Magazine subscribe at: www.microsoft.com/uk/technetmagazine 58_62_Elevatio_des7.indd 58 13/8/08 16:05:49 evateAutoHotKey.inf, ElevatePerlScript.inf, domain he is on.
    [Show full text]
  • Easily Automate Any Application Simple, Free Tool Yields 2× Productivity Increase
    Easily Automate Any Application Simple, Free Tool Yields 2× Productivity Increase First There is a Mountain – A client recently tasked me with consolidating and formatting eleven PowerPoint decks into a single, 700+ slide master deck. The decks were created by several authors having varied familiarity with the application. My job was to provide an attractive, uniform look—using a new design template—that would enhance readability and my client’s professional image. All the while I had to keep an eye on the clock to help minimize my client’s costs. It was estimated to take six minutes per slide based on data I included with the first few completed decks. But partway through the project I conjured a way to cut that time in half—in addition to being able to share my simple‐to‐use, no‐cost productivity enhancement process with the client (who is not familiar with computer coding). Mac OS users can look to Keyboard Maestro and the native Automator to provide similar functionality. But what I’m about to describe can be used anywhere in Windows 7 or later, and in any Microsoft or third‐party application that follows long‐established Windows user interface conventions. “Oh, the Tedium” – Bullet use was a mishmash throughout the client’s disparate slide decks. There was no consensus as to when an en‐ or em dash should be used—never mind corresponding spacing considerations. Adding to my budding carpel tunnel fear, not all Microsoft Office apps are created equal. Referencing the numeric keypad while using Word, why can you press [Ctrl]+[‐] to insert an en dash and [Ctrl]+[Alt]+[‐] for an em dash, but the same hotkey combos don’t work in PowerPoint? (Scratches head.) Yet pressing [F4], which repeats the last action, is common to both applications.
    [Show full text]
  • List of TCP and UDP Port Numbers
    List of TCP and UDP port numbers From Wikipedia, the free encyclopedia Jump to: navigation, search In computer networking, the protocols of the Transport Layer of the Internet Protocol Suite, most notably the Transmission Control Protocol (TCP) and the User Datagram Protocol (UDP), but also other protocols, use a numerical identifier for the data structures of the endpoints for host-to- host communications. Such an endpoint is known as a port and the identifier is the port number. The Internet Assigned Numbers Authority (IANA) is responsible for maintaining the official assignments of port numbers for specific uses.[1] Contents [hide] y 1 Table legend y 2 Well-known ports: 0±1023 y 3 Registered ports: 1024±49151 y 4 Dynamic, private or ephemeral ports: 49152±65535 y 5 See also y 6 References y 7 External links [edit] Table legend Color coding of table entries Official Port/application combination is registered with IANA Unofficial Port/application combination is not registered with IANA Conflict Port is in use for multiple applications [edit] Well-known ports: 0±1023 According to IANA "The Well Known Ports are assigned by the IANA and on most systems can only be used by system (or root) processes or by programs executed by privileged users. Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the well-known port."[1] Port TCP UDP Description Status 0 UDP Reserved Official When running a server on port 0, the system will run it on a random 0 TCP UDP port from 1-65535 or 1024-65535 depending on the privileges of Official the user.
    [Show full text]
  • The Definitive Guide to Windows Software Deployment
    tm realtimepublishers.com Windows The Definitive Guidetm To Software Deployment Chris Long Introduction By Sean Daily, Series Editor Welcome to The Definitive Guide to Windows 2000 Software Deployment! The book you are about to read is not only the definitive technical resource for information on Windows 2000 software deployment, but represents an entirely new modality of book publishing. The founding concept behind Realtimepublishers.com is the idea of providing readers with high-quality books on today’s most critical IT topics—at no cost to the reader. Although this may sound like a somewhat impossible feat, it is made possible through the vision and generosity of corporate sponsors such as New Boundary Technologies (formerly Lanovation), who agree to foot the production expenses for the book and host it on their website for the benefit of their website visitors. It should be pointed out that the free nature of these books does not in any way diminish their quality. Without reservation, I can tell you that this book is the equivalent of any similar printed book you might find at your local bookstore (with the notable exception that it won’t cost you $30 to $80). In addition to the free nature of the books, this publishing model provides other significant benefits. For example, the electronic nature of this eBook makes events such as chapter updates and additions, or the release of a new edition of the book possible to achieve in a far shorter timeframe than is possible with printed books. Because we publish our titles in “real- time”—that is, as chapters are written or revised by the author—you benefit from receiving the information immediately rather than having to wait months or years to receive a complete product.
    [Show full text]
  • The Definitive Guide to Windows Installer Technology for System
    The Definitive Guidetmtm To Windows Installer Technology for System Administrators Darwin Sanoy and Jeremy Moskowitz Introduction Introduction to Realtimepublishers by Sean Daily, Series Editor The book you are about to enjoy represents an entirely new modality of publishing and a major first in the industry. The founding concept behind Realtimepublishers.com is the idea of providing readers with high-quality books about today’s most critical technology topics—at no cost to the reader. Although this feat may sound difficult to achieve, it is made possible through the vision and generosity of a corporate sponsor who agrees to bear the book’s production expenses and host the book on its Web site for the benefit of its Web site visitors. It should be pointed out that the free nature of these publications does not in any way diminish their quality. Without reservation, I can tell you that the book that you’re now reading is the equivalent of any similar printed book you might find at your local bookstore—with the notable exception that it won’t cost you $30 to $80. The Realtimepublishers publishing model also provides other significant benefits. For example, the electronic nature of this book makes activities such as chapter updates and additions or the release of a new edition possible in a far shorter timeframe than is the case with conventional printed books. Because we publish our titles in “real-time”—that is, as chapters are written or revised by the author—you benefit from receiving the information immediately rather than having to wait months or years to receive a complete product.
    [Show full text]
  • Online Appendices to WFH Productivity in Open-Source Projects
    Online Appendices ”WFH Productivity in Open-Source Projects” Lucas Shen (March 2021) Figure A1: Largest countries in sample Notes. Sample size by country, in descending order. Panel (a) sorts countries by number of commits per user-repository. Panel (b) sorts countries by number of user-repository. 1 Figure A2: US states (by Commits) Notes. US sample size by states, in descending order. States sorted by number of commits per user-repository. Figure A3: US states (by Users & Repositories) Notes. US sample size by states, in descending order. States sorted by number user-repository. 2 (a) Staggered Timing in County-level Business Closures (b) County-level Variation in Sample Sizes Figure A4: Geographical Variation in US sample Notes—Panel (a) plots the county-level variation in business closures from the US-state level records and crowdsourced county-level records. Blue indicates earlier closures, while red indicates later closures. South Dakota is (still) the sole state without closure at the time of writing. Panel (b) plots the geographic variation of commits from geocoded U.S. users—larger markers indicate larger activity in the sample period. 3 (a) Early response (by 15 Feb) (b) Intermediate response (by 17 Mar) (c) Late response (by 30 Apr) Figure A5: Country variation in WFH enforcement Notes. Figure plots the variation in government-enforced WFH levels during the COVID-19 pandemic. WFH indicators come from the OxCGRT (?). 4 (a) Early response (by 15 Feb) (b) Intermediate response (by 17 Mar) (c) Late response (by 30 Apr) Figure A6: U.S. states variation in WFH enforcement Notes. Figure plots the U.S.
    [Show full text]
  • The Unit Tutorials Are from WEEK 2. a Few Key Points for Start-Up. 1
    The unit tutorials are from WEEK 2. A few key points for start-up. 1. Blended learning approach Blended learning has been implemented for this unit, which refers to a strategic and systematic approach to combining times and modes of learning, integrating the best aspects of face-to-face and online interactions, using appropriate ICTs. So the relevant technique and skills involved in this unit will be presented/delivered in different ways, for instance, lecture notes, extra notes, practical exercises, in-class discussion, as well as emails etc. As there are no face-to-face lectures, some extra notes are provided to reinforce understanding. A few sets of extra notes have been posted in vUWS; new extra notes may be added in vUWS. In addition to the unit contents in vUWS, I may use emails to further clarify administrative policies, provide hints to practical activities, present extra/supplementary materials for your information. So please check your UWS emails regularly. For example, we are not able to cover VBS features in details during tutorial classes. I may use emails to give some hints on necessary VBS features used for the practical exercises. I consider this way even more flexible and handy. 2. Consultation via emails For personal enquiries, you can also email me directly - making sure you start the subject line with '300165 SAP' and then include a relevant subject. A staff member is typically teaching multiple units, if you don't tell him/her which unit is about in your email, the staff member is not able to answer your question clearly.
    [Show full text]
  • Rapid Application Mobilization and Delivery for Smartphones
    RAPID APPLICATION MOBILIZATION AND DELIVERY FOR SMARTPHONES A Dissertation Presented to The Academic Faculty by Cheng-Lin Tsao In Partial Fulfillment of the Requirements for the Degree Doctor of Philosophy in the School of Electrical and Computer Engineering Georgia Institute of Technology August 2012 Copyright c 2012 by Cheng-Lin Tsao RAPID APPLICATION MOBILIZATION AND DELIVERY FOR SMARTPHONES Approved by: Professor Raghupathy Sivakumar, Professor Douglas M. Blough Advisor School of Electrical and Computer School of Electrical and Computer Engineering Engineering Georgia Institute of Technology Georgia Institute of Technology Professor Nikil S. Jayant Professor Umakishore Ramachandran School of Electrical and Computer College of Computing Engineering Georgia Institute of Technology Georgia Institute of Technology Professor Ghassan AlRegib Date Approved: June 2012 School of Electrical and Computer Engineering Georgia Institute of Technology DEDICATION To my parents Min-Chia Tsao and Chin-Chu Tu, my wife Hsun-Han Yu and my daughter Sophia Y. Tsao. iii ACKNOWLEDGEMENTS First and foremost, I would like to express my sincere gratitude to my advisor, Prof. Raghupathy Sivakumar, for his unflagging guidance and support. This dissertation would not have been possible without all the insightful discussion with him. He has given me great freedom in making my own decisions and coming up with research ideas. During my dissertation study, he has acted as an excellent role model of a researcher with intense enthusiasm and drive. His high standards for clear thinking and effective communication are inspiring to me will continue to guide me in my future endeavors. I would like to thank Profs. Nikil S. Jayant, Douglas M.
    [Show full text]
  • Scite4autohotkey Help
    Version v3.0.06.01 SciTE distribution designed for AutoHotkey - made by fincs - Original SciTE made by Neil Hodgson Quick Reference Usage: Opening AutoHotkey scripts Working with AutoHotkey scripts Debugging AutoHotkey scripts The toolbar Using macros Changing settings AutoHotkey v2 Support Editing features: Syntax highlighting Code folding Context menu Calltips and Autocomplete Extending the editor: Extensions COM interface Tool documentation: SmartGUI Creator 4.0 MsgBox Creator GenDocs 3.0 Scriptlet Utility TillaGoto Changelog v3.0.06.01 - October 12, 2014 Changes and new features: Upgraded to SciTE/Scintilla 3.5.1. AutoHotkey v1.1.16 syntax definition updates. AutoHotkey v2.0-a056 syntax definition updates. Added 'Run selection' context menu command (requires AutoHotkey v1.1.17) Bug-fixes: AutoHotkey v2 syntax highlighting: BIFs in command syntax (broken by v3.0.06) v3.0.06 - August 18, 2014 Changes and new features: Upgraded to SciTE/Scintilla 3.5.0. Added new program icon [designed by kon]. Added support for auto-completion of built-in object methods/properties as well as CallTips. Debugger: The current line marker color is now translucid instead of opaque cyan. AutoHotkey v2: added object command syntax support. AutoHotkey v2: introduced new syntax highlighting styles for object properties, methods, built-in properties and built-in methods. Bug-fixes: Minor debugger refactoring. Toolbar startup stability and reliability fixes. v3.0.05.01 - April 5, 2014 Changes and new features: Upgraded to SciTE/Scintilla 3.4.1. Incremental search and replace were disabled, this makes the 'Find/Replace Next' button useful again. An 'Unmark All' button was added to the Find command.
    [Show full text]
  • Macro Maker Software
    Macro maker software click here to download MacroMaker latest version: Create all sorts of macros to automate repetitive tasks. Luckily the program has an extensive documentation that teaches you the. Pulover's Macro Creator is a full featured automation tool for Windows and it's free for Reproduce your macros with automatic window activation. ; Version Update: May 7, ; Software of the day on SOFTPEDIA April 30, Macro Recorder - the best macro program for Windows. Not just a keyboard and mouse recorder but a powerful automation tool that converts macros to EXE files ​Pricing · ​Free Macro Recorder · ​Basic Video Tutorial · ​FAQ. This is a very handy freeware macro maker that suffers from an unfortunate error. MacroMaker's complex interface really isn't that difficult to master. It's. Current version for download , released 03/20/ MacroMaker is truly a free piece of software for personal home use, but the author would not refuse a. The terms used in Macro Dollar are slightly different compared to the rest because this program is created by a Frenchman. For example, the. Pulovers Macro Creator is a Free Automation Tool and Script Generator. It is based Macros can be executed from the program itself or you ca. Free keyboard macro program. Supports hotkeys for keyboard, mouse, and joystick. Can expand abbreviations as you type them (AutoText). Macro software that feature macro recorder (mouse recorder), task scheduler, autocomplete, autofill web forms, and many commands for any task automation. Macro Express&; is the premier Windows automation macro utility. Record, edit and play back mouse and keyboard macros.
    [Show full text]