(phương pháp isHolding, dòng 78). Tuy nhiên, không ai trong số họ lần lượt được tham chiếu bởi người sử dụng / tài liệu (theo một hướng liên kết trong hình ). Sơ đồ đối tượng năng động trên bên phải của hình. | Containers 55 eLib example Let us consider the eLib program in Appendix A and in particular let us focus on methods addUser line 8 and searchDocumentByTitle line 90 of class Library. Their abstract statements are respectively where the assignment has been obtained by transforming the insertion method put invoked on at line 10 and Document 0 where the first and second assignments are the result of transforming invocations of extraction methods iterator at line 92 and next at line 94 resp. while the fourth assignment results from the conversion of an insertion invocation of add on docsFound at line 96 . For completeness let us consider a code fragment from class Main Appendix B that performs a user insertion into the library 347 class Main 348 static Library lib new LibraryO 379 public static void addUser String cmd 382 User user new User args 0 argsfl args 2 383 user 386 536 The abstract statements of this code fragment are new Library0 new UserO Fig. shows a portion of the OFG associated with the abstract statements above. Sets genl and gen2 have been obtained according to the rules in Fig. and respectively. Thus genl is used during the first forward propagation while gen2 is used in the second backward flow propagation. The cumulative result is 56 3 Class Diagram Fig. . OFG for a portion of the eLib program. Set genl is used during forward flow propagation while gen2 is used for backward propagation. out User out Document This allows a