(12) United States Patent (10) Patent No.: US 6,212,672 B1 Keller Et Al

(12) United States Patent (10) Patent No.: US 6,212,672 B1 Keller Et Al

USOO6212672B1 (12) United States Patent (10) Patent No.: US 6,212,672 B1 Keller et al. (45) Date of Patent: *Apr. 3, 2001 (54) SOFTWARE DEVELOPMENT SYSTEM OTHER PUBLICATIONS WITH AN EXECUTABLE WORKING MODEL IN AN INTERPRETABLE INTERMEDIATE Compilers Principles, Techniques and Tools Aho et al. MODELING LANGUAGE Chapter 8 Intermediate Code Generation, pp. 463-465, Sep. 1985.* (75) Inventors: Steven Keller, Hampstead, NH (US); Teach Yourself Visual Basic for Applications in 21 Days, pp. Richard Gorzela, Lawrence, MA (US); 28-36, Dec. 1994.* Daniel Strom, North Andover, MA Object-Oriented Modeling and Design, James Rumbaugh et (US); David Hughes, Arlington, MA al. pp. 57-62, Nov. 14, 1990.* (US); James Holt, Needham, MA (US) Template Software Inc. “User's Guide to the SNAP Devel opment Environment” version 7.0, 1995.* (73) Assignee: Dynamics Research Corporation, Template Softweare Inc. “User’s Guide to the Development Wilmington, MA (US) Process' version 7.0, 1995.* Template Software, “Using the SNAP Development Envi (*) Notice: This patent issued on a continued pros- ronment SNAP Foundation Environment Chpts 1-3, ecution application filed under 37 CFR 1998.* 1.53(d), and is subject to the twenty year patent term provisions of 35 U.S.C. “Template Software Strenthens . ”, Newswire, Product 154(a)(2). release information for version 8.0, 1998.* - 0 (List continued on next page.) Subject to any disclaimer, the term of this patent is extended or adjusted under 35 Primary Examiner Mark R. Powell U.S.C. 154(b) by 0 days. Assistant Examiner Todd Ingberg (74) Attorney, Agent, or Firm Weingarten, Schurgin, (21) Appl. No.: 08/813,487 Gagnebin & Hayes LLP (57) ABSTRACT (22)22) FileFilled: Mar.ar, 7,f, 1997 A Software development tool utilizes an intermediate object 7 modeling language. The Structure of the desired program is (51) Int. Cl.? .… G06F 9/44 first described graphically by generating rule diagrams, State diagrams, and object diagrams Such as user interface (52) U.S. C. SL LSSLLSSLLSL LSSLLSSLLSSLLSSL LSLLSLLSL LSSLLSSLLSSL LSLLSLLSL LSSLLSSLLSSL LSLLSLLSL LSSLLSSLLSSLLSSL LSLLSLLSL LSSLLSSLLSSL LSLLSLLSL LSSLLSSLLSL LSSLLSSLLSSLLSSL LSLLSLLSL LSSLLSSLLSSL LSLLSLLSL LSSLLSSLLSSL LSLLSLLSL LSSLLSSLLSSLLSSL LSLLSLLSL LSSLLS 717/1 diagrams, eVent diagrams and other object diagrams. The development tool employs the diagrams to generate a work (58) Field of Sea???/703,704,705,706, }A. : ing model of the program expressed in the object modeling 717/1, 2 language. The working model of the program can be executed without lengthy compiling, and hence program (56) References Cited behavior can be quickly observed and tested. Further, the behavior of the working model can be quickly and easily U.S. PATENT DOCUMENTS changed by modifying the diagrams until the desired result 5,487,141 1/1996 Cain et al. ........................... 395/135 is achieved. Source code is then generated from the object 5.537,630 7/1996 Berry et al. ... ... 395/155 modeling language and compiled to create the final program. 5,720,018 * 2/1998 Muller et al. ... 395/702 5,742,828 * 4/1998 Canady et al. ... 395/702 5,764,241 6/1998 Elliot et al. .......................... 395/702 92 Claims, 36 Drawing Sheets 12 OBJECTDAGRAMS 16 14 18 UEDAGRAMS ? RULE STATE DIAGRAMS) 20-EVENTDAGRAMS--THEREENS DIAGRAMS OMML -wa 31> | GENERATOR SOURCE - DISPLAY? DAABASE 26 CODE 28 TERMINAL FINAL PROGRAM N-10 US 6,212,672 B1 Page 2 OTHER PUBLICATIONS Computer Language "Smelling Like a Rose’ Tom Bragg, Mar. 1993. Template Software Product release version 6.0, Sep. 1994. * “Principles of Object-Oriented Analysis and Design” James Data Based Advisor “A Rose is a Rose’ D. Goddard, Mar. Martin Text Book, Oct. 1992.* 1995.* Visual Object Oriented Programming Concepts and Envi Rational Software Corporation-Using Rational Rose C++ roments: M. Burnett et al Text Book, Dec. 1994.* version 4.0, 1996. * Windows Tech Journal “The Seet Smell of C++” KWeeks, Sep.1994.* * cited by examiner U.S. Patent Apr. 3, 2001 Sheet 1 of 36 US 6,212,672 B1 OBJECT DIAGRAMS 16 12 14 UDAGRAMS RULE STATE EVENT DIAGRAMS DAGRAMS DIAGRAMS OTHERDAGRAMS OML INTERPRETER G / ENERATOR SOURCE DISPLAYI DATABASE CODE TERMINAL FINAL PROGRAM FIG. I. U.S. Patent Apr. 3, 2001 Sheet 2 of 36 US 6,212,672 B1 Z'OIH U.S. Patent Apr. 3, 2001 Sheet 3 of 36 US 6,212,672 B1 dA/pJBMJO ?IEMIOJ 08 9(9.I.H. #"SOIAI U.S. Patent Apr. 3, 2001 Sheet 4 of 36 US 6,212,672 B1 EXIT 94 ??tr? 88 State A time-Out State B entrylcallhome do: time-out(2000) e?callhome 90 92 FIG. 6 90 An Event Diagram 90 FIG. 7 Purchase Requisitio SourceEntity ...Total/Cost Vice President largeCOst - aDDrOVal/ largeCostPrologue f . " : large0COst ?TotalCOst ARULE DAGRAM ENIG 8 U.S. Patent Apr. 3, 2001 Sheet 5 of 36 US 6,212,672 B1 ?98 o TurnKey(Clutchy on FIG 9 NewCausePrologue NeWCause NewCause NewCauseEpilogue ASSOciation Arity ArgNo Satisfied AddtoMenu ----- 100 - 102 - 104 FIG 10A Object 440 Causename(object effect) Causename(object effect) Effectname{Object Rule Action,…) : 446 s 448 FIG. I (OB U.S. Patent Apr. 3, 2001 Sheet 6 of 36 US 6,212,672 B1 SomeCause ThirdEffect FOurthEffect ThirdEffect RuleAction? RuleACtion8 FourthEffect RuleAction.9 RuleAction 10 SeCOndEffect ThirdEffect FirstEffect RuleAction1 RuleAction3 RuleACtion5 SeCOndEffect RuleACtion2 RuleAction4 RuleAction6 SomeCauSe en ." >138 ArgNo y ?~134 Satisfied a. AdiroMenu (c.138 136 FIG. I2 FIG. 13 U.S. Patent Apr. 3, 2001 Sheet 7 of 36 US 6,212,672 B1 backackgroung d green A Planned ASSOCiation FIG. I.5 DoSomething - employs Define ... I DefineFrOmReS DefineWithinh . Compare . Call o?somevariable Unit FIG. 20 U.S. Patent Apr. 3, 2001 Sheet 8 of 36 US 6,212,672 B1 178 182 180 Arguments (SomeUni184 I. 186 Load DeleteUnit . 188 . SomeUnit -N175 FIG 21 DoSomething Pop Push Push FIG. 22 204 200 Somethi DoSomething 206 Rename H. <> ???" AnotherUnit ... I <> "" 08 . 210 202 `???mess??? FIG. 23 U.S. Patent Apr. 3, 2001 Sheet 9 of 36 US 6,212,672 B1 218 DoSomething " 1?? | | <><> * a 220 216 FIG. 24 * FIG. 25 230 234 228 || DoSomething -- SomeUnit SetLocation || C> ". ?csomepathunitfilefil236 240 "SomeUnit DoSomething [TRUE] SetOrdered || ...“ ASSert ... owns 258 ASSert "...... ASSert ?? "........ ASSert . employs 246 244 FIG. 27 U.S. Patent Apr. 3, 2001 Sheet 10 Of 36 US 6,212,672 B1 DoSomething 268 DoSomething Unload || "Someunit - 270 266 FIG. 28 FIG. 29 DOSomething TimedCalCause - 4000 SideEffect || ". PayEmployee . 276 272 FIG. 30 280 282 . Color(Carred) 284 doit = (- Define . 286 FIG. 31 U.S. Patent Apr. 3, 2001 Sheet 11 of 36 US 6,212,672 B1 300 FIG. 32 . doit Define 302 "Color(Carred) 304 Term 306 TermArgNo FIG. 33 Define '. 308 doit Arguments "| drives ASSert H. Car FIG. 34 U.S. Patent Apr. 3, 2001 Sheet 12 of 36 US 6,212,672 B1 314 doit " PayEmployee Call 320 . 322 FIG. 35 314 312 320 doit - PayEmployee Cal|| || . || ||Cause ||||||| ". 322 316 324 FIG. 36 326 Cat (Via <> 328 KI> “. 330 FIG, 37 doit a ????? Define . U.S. Patent Apr. 3, 2001 Sheet 13 of 36 US 6,212,672 B1 XmPUShButton 338 - labelString 336 PlabelValue Define FrOm ReSOUrce i. 340 Define 334 renas. FIG 38 348 ??emp]~36 FIG. 39 354 doit Function p?? SideEffect. ... Name<> - “... VisualMagic FIG. 40 U.S. Patent Apr. 3, 2001 Sheet 14 Of 36 US 6,212,672 B1 358 360 362 "Button 364 IsSubclaSS Subclass … Coit |Superclass || -....XmPushButton Define * FIG. 42 Color(car, red) 37 368 FIG. 43 U.S. Patent Apr. 3, 2001 Sheet 16 of 36 US 6,212,672 B1 390 doit (Ptemp)- Y392 ... Bob FIG. 48 398 400 r4000 COit ?? PayEmployee Side Effect Interval . 402 ... Cause Object . 404 . 2temp FIG. 49 406 UnitLOCation 408? Unit .......??? 412 doit . Define . LSL itemp}\to FIG. 504 U.S. Patent Apr. 3, 2001 Sheet 17 of 36 US 6,212,672 B1 414 416 <> |5| FIG. 50B 702 704 706 FIG. 5IB FIG 51A U.S. Patent Apr. 3, 2001 Sheet 18 of 36 US 6,212,672 B1 Translating Diagrams To OML Models 426?? 424 OWns Building Cashier Station Owns (Bank,CashierStation) Owns (Bank, Building) FIG. 52 isA (Station1,CashierStation) 430 isA (Station2,CashierStation) 428 FIG. 53 432 434 Supervises Employee Supervises (Supervisor,Employee) Supervises (Fido,Buttons) isA (Fido,Dog) isA (Buttons,Cat) FIG. 54 U.S. Patent Apr. 3, 2001 Sheet 19 Of 36 US 6,212,672 B1 MAP Display 29 Disk Storage Event -drawing Map.dat rdb, dat 454?? 45 6 User Interface Initial Incremental Loading Load/UnloadUnits sssr callback 0>DB 450 Or terms ?????????? Rule Action OML Interpreter Call Relational C++ Function Database 470 468 U.S. Patent Apr. 3, 2001 Sheet 21 of 36 US 6,212,672 B1 Active entrylightOn1 530 ????exitfightOff 532 change entrylchange(3000) SourceEntity 500 Object s 506 lightOnPrologue 504 lightOfPrologue Define Define Define Put FIG. 62 U.S. Patent Apr. 3, 2001 Sheet 22 of 36 US 6,212,672 B1 U.S. Patent Apr. 3, 2001 Sheet 23 of 36 US 6,212,672 B1 909 U.S. Patent US 6,212,672 B1 U.S. Patent Apr. 3, 2001 Sheet 25 of 36 US 6,212,672 B1 U.S. Patent Apr. 3, 2001 Sheet 26 of 36 US 6,212,672 B1 |799(5)IAI U.S. Patent 189 U.S. Patent Apr. 3, 2001 Sheet 28 of 36 US 6,212,672 B1 999 799999 019 Z/9 ) 789 U.S. Patent Apr. 3, 2001 Sheet 29 Of 36 US 6,212,672 B1 Z9%)IH U.S. Patent Apr. 3, 2001 Sheet 31 of 36 US 6,212,672 B1 09/ $799(9IAI 89/99/ U.S. Patent Apr. 3, 2001 Sheet 32 of 36 US 6,212,672 B1 Generate 748 Generate Causes for each wiMHaS CauSe 750 756 752 G t 754 Generate GS8G CauSe Function Cause Prologue Generate CauSeS Epilogue -Call to Prologue -Call to iterator for(same prologue) as -Call to Epilogue 762 758 Generate Cause ??????????????????" Effects Alternatives Calls 9 764 for each Handles Calls to Alternative superclass functions 76C if this function fails Generate Cause Alternative Call FIG.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    52 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us