With such a high productivity
factor that Smalltalk gives us, reaction times to market changes have enabled us to beat most of our competitors.

Dr. Colin Lewis, Vice-President, JPMorgan

ObjectStudio: Glossary

  • abstract class
    A class that defines attributes, methods, and relationships for its subclasses or part classes, but for which you cannot create any instances. Object, Collection, and Stream are abstract classes. See class, subclass, and part class.
  • Abstract-Data-Type (ADT)
    A data type that is both abstract (packaged) and encapsulated. ADTs are a realization of the design principle of information hiding. All objects in Smalltalk are abstract data types.
  • abstract superclass
    A superclass used only to centralize the shared attributes and methods of the subclasses. The application never creates an instance of an abstract superclass.
  • abstract use-case
    Use-case that describes a scenario that is used by other use-cases when they execute. This means that the actions defined in the abstract use-case are encapsulated within other use-cases. See use-case and concrete use-case.
  • abstraction
    A packaging technique that groups together a data type and a set of related operations. The abstract interface of the data type is separated from the real implementation. The package can then be treated as a black box. Abstraction is closely related to encapsulation, and is a prerequisite for an object-oriented language.
  • access layer
    Interface to the databases and other external systems with which the application must interact.
  • actor
    A person or thing that is external to the system but which interacts with the system to perform an action in a use-case model. See use-case model.
  • advise
    A Uniform Data Transfer feature that notifies you whenever the instance of OLEObject changes.
  • aggregation
    A hierarchical relationship of a whole to its parts. An aggregation relationship is one in which one class is composed of two or more classes. Also called a strong association.
  • Alignment toolbar
    Toolbar that provides shortcuts to the menu items on the FormItem ⇒ Align menu.
  • argument
    An argument is the name for an object passed as a parameter in a message. For example:1 printOn: aStream ” aStream is the argument” 1 + 2 ” 2 is the argument”
  • arrays
    Ordered lists of objects.
  • association
    1. A wrapper class for a relation between two objects. One is the key and the other is the value. Used in dictionaries.
    2. A nonhierarchical relationship in which one class in the relationship refers to the other class. Two classes that are related by association are linked logically and conceptually, but their structures are independent, and neither class inherits characteristics from the other. Therefore, classes that are related by association do not inherit attributes or services from one another. Sometimes called a weak association.
  • association class
    See association.
  • atlas
    Collection of maps between your object model and your database schema. Contains all information the Mapping Tool requires to handle database requests from the application.
  • attribute
    A component of a class that holds data values. There are two types of attributes: class and instance attributes. If an attribute is a class attribute, there is one value of that variable for the entire class. If an attribute is an instance attribute, each instance of the class has a value for the attribute. An attribute in the Modeling Tool is similar to a field or attribute in a database record or row. See class attribute and instance attribute.
  • attribute domain
    The data type of the attribute that defines its value range or class type. This data type provides the attribute with a specific Smalltalk behavior. Each type has the same characteristics as the equivalent Smalltalk class. An attribute can be a reference to a related set of objects.
  • Automation
    An OLE feature that allows you to invoke the features of one program from another program. The invocation can happen behind the scenes, without user involvement. In more technical terms, Automation allows you to programmatically call the application programming interface (API) of a server.
  • Automation Controller
    An application that makes use of the Automation objects.
  • Automation Object
    The component and application that provide functionality or information to the Automation Controller.
  • bag class
    A collection class that is unordered and can contain duplicates. See also set class.
  • behavior: The way an object interacts with its environment. In particular, behavior is another term for the interface or protocol of an object. There is also a behavior class.
  • behavior class
    Responsible for the creation and storage of methods.
  • bias filter
    Filters that specify to ignore all of the classes that are not part of the currently open model. The Interaction Diagram Editor allows you to create bias filters.
  • Bitmap Selector form item
    Interface component that allows the user to select a system icon, a system bitmap, or a bitmap file to insert into the application.
  • block
    Group of expressions that are executed together, delimited by square brackets. Blocks can be used to emulate compound statements. For example: aBoolean ifTrue: [… some expressions …] Blocks are true objects, and can be sent messages, inspected, and so on. [… some expressions …] value “send the value message to a block”
  • block variable
    Variable that is available within a block. It represents the argument to the block. For example, in the expression: myCollection do: [:eachElement | eachElement doSomething ] …eachElement is a block variable.
  • BlockContext
    Class containing block behavior.
  • Boolean
    A truth value: true or false. There are two global pseudovariables for these truth values: the objects true and false. They are the sole instances of the True and False classes. There is also a Boolean class.
  • Boolean class
    Root class of the true and false instances.
  • border
    An item in an interaction diagram that represents a person or an object outside of the model. Borders send and receive events. See interaction diagram and event.
  • business layer
    Collection of classes that represent the business model.
  • business model
    Model that captures the static and dynamic relationships between a collection of business objects or classes.
  • business objects
    Objects that capture both the characteristics and behaviors of real-world business entities, such as customers, orders, employees, or accounts.
  • Button form item
    Object that the user can click to initiate an action. Contains either text or an image (bitmap). Clicking a Button initiates an action.
  • ByteArrays
    Arrays that are restricted to holding only bytes.
  • cardinality
    A specification of a relationship’s multiplicity. Cardinality defines how many of the related class instances are expected to occur within a relationship.
  • cascading
    Cascading is the term for sending a sequence of messages to the same object. All messages except the last are terminated with a semicolon instead of the usual period. Turtle up; go: 200; down; home. In this example, all four messages are sent to the Turtle object using cascading.
  • cascading menu
    Menu that contains a submenu.
  • character class
    An ASCII representation of a byte, and methods to manipulate it.
  • Chart form item
    Object that graphically displays numeric information.
  • Check Box form item
    Object that presents the user with a choice of selected or unselected.
  • Check List form item
    Object that presents the user with a collection of logically related Check Boxes.
  • chunk format
    A way of formatting source code containing methods and class definitions so that it can be filed-in. Each method or class definition is called a chunk.
  • class
    A definition used as a template for the creation of objects called instances. A class is a description of the shared characteristics of multiple objects that includes all of the attributes, relationships, and methods for a type of object. See also factory object.
  • class attribute
    Component that holds data values that are directly accessible by all of the objects in the class. See attribute and instance attribute.
  • Class Browser
    A utility window that lets you browse the class hierarchy, view the list of methods for a class, and create and modify classes and methods.
  • class map
    A map from an ObjectStudio class to a database table, at the class/table level. Identifies in which table to find the data for an instance of a class.
  • class method
    A method associated with a class object, executed by sending a message to the class. It is commonly used for creating instances, for library methods for the class, or methods to encapsulate access to class variables. In the following example, today is a class method of Date. Date today See method and instance method.
  • class variable
    A variable defined in a class and shared by all instances of that class. Compare with instance variable.
  • collaborator
    An object that helps a domain object perform a specific responsibility. See domain object and responsibility.
  • collection
    The generic Smalltalk term for a group, a list, or a set of objects.
  • collection class
    An abstract class that provides general behavior for collections.
  • column
    Relational database construct that contains a specific item of information that is contained in each row of a table. Analogous to a field in a record in file-based data processing.
  • Combo List form item
    Object that is a combination of an Entry Field and a List Box.
  • compiler
    A tool that converts source code directly into byte codes (compile time) to be executed at a later date (runtime), resulting in a faster execution speed than interpreted code.
  • component
    An implementation that contains an OLE object and resides in a dynamic link library (DLL) or executable file. The component can exist or execute anywhere: within the same application, within the same process, locally on the same machine, and remotely.
  • Component menu
    Menu that displays on the menu bar when you create or edit an interface component.
  • Component Object Model (COM)
    An object model that implements the infrastructure to support component objects and creates the contracts for communication.
  • component objects
    Standalone objects that establish a contract with other objects when they are invoked. Component objects do not support inheritance and are therefore more resilient to changes in a heterogeneous run-time environment.
  • composite primary key
    A key comprising two or more columns that are required to uniquely identify each record.
  • compound documents
    Documents that store multiple types of data in a single file. For example, a compound file can include spreadsheets, documents, video clips, and voice clips all in one file.
  • concatenation
    Combining two collections, while preserving the order, is called concatenation. The concatenation message selector is a comma.’hello’ , ‘ ‘ , ‘world’ “concatenation of three strings”
  • concrete use-case
    Use-case that contains a complete sequence of events needed to perform a task. This means that all of the necessary events are contained within the use-case.
  • constant value
    A value that is constant for a column.
  • context
    1. An environment within which code is compiled. For example, the source code for print would be compiled in the context of the collection class.
    2. An environment within which code is evaluated, including the values of all of the variables, the stack, and so on. For example, a sort block might be evaluated in the context of a particular SortedCollection instance.
  • control
    A window designed to encapsulate a particular task in the user interface. A control handles a wide range of input and converts it into a few messages that are sent to its owner. There are controls, such as buttons, list boxes, entry fields, and so on.
  • controller
    1. A component in the Model-View-Controller system. An object that handles input events from mouse clicks or keyboard strokes and dispatches them to the model or view, as appropriate.
    2. Function that manages communications between the user and the interface and also between the interface and the business layer of the application.
  • controller class
    1. A class that provides methods that help you work with embedded objects. They are in add-in controls that are similar to Visual Basic controls.
    2. A model class that provides the protocol and default behavior for application interfaces. An important class in ObjectStudio that coordinates one or more forms. Applications must create a subclass of Controller to handle the user interface. See also form class.
  • Controller menu
    Menu that displays on the menu bar when you create or edit an interface.
  • controllerItem class
    A model class that represents the standard system controls. Subclasses include ListCtrl, StringCtrl, ButtonCtrl, and so on. It is a wrapper for a formItem.
  • custom controls
    Controls that provide a standard mechanism for adding third-party products to OLE-compliant
  • Date Display Format dialog box
    Dialog box that allows you to define display characteristics of a Date Field form item.
  • Date Field form item
    Entry Field that allows you to format the display of dates and verify the entry of date values.dates. Represent Julian dates.
  • DDE classes
    Provide protocols for Dynamic Data Exchange (DDE) operations.
  • deallocation
    The action of releasing memory allocated to an object when the object is no longer in use. Smalltalk does not allow the programmer to deallocate memory. Instead, garbage collection is used.
  • dependent object
    An object whose data is dependent on the class to which it is related.
  • dependent object map
    Identifies in which relational database table to find the data for a dependent object.
  • design by differentiation
    A design technique for new classes that focuses on similarities and differences with existing classes. For example: “A zebra is just like a horse, except that it is striped.” When used with inheritance (“Zebra inherits from Horse”), this minimizes the need for new code.
  • Designer toolbar
    Toolbar that provides shortcuts to some of the most commonly used menu options.
  • desktop objects
    Specialist classes that support the desktop.
  • destructive transformation
    The replacing of an instance of a proxy with an instance of another object.
  • development environment
    The ObjectStudio development environment includes the ObjectStudio Desktop and all of the ObjectStudio tools that help you create an application.
  • dialog box
    Form that is moveable, is not sizeable, and cannot have a menu.
  • DialogBoxes
    Used for presenting information to and getting information from the user.
  • dictionaries
    Unordered collections in which elements (called values) are accessed by a key.
  • dictionary class
    A collection that allows named access to individual objects. For example: CharacterTable at: ‘Tab’. System at: #TranscriptWindow. methodDictionary at: #print put: aCompiledMethod.
  • Distributed Component Object Model (DCOM)
    An extension of the Component Object Model (COM) that enables distributed inter-object communication over a network in a reliable, secure, and efficient manner.
  • domain
    1. The situation or scenario for which you are creating an application. This term can also reference an attribute domain. See attribute domain.
    2. Data type.
  • domain object
    An object that is discovered during analysis. Domain objects are externally visible objects pertinent to the problem domain that you are exploring. You discover domain objects within the tasks identified in use-cases.
  • drag and drop
    A facility that allows you to use the mouse to drag an OLE object within an application or from one application to another. Drag and drop is similar to the more familiar cut and paste, but it does not use the Clipboard.
  • Draw Pad form item
    Object that presents the user with an area where a bitmap can display and the user can draw.
  • DrawPort class
    Generic wrapper for presentation space handles, used to draw on a medium such as the screen or a printer.
  • Drop-down Combo Box form item
    Object that is a combination of a Drop-down List Box and an Entry Field.
  • Drop-down List Box form item – Space-saving list box with two states: closed and open.
  • dynamic model
  • early binding
    When the method to be executed for a given selector can be determined at compile time, the address of the method can be inserted into the compiled code. This is called early binding. Languages such as C and Pascal use early binding. Compare with late binding.
  • embed container
    A form on which you place an embedded object. A container can have properties that affect the object.
  • embed site
    An object that holds an embedded or linked object on the container. A site can exist independently of an embedded object, but an embedded object cannot exist on a form without being on a site.
  • embedding and linking: Functions that make data from one program accessible to other programs.
  • encapsulation
    The practice of defining an object and its behaviors to form a single package. Often used in the same sense as abstraction. A particular meaning is an enhancement to abstraction that restricts access to the internal structure of data types. A data type that is abstract and encapsulated is called an abstract data type. Encapsulation is also known as data hiding.
  • Entry Field form item
    Object that presents the user with a one-line area that displays text and accepts user input.
  • enumeration
    Looping through a collection and performing some action for each element in turn is called enumerating over the collection. The basic enumeration method is do:.myCollection do: [:eachElement | eachElement doSomething ]
  • equality
    The definition of equality may change between different classes and can be overridden by the programmer. The default definition of equality is the same as identity, but equality is generally overridden so that two objects are equal if their contents are the same. Equality is always weaker than identity.
  • equivalence
    See identity.
  • evaluate
    To execute and/or determine the result of one or more expressions. The Execute menu option in the Workspace allows the user to evaluate code interactively.
  • event
    1. An interface action triggered by the user, or sometimes, by another object. For example, the #Action event might occur when a list is clicked; the #Edit event may be triggered when the list is double-clicked, and so on. See form event and form item event.
    2. An operation sent from or received by a border in an interaction diagram. See interaction diagram and border.
  • extends association
    An association that indicates that one use-case provides additional but separate information or events for another use-case. Use-cases in extends relationships must be concrete use-cases because they contain sequences of events that complete a self-contained task. See abstract use-case and concrete use-case.
  • factory object
    An object that can create other objects. Class objects are factory objects, as they can create instances.
  • file classes
    Files with the FileStream class.
  • file-in
    The technique of reading in code from a disk file and immediately compiling it. File-in is the standard technique for loading source code into the image.
  • File menu
    Menu that allows you to save and test your work and to exit the Designer.
  • file-out
    The technique of writing code out to a disk file in chunk format, so that it can be filed-in later.
  • FileStream
    Extend Streams to access disk files.
  • Font
    Support class for Text.
  • foreign key
    A column that correspond to the primary key in a related table.
  • form Wrapper
    for a GUI window that is moveable and sizeable. It has a title bar and a System Menu, and it can have a menu bar, a toolbar, and a status line.
  • Form Button Options dialog box
    Dialog box that allows you to associate a method with a Button.
  • form class
    A class that represents a physical window. Multiple forms are managed by a single controller.
  • form event
    Event that can occur whenever the form has focus.
  • form item
    A visual item that you can place in a form.
  • form item event
    Event that occurs to a specific form item.
  • Form Item Options dialog box
    Dialog box that allows you to set form item attributes and define to which keystrokes the form item responds.
  • Form menu
    Menu that allows you to create and edit forms.
  • form name
    The name of the instance of class Form that the system creates when you save the interface.
  • form title -Text that displays in the form’s title bar.
  • FormEmbed class
    A class where each instance represents an embed site, which can have an embedded or linked object associated with it.
  • FormItem
    A control such as an entry field or a list box.
  • formItem class
    A class that represents a physical control. FormItems are “wrapped up” by controllerItems.
  • FormItem menu
    Menu that allows you to create and edit form items.
  • FormOLEControl class
    A class whose instances represent a custom control.
  • FormOLEItem class
    An abstract class from which the FormEmbed class inherits functionality.
  • gap
    The area that provides visual spacing around other toolbar items.
  • garbage collection
    A process that automatically detects which objects are no longer in use and then deallocates them.
  • gen-spec relationship
    Structural relationship in which one or more subclass (child) objects inherit characteristics and behaviors from a superclass (parent) object.
  • generalization
    A hierarchical relationship in which child classes or subclasses inherit qualities of the parent class or superclass. The subclasses inherit all of the attributes and behaviors of the superclass. Each subclass can add attributes and behaviors but cannot remove those of the superclass. See class, subclass, and superclass.
  • generic collections
    Important methods that all collections understand.
  • Global dictionary
    Stores all global variables and classes.
  • global variable
    A variable that is available to all objects in the Smalltalk environment.
  • GraphicsStream
    Writes reports to page-oriented printers.
  • hashed collections
    Unordered collections that use hashing techniques to store and locate objects.
  • Help menu
    Menu that allows you to access online help about the Designer.
  • hybrid object-oriented language
    A hybrid object-oriented language does not enforce the object-oriented paradigm at all times. It is often based on extensions to a non-object-oriented language. There are loopholes and exceptions to allow faster operation, and most of the syntax of the base language is retained. C++ and Object Pascal are examples of hybrid object-oriented languages.
  • identifier
    In programming languages, an identifier is the general term for the names of procedures, variables, and so on. Identifiers commonly have strict rules for their construction.
  • identity
    Two objects are identical if they are the same object. Identity is generally stronger than equality.
  • IdentityDictionary
    Variant of Dictionary that uses identity to compare its keys for uniqueness, rather than equality.
  • IDispatch interface
    The interface through which all Automation Objects communicate.
  • image
    The Smalltalk environment resides entirely in memory. In order to preserve the state between sessions, the entire memory image is saved to disk. This process is known as saving the image or taking a snapshot of the image. When restarted, the image is read from disk and loaded into memory in a pseudocode format (half way between compiled and interpreted code). All objects are restored exactly as they were. Running an application from an image is more efficient than running interpreted code.
  • indexed instance variable
    An indexed instance variable is not explicitly named in the definition of a class, but it is accessed by an integer index. For example, the fifth element of an array is an indexed instance variable.
  • IndexedCollections
    Ordered collections in which each element is accessed through a numeric index.
  • information hiding
    The principle that the public interface of an object should be limited to just what users need, and no more. Not allowing access to the internals of an object means that changes can be made without breaking other code, as long as the interface stays the same. See also abstraction and encapsulation.
  • inheritance
    A code-sharing technique whereby all methods in a class are available to its subclasses.
  • Initial Focus drop-down list box
    Drop-down List Box that lists the form items in the form.
  • initialization
    When objects are created, all of their instance variables are set to nil. Initialization is the term for setting the instance variables to default values and, more generally, creating the necessary environment for manipulating an object.
  • Inspector
    A tool that allows a developer to view and modify the internals of an object.
  • instance
    An instance of a class is an object that was created by the class. Its behavior and internal structure are determined by the class. For example, 99 is an instance of the class Integer, and aPerson is an instance of the class Person. See also factory object.
  • instance attribute
    A component that holds data values that are directly accessible only by the individual object for which they are defined. See attribute and class attribute.
  • instance method
    A method associated with an instance, executed by sending a message to the instance. Contrast with class method. For example, factorial is an instance method of Integer. 99 factorial. “instance method”
  • instance variable
    An internal variable of an instance, not shared with any other object. Instance variables are used to store data for the object, somewhat like a field in a record structure. Instance variables can be named or indexed.
  • instantiation
    Creating and allocating memory for an object is called instantiation in Smalltalk.
  • interaction diagram
    A visual representation that traces the sequence of operations (messages and events) in a scenario or use-case. See operation, message, and event.
  • interface
    An abstract concept in ObjectStudio that can contain one or more forms; it does not have a corresponding Smalltalk representation.
  • interface component
    A collection of form items that you can create with the Designer and reuse in multiple forms or interfaces.
  • InterfacePart class
    A class that provides a method for registering a response to a custom control event.
  • interpreter
    A tool that parses source code on-the-fly and executes the result. Interpreted languages are very interactive but much slower than compiled languages. Smalltalk combines the best of both techniques.
  • item
    A part of a model, such as actors, use-cases, and domain objects. You can also define your own elements called user-defined items. See user-defined item.
  • iteration
    Iteration is a general term for performing an action repeatedly until some condition is met. For example:
           1 to: 10: do: [...some actions...] "explicit counting" [... some condition...]
           whileTrue do: [ ...some actions...] "conditional" aCollection do: [:each | ...some actions...] "enumeration"
  • joining
    A data modeling concept where two tables are related by having a column that is common between them.
  • key
    A column used to join one table to another.
  • Keys topic box
    Area that contains a list of the nonprinting keys (for example, the ESC key) that can be enabled for the form item.
  • keyword
    Messages with more than one argument are split into keywords. Each keyword ends in a colon. In the following expression: 1 to: 10 by: 2 There are two keywords, one for each argument, namely to: and by:.
  • keyword message
    A message that is composed of one or more keywords. The selector for a keyword message is the concatenation of the individual keywords.
  • label
    Text that identifies groups of Buttons or provides other information.
  • late binding
    When the method to be executed for a given selector cannot be determined at compile time, a lookup to find the correct method must be done at runtime. This is called late binding. Smalltalk uses late binding. Compare with early binding.
  • Line form item
    Graphical device that separates a form into sections or adds visual emphasis to a form.
  • Link Hookups dialog box
    Dialog box that allows you to declare the source of data for a form item that is not an interface component.
  • List Box form item
    Object that has an optional scroll bar and contains items on separate lines.
  • literal
    In programming languages, a literal is the general term for constants that are constructed explicitly in the source code, such as numbers and strings.
  • local variable
    A temporary variable defined in a method and delimited by vertical bars (|).
  • lookup table map – Allows you to map two classes that have a many-to-many relationship to their respective tables in the database. It is a variation of a reference attribute map.
  • magnitude
    A general term for objects that have a size and can be ranked.
  • Magnitude class
    Magnitude is an abstract class with the protocol for objects that have a size and can be ranked. Magnitude subclasses include Number, Date, Time, and Character.
  • mapping
    The process of creating pointers between an object model and a database.
  • Mapping Tool
    Allows ObjectStudio applications to interact with objects whose data are stored in a relational database.
  • mask
    Device that allows you to specify the types of characters and format of each character that the user can type into the Entry Field.
  • MDI (Multiple Document Interface)
    User interface style that allows an interface to support multiple documents within an MDI main form. Microsoft Word is an example of an application that uses an MDI.
  • MDI forms
    Native Windows forms (MDIController, whose forms are MDIWindows and MDIWindowsChildForm).
  • medium
    A screen, a bitmap, or a printer.
  • menu bar
    Horizontal area that displays under the title bar of a window and contains pull-down menus.
  • Menu Definition list box
    List Box that allows you to move items to different levels of a menu hierarchy.
  • message
    1. A message is a request to an object to carry out an operation. All actions in Smalltalk are initiated by messages. Messages roughly correspond to procedure calls in other languages.
    2. An operation sent from or received by a role in an interaction diagram. See interaction diagram and role.
  • metaClass class
    A class that contains behavior for factory objects that make classes.
  • method
    The code that implements a behavior or operation for a specific class. Consists of temporary variables and a sequence of expressions. There are two types of methods: class methods and instance methods. If a method is a class method, there is one value of that operation for the entire class. If a method is an instance method, each instance of the class has an operation it can perform. See class method and instance method.
  • Method Assignment dialog box
    Dialog box that allows you to associate methods with form item events.
  • method dictionary
    A dictionary that stores methods. Every class contains a method dictionary to store the behavior of its instances.
  • message object
    A complete message object has a selector, a receiver, and arguments. For example, in the following expression:1 to: 10 by: 21 is the receiver, to:by: is the selector, and 10 and 2 are the arguments
  • message resolution
    The process of determining which method should get executed as a result of a message.
  • MessageBoxes
    Used for presenting short messages to the user.
  • modal
    Dialog box that, when displayed, temporarily prevents the user from using the application. The user must interact with the dialog box and close it before you can interact with the rest of the application.
  • model
    1. In the Model-View-Controller or model-view paradigm, the model is an object that represents the underlying data, and methods to manipulate the data. The model has no user-interface component.
    2. A group of objects that are related to one another logically or functionally. A model includes all of the objects that are relevant to solving a particular business problem or set of related problems. There are two types of models: static and dynamic. See static model and dynamic model.
  • Model Editor menu bar
    Menu bar that contains options that allow you to manage the current file, the current model, its variables, and its graphs.
  • model-view: In this variant on the Model-View-Controller paradigm, the view is responsible for both input and output.
  • Model-View-Controller (MVC) – A system for interface design used in Smalltalk. The model represents the data. The view handles the output, and the controller handles the input. By separating the interface from the model, the model can be displayed with more than one view, even with several views simultaneously. See also model-view.
  • Module class
    Provides protocols for loading and calling external modules or Dynamic Link Libraries (DLLs).
  • Multi Line Entry Field form item
    Entry Field that displays more than one line of text or accepts more than one line of text.
  • multiple inheritance – The ability to inherit from more than one superclass. For example, AnsweringMachine might inherit from both Telephone and TapeRecorder. Smalltalk does not support multiple inheritance.
  • Name Entry Field
    form item Field that allows you to name a form item before you create it.
  • named instance variable
    A named instance variable is explicitly named in the definition of a class. For example, a Customer object may have firstName as a named instance variable.
  • New dialog box
    Specialized version of a new form. A dialog box cannot be minimized or maximized, and it has a special border.
  • new form
    Form that looks like the main form. By default, it can have a title bar and menu bar. A new form can be resized, and it can be moved independently of the main form.
  • new modal
    Specialized version of a dialog box. You must interact with the dialog box and close it before you can interact with the rest of the application.
  • new property page
    Form (page) that is added to a property sheet.
  • new subform: Child window of the form that currently has focus.
  • new system modal dialog
    Specialized version of a dialog box. You must interact with the dialog box and close it before you can interact with other applications or the operating system.
  • nil
    The sole instance of UndefinedObject, the nil object represents an undefined value. All variables are initialized to nil.
  • nondestructive transformation
    Setting the attribute of the object that references the proxy to the real object or collection of real objects.
  • nonunique collection
    A collection whose elements may be duplicated.
  • normalization: Procedural calculus whose goals are to ensure that the database design is highly flexible, to reduce redundancy and to eliminate certain update, insertion, and deletion anomalies.
  • Notebook form item
    Object that consists of a set of related tabbed pages, each of which allows you to change settings related to one aspect of the application.
  • Number
    Generic superclass for Integers, Fractions, Floats, and Decimals.
  • Number Field form item
    Entry Field that allows you to format the display of numbers and verify the entry of numeric values.
  • Numeric Display Format dialog box
    Dialog box that allows you to define display characteristics of a form item that displays numbers.
  • object
    1. In object-oriented development, an object is a structure that represents a real-world entity and its set of behaviors.
    2. The fundamental building block in Smalltalk. Objects are self-contained entities with their own memory, data, and behavior.
    3. In the Modeling Tool, an object is an instance of a class. The object consists of a complete set of attribute values for the class and can respond to the requests (methods) specified for the class. The Modeling Tool also refers to the user’s class definitions as objects.
  • Object class
    Superclass of all other classes. It provides default behavior from many common methods, such as print.
  • object cursor
    The primary tool for testing maps in your atlas. You can use the object cursor and the ObjectStudio Inspector to walk through the object structure and look for inconsistencies in your maps.
  • object-oriented analysis, design, and programming
    A way of analyzing problems and developing their solutions. The program is viewed as a collection of independent objects, which interact with each other. The result is, in some sense, a simulation of the real world. Often contrasted with structured techniques.
  • object-oriented language (OOL) -A programming language that encourages the use of objects in all aspects of development. A broad definition is that the language should support strong packaging of data and procedures. A more restrictive definition is that an object-oriented language must support encapsulation, abstraction, inheritance, and polymorphism. Smalltalk was the first major language with these four features. See also hybrid object-oriented language.
  • object-oriented programming
    A programming methodology that encourages you to develop modular applications that are reusable and easy to maintain.
  • object pool
    Caches the objects for the Mapping Tool.
  • object soup
    A phrase coined to describe a world of interacting objects.
  • ObjectStudio
    A full-featured, flexible development environment for creating and executing object-oriented applications. Within ObjectStudio, you use the Smalltalk language to write custom methods for classes.
  • ObjectStudio Modeling Tool
    A tool that helps you build a complete model of your business visually, by defining classes and their relationships.
  • ObjectStudio system classes
    Used by the ObjectStudio system itself to support its own operations and its low-level interface with the host operating system.
  • OLE
    Object Linking and Embedding is a collection of operating system services that allow you to include component objects in an application or allow you to package component objects for use in other applications.
  • OLE Custom Control form item
    Reusable piece of software that you can plug into an application.
  • OLE Item form item
    Object that holds an embedded or linked object on the container (the form on which you place the oleItem).
  • OLEObject
    A class whose instance is a Smalltalk representation of an OLE Server object.
  • operating system classes
    Created specifically for integration with the host operating system.
  • operation
    The actions being performed by the receivers and borders in an interaction diagram. There are two types of operations: messages and events. See message, event, and interaction diagram.
  • optimistic locking
    Locks data only immediately before data is written back to the database.
  • Options menu
    Menu that allows you to toggle the display of Designer tools.
  • OrderedCollections
    Ordered lists of objects.
  • ostudio.exe
    The executable file for ObjectStudio.
  • ostudio.img
    The image file. It grows larger as more classes and methods are added.
  • OutputDevice
    A class that represent printers.
  • overloading
    The ability to give two different methods the same name. For example, the print method for Float is different from the print method for Integer, but both are called print. In this case, the print message is said to be overloaded. See also polymorphism.
  • overriding
    Creating a new method with the same name as a superclass method. The new method is executed instead of the superclass method.
  • Pages
    Part of Notebook controls.
  • pane
    A control that is a subdivision of a window or form. For example, the Class Hierarchy Browser has three list panes (list boxes) in the top half, and a text pane (multiple-line entry field) in the bottom half. The words control and pane are mostly synonymous.
  • parameter
    Procedure or message parameters are called arguments in Smalltalk.
  • part class
    A lower-level class in an aggregation relationship. See class and aggregation.
  • partitioned class map
    A class map where the attributes for a class are stored in multiple tables in the database.
  • pen
    A metaphor used by graphics classes that has attributes such as font, color, and width.
  • persistent
    Describes objects that continue to exist after the program ends.
  • pessimistic locking
    Allows only one user to request and update data at a time.
  • Picture
    Generic model class that collaborates with an interface to display bitmaps and graphs.
  • PMHandle
    Class for encapsulating system handles, such as window handles and resource handles.
  • Point class
    Used to define areas in a coordinate system.
  • polymorphism
    The ability to hide different implementations behind a common interface.
  • pool dictionary
    A global dictionary referenced in a class. The dictionary is used to name objects so that the name can be used when writing source code. In the following expression: myControl color: Black …the string ‘Black’ will be replaced with the integer representing black. Black is defined in the pool dictionary AvailableColors.
  • Pop-up Menu drop-down list box
    Drop-down List Box that lists all menus you have created for which you checked the Not in Menu Bar check box.
  • primary key
    The column whose values uniquely identify the rows in that table.
  • primitive
    A call to some code that lies outside the Smalltalk environment, such as library routines or DLL calls. All chains of message sends eventually must end with a call to a primitive.
  • primitive attribute
    An attribute of a class in which data is stored.
  • primitive attribute map
    A map from a primitive attribute in a class to a column in a database table. Identifies in which column of which database table to find the data for a primitive attribute.
  • PrintStream
    Extend Streams to access line-printers.
  • private methods
    The methods of an object that are implemented for internal purposes only. They cannot be safely used by other objects.
  • problem domain
    The business case, or set of business scenarios, that the application must model.
  • Progress Bar form item
    Display object that indicates how much progress has been made for a given task.
  • property page
    Form that can be added to a property sheet, which is a collection of property pages.
  • property sheet
    Container for property pages.
  • protocol
    The description of the public interface of a class, especially in the context of object-oriented design. See also public methods, abstraction, and behavior.
  • provider
    A domain object that provides a specific responsibility or service to another domain object.
  • proxy object
    Represents a real object that has not yet been retrieved from persistent storage. It is a placeholder for the real object and contains just enough information to retrieve the real object when needed.
  • public methods
    The methods of an object that can be used safely by other objects. See also protocol.
  • qualifier
    A text string that precedes the table name of all tables in a database for an Atlas
  • radix
    The base of a number. A radix up to 36 can be specified in an integer constant. 16rFF “radix is 16. This constant is 255 decimal”
  • read link
    Displays data but does not allow updating.
  • receiver
    The object to which a message is addressed. For example, in the following expression:’hello’ at: 1 put: $H…the string ‘hello’ is the receiver.
  • Rectangle form item
    Scrolling box that allows you to display tables of data.
  • reference attribute
    An attribute of a class that refers to a related class.
  • reference attribute map
    A map from a reference attribute in a class to one or more database tables at the table level. Identifies which database tables are related to the database table having the reference attribute.
  • refinement
    A type of overriding that retains the call to the superclass method. For example: close super close. “Call original close method from Controller” … do some extra stuff … The method is a refinement of the original Controller close method.
  • relationship
    A definition of how classes interact, and an explanation of how two classes are logically or conceptually linked. The Modeling Tool provides three types of relationships: association, aggregation, and generalization. See association, aggregation, and generalization.
  • replacement
    A type of overriding that does not retain the call to the superclass method. For example: close … do some stuff … “do not call original close method from Controller” The method is a replacement of the original Controller close method.
  • request broker
    Handles data requests between the application objects and their persistent storage, such as a relational database. Refers to the information in the atlas to find, save, and delete objects in the database.
  • responsibility
    An action a domain object should be able to perform and the information it should be able to provide. A task defined as a responsibility in the analysis stage may translate into one or more methods in the static model. See domain object.
  • role
    1. The capacity in which a class participates in a relationship. A class can play only one role in a given relationship. However, one class can have more than one relationship with another class, and play a different role in each of the relationships.
    2. An item in an interaction diagram that represents an object within the model. Roles send and receive messages. See interaction diagram and message.
  • row
    A relational database construct that contains a value for each column in a table, all of which pertain to one item. Analogous to a record in file-based data processing.
  • Scatter Graph form item
    Object that displays pairs of related numbers on a graph with X- and Y-axes.
  • selector
    The name of the message, normally written as a symbol.1 print ” print is the selector” 1 + 2 ” + is the selector”Selectors for keyword messages are formed from the concatenation of each keyword.1 to: 10 by: 2 ” to:from: is the selector”A selector is only part of a complete message object.
  • self
    A pseudovariable that is used to send messages from an object to itself.surname ^self lastname “send a message to the same object”See also super.
  • semantics
    The meaning of an expression. For example, the phrase:’Twas brillig, and the slithy toves gyred.’…is syntactically correct but semantically meaningless. With regard to programming languages, the semantics of an expression determine the result of the evaluation. See also syntax.
  • sender
    The object or method that was responsible for sending a message.
  • sequenced collection
    A collection with a fixed sequence.
  • set
    An unordered, unique collection.
  • Set class
    A collection class that is unordered, with no duplicates.
  • singleton class
    Only one instance of the class can exist.
  • Slider form item
    Object that allows the user to select a value from a range of discrete numeric values.
  • sorted collection
    An ordered collection, but the order is determined by an intrinsic feature of each element and cannot be controlled by the user.
  • SortedCollections
    Sorted lists of objects.
  • Spin Button form item
    Object that presents a closed loop of items from which the user can make a choice.
  • static binding
    See early binding.
  • static model
    A collection of classes and their associated attributes, methods, and relationships that together describe the static object/class structure of the application. Static models are also referred to as object models.
  • Static Text form item
    Object that serves as a text label for items that you place on forms.
  • status line
    Area that displays expanded versions of the tooltips that are displayed for toolbar Buttons.
  • stream class
    A combination of a collection and a position pointer. The underlying collection can contain any kind of elements. Streams with Character elements are used for reading and writing to files.
  • streams
    Wrappers for Strings that maintain a position pointer.
  • strings
    Arrays of characters.
  • String Display Format dialog box
    Dialog box that allows you to define display characteristics of a form item that displays strings.
  • Structure class
    Used for creating C-style structures that can be accessed at specified offsets.
  • Structured Storage
    A storage mechanism that allows you to manage OLE compound documents by creating and destroying storage streams and by writing to and reading from streams. ObjectStudio supports Structured Storage when ObjectStudio is a client but not when ObjectStudio is a server.
  • subclass
    A lower-level class in a generalization relationship that inherits all of the attributes and behaviors of the superclass. Each subclass can add attributes and behaviors, but it cannot remove those of the superclass. See class, generalization, and superclass.
  • Subform
    Form that has the characteristics of an MDI (Multiple Document Interface) child window. Restricted to the inside of another parent form.
  • super
    A pseudovariable that is used to send messages from an object to itself. Unlike self, the message resolution skips the first level so that overridden methods can be called. For example:menu ^super menu “get default menu from superclass”See also self and refinement.
  • superclass
    An upper-level class in a generalization relationship that provides all of its attributes and behaviors to the subclasses. See class, generalization, and subclass.
  • symbol
    Read-only string.
  • symbol class
    A symbol is a special kind of string, which is read-only. Unlike strings, symbols with the same value are identical.
  • synchronized List Box
    Collection of List Boxes whose selections mirror the others.
  • syntax
    The rules governing the construction of an expression. With regard to programming languages, the syntax determines only whether the code will compile correctly, not whether it will give the correct result. See semantics for an example.
  • system dictionary -A dictionary that stores all global objects, including class objects. It is a global variable and the only instance of the GlobalDictionary class.
  • system modal
    Dialog box that, when displayed, prevents the user from interacting with the operating system. The user must interact with the dialog box and close it before you can interact with the rest of the application.
  • table
    Collection of columns.
  • Tabular List Box form item
    Scrolling list box that presents tabular data such as data from a database table.
  • Text
    Model class that collaborates with an interface to display text.
  • Text Collector form item
    Scrolling box that contains lines of text.
  • Text Editor form item
    Object that provides a fully functional editor for changing Smalltalk class files and other text files.
  • Timer class
    A class that can be used to trigger events or evaluate blocks at regular intervals.
  • Times
    Represent hundredths of seconds since midnight.
  • Timestamp
    Represents a combination of date and time.
  • timestamp column
    Column that contains the date and time when the data for that table was updated by a user or application.
  • Toolbar Definition list box
    List Box that displays a list of items on the toolbar in the order in which they display.
  • Tools menu
    Menu that gives you access to other ObjectStudio tools from within the Designer.
  • tooltips
    Hints about the function of a Button on a toolbar or a form item. Tooltips are displayed when you move the cursor over the Button or form item.
  • Tooltips entry field
    Entry Field that allows you to enter text that displays as a tooltip when the user places the cursor over a toolbar Button.
  • Topic Box form item
    Labeled box that surrounds other form items.
  • transaction
    A logical unit of work in an application.
  • transcript
    A global variable that points to a text window. The transcript is used for displaying system messages and errors.
  • transient
    Describes objects that cease to exist after the program ends.
  • Tree View form item
    Object that allows you to display hierarchical information in a logical manner.
  • unary message
    A message with no arguments. For example, in:99 printprint is a unary message.
  • UndefinedObject class
    The class that stores the protocol for the nil object.
  • Uniform Data Transfer
    A function that enhances the Windows Clipboard facility. It enables applications to retrieve and update data from other applications.
  • unique collection
    A collection whose elements can only be included once in the collection.
  • unordered collection
    A collection with no discernible order to the elements.
  • update link
    Object that displays data and also allows user updates.
  • use-case
    A description of who uses the system and what tasks the system must perform. There are two types of use-cases: abstract and concrete. See abstract use-case, concrete use-case, and actor.
  • use-case model
    A set of use-cases that identify the tasks which users want to perform with the system. A use-case model identifies how users will use the system by defining the actors and use-cases.
  • user-defined item
    Any terms or concepts you want to define that do not exist in the model. See item.
  • user primitive
    A call to an external DLL function. Most of the interface to the operating system is done with DLL calls. You can also easily create your own.
  • uses association
    An association that indicates that one use-case depends upon another use-case for its behavior. Abstract use-cases contain events that are needed by other use-cases. Therefore, you must specify a uses association between an abstract use-case and any use-case that requires the events defined within the abstract use-case. See abstract use-case and concrete use-case.
  • value
    Entry Field that allows you to use the getValue method to associate the toolbar with methods to execute when the user clicks a Button on the toolbar.
  • Value Set
    Graphical array of items from which the user can select one item at a time.
  • view
    In the Model-View-Controller or model-view paradigm, the view is an object, normally some kind of window, that is responsible for displaying the model to the user.
  • view layer – Collection of classes that control and display the application interface.
  • virtual machine
    A simulated processor that executes semicompiled Smalltalk methods, manages memory, time-slices processes, and so on. All Smalltalk operations are performed by the virtual machine, which leads to a very portable system.
  • Visual editing
    The ability to change a linked or embedded object without having to leave the application in which you are working.
  • WeakArray
    An array whose elements may be eligible for garbage collection.
  • Workplace List Handler
    Object used for creating workplace applications. It acts as a container for other items.
  • Workplace Object Handler
    Object used for creating workplace applications. It represents an object that stores data or performs an action.
  • Workplace template object
    Object used for creating workplace applications. It represents a template for creating new workplace objects.
  • workspace
    A notepad window that can be used to write, evaluate, and store fragments of Smalltalk code.
  • wrapper
    An object that is designed to encapsulate the behavior of another object. For example, the ControllerItem class is a Smalltalk wrapper for the operations on FormItems. Wrapper classes are important to allow portability between different operating systems by presenting a common interface.