object AutoAdSystem components: DBManagement and TelecommManagement and SystemSetup; operations: RunSystem; description: { The AutoAdSystem is the primary backbone of all functionality of AutoAd. This object will combine the database management, tele- communications management, and system setup facilities into one usable application. }; end AutoAdSystem; object DBManagement components: PaperDB and CustomerDB and EmpBD and ReveiwDB and LocalAdsDB; operations: Edit, AddNew, Delete, Search; description: { Database management involves working with all the data files for a standard AutoAd implementation. Via this object all databases can be related and necessary operations performed. }; end DBManagement; object PaperDB components: {variable based on system setup} ; operations: ; description: { The paper database includes names and information about the paper's existing customer base. Usually they are the current subscribers to the newspaper. The exact number of feilds and their representations are declared during the system setup by the system administrator. Also, this object need not be dec- lared when there is no existing customer base. } ; end PaperDB; object CustomerDB components: AccountDB and InfoDB and AdDB; operations: ; description: { The customer database contains all the specifics for each customer that has access to the AutoAd system. Each component in the database is relational to eachother. } ; end CustomerDB; object AccountDB components: AccountRecord*; operations: ; description: { The account database keeps track of each transaction that each customer makes. Every time a transaction is made, a charge is enterred into the account database. } ; end AccountDB; object AccountRecord components: CustomerNumber and Date and TimeOn and TimeOff and Price and Transactions*; operations: ; description: { The account record primarily keeps track of the most recent transactions that each customer has made. The amount of time the customer was on determines the charges the customer owes. } ; end AccountRecord; object Transactions components: BrowseAds and PlaceAds and SearchAds and AccountInformation; operations: ; description: { The Transactions record keeps a tally on the kinds of options the customer used while on the System Interface. } ; end Transactions; object EmpDB components: EmpInfo* and AccountRecord*; operations:; description: { The EmpDB contains employee information for the employee reviewing and editing each placed ad. EmpInfo is the record of employee information, and AccountRecord is there if the employee places an ad under the company or his/her self. } ; end EmpDB; object EmpInfo components: EmpName and EmpNumber and EmpPass and Date; operations: ; description: { EmpInfo is the basic employee information for the use of the AutoAd system. It contains the name, number and password of the employee; and it has the date of the last time on. } ; end EmpInfo; object ReviewDB components: AdRecord*; operations: ; description: { ReviewDB is the database the employee reviews before going public (on line or in the paper). AdRecord is the ad record that contains the ad information. } ; end ReviewDB; object LocalAdsDB components: AdRecord*; operations: ; description: { This database holds the actual ads that a customer has placed and/or the status of that/those ads. AdRecord is the ad record that contains the ad information. } ; end LocalAdsDB; object AdRecord components: Category* and KeyWords* and Price and AdInfo* and Dates*; operations: ; description: { This record contains all the information placed in each ad. } ; end AdRecord; object Category components: {list to be compiled later} and Category* and End; operations: ; description: { This record contains the category path thath the ad is placed under. The category path will continue to call itself until the last sub-category is found. At that point, the End is found, and the complete ad path is determined. } ; end Category; object KeyWords components: {list found from key words placed in ad} and KeyWords* and End; operations: ; description: { The KeyWords record is a recursive list of each key word placed in the ad. It is very similar to the Category record set-up. } ; end KeyWords; object AdInfo components: {data determined from the ad placed}; operations: ; description: { AdInfo is the information placed by the customer. It is the ad information the customer specifies. } ; end AdInfo; object Dates components: BeginningDate and EndDate; operations: ; description: { Dates contains the beginning and ending date for the ad to be placed on line and in the paper. } ; end Dates; object InfoDB components: CustomerRecord*; operations: ; description: { The information database holds the customer's personal data. A customer's account options are also included. } ; end InfoDB; object CustomerRecord components: CNumber and CName and CAddress and CCity and CState and CZip and CTelephone and CFax and CSubscribe and and CConnsList and CBillMethod and CPlace and CReadL and CReadG; operations: ; description: { This record tracks all of the personal data and account options for a customer. ... } ; end CustomerRecord; value CNumber = number; value CName = string; value CAddress = string; value CCity = string; value CState = string; value Czip = string; value CTelephone = number; object AdDB components: {add here later} ; description: { This database holds the actual adds that a customer has placed and/or the status of that/those ads. } ; end AdDB; object CustomInterface components: SearchAd and AcctInfo; operations: PlaceAd, BrowseAd, Exit; description: { This is the interface that customers of AutoAd use. } ; end CustomInterface; object PlaceAd operations: ReviewDB; description: { The customer can place ads using the review database. } ; end PlaceAd; (* * The next two objects are defined as operations below. They make more sense * as operations than as objects. * object BrowseAd operations: LocalDB, GlobalDB; description: { customers can browse ads in local database or global database. } ; end BrowseAd; object SearchAd operations: LocalDB , GlobalDB; description: { customers can search ads using keywords in local database or global database. } ; end SearchAd; *) object AcctInfo components: UserInfo and AcctStatus and AcctConns and AcctCharges and AcctAds; description: { give information of customer's account such as account charge, how many ads placed, account connnections and status of account. } ; end AcctInfo; object UserInfo components: ; description: { gives all information of user such as name, address, phone number and they have the ability to change it. } ; end UserInfo; object AcctStatus components: ; description: { billing method; gives status such as if they can place ads locally and how much, if they can read ads locally or globally and how much. } ; end AcctStatus; object AcctConns components: ; description: { list of all connections that user is connected to. } ; end AcctConns; object AcctCharges components: ; description: { list of all charges to user's account. } ; end AcctCharges; object AcctAds components: ; description: { list of all ads that user placed. } ; end AcctAds; object Exit components: ; description: { exit the system. } ; { I made some changes and additions here Mon. 5-2-94 -Leo- } end Exit; object AddManagerInterface components: LocalDB and GlobalDB; operations: EditAd ,SearchAd, BrowseAd, DeleteAd , PlaceAd; description: { Allows Add Manager to access the local data base and the and the global data base. } ; end AddManagerInterface; object SystemSetup components: DesignCatHeirarchy and DevelopementTools and PaperDBInterface and PressInterface and ConnectionDB and CustomerDBSetup; operations: ; description: { These are all the things that are required to when the system is initially set up. } ; end SystemSetup; object DesignCatHeirarchy operations: Write, Translate; equations: ; description: { This is where the categories and heirarchies are defined. } ; end DesignCatHeirarchy; object DevelopementTools components: OptionalKeywordAreas and CatTemplates and AbbrLists and CommonKeywords ; operations: CreateDevTools; equations: ; description: { This category defines the tools that the system supports. } ; end DevelopementTools; object OptionalKeywordAreas components: ; operations: ; equations: ; description: { } ; end OptionalKeywordAreas; object CatTemplates components: ; operations: ; equations: ; description: { }; end CatTemplates; object AbbrLists components: ; operations: ; equations: ; description: { }; end AbbrLists; object CommonKeywords components: ; operations: ; equations: ; description: { }; end CommonKeywords; object PaperDBInterface components: ; operations: ; equations: ; description: { }; end PaperDBInterface; object PressInterface components: ; operations: ; equations: ; description: { }; end PressInterface; object ConnectionDB components: BillingOptions (* and ... *); operations: ; equations: ; description: { }; end ConnectionDB; object BillingOptions components: ; operations: ; equations: ; description: { } ; end BillingOptions; object CustomerDBSetup components: ; operations: ; equations: ; description: { } ; end CustomerDBSetup; operation EditAd components: LocalDB; description: { The Ad Manager is given the ability to make changes to customer ads in a local data base. } ; end EditAd; operation SearchAd components: LocalDB and GlobalDB; description: { Allows the Ad Manager to search either a local data base of customer ads or a global data base of customer ads by category, keyword or text string. } ; end SearchAd; operation BrowseAd components: LocalDB and GlobalDB; description: { Allows the Ad Manager to browse through either a local data base of customer ads or a global data base of customer ads. } ; end BrowseAd; operation DeleteAd components: LocalDB; description: { Allows the Ad Manager to delete a customer ad from a local data base of customer ads. } ; end DeleteAd; operation InsertAd components: LocalDB; description: { Allows the Ad Manager to insert a customer ad into a local data base of customer ads. } ; end InsertAd;