Unformatted Document Excerpt
Coursehero >>
California >>
East Los Angeles College >>
COMP 302
Course Hero has millions of student submitted documents similar to the one
below including study guides, practice problems, reference materials, practice exams, textbook help and tutor support.
Course Hero has millions of student submitted documents similar to the one
below including study guides, practice problems, reference materials, practice exams, textbook help and tutor support.
Advanced Objectives
database applications.
Object Oriented Databases
Unsuitability
of
RDBMSs
for
advanced
database
applications.
Object-oriented concepts. Problems of storing objects in relational database. The next generation of database systems. Basics of object-oriented database analysis and design.
Connolly & Begg. Chapters 25-29. Fourth edition
COMP 302 Valentina Tamma
Advanced Database Applications
Computer-Aided Design (CAD)
Stores data relating to mechanical and electrical
Computer-Aided Design/Manufacturing (CAD/CAM) Computer-Aided Software Engineering (CASE) Network Management Systems Office Information Systems (OIS) and Multimedia Systems Digital Publishing Geographic Information Systems (GIS) Interactive and Dynamic Web sites Other applications with complex and interrelated objects and procedural data.
design, for example, buildings, airplanes, and integrated circuit chips. Designs of this type have some common characteristics:
Data has many types, each with a small number of instances. Designs may be very large Design is not static but evolves through time. Updates are far-reaching. Involves version control and configuration management. Cooperative engineering.
COMP 302 Valentina Tamma
COMP 302
Valentina Tamma
1
Advanced Database Applications
Network Management Systems
Computer-Aided Manufacturing (CAM)
Stores similar data to CAD, plus data about discrete production.
Coordinate
delivery of communication across a computer network.
services
Perform such tasks as network path management,
Computer-Aided Software Engineering (CASE)
Stores data about stages of software development lifecycle.
problem management, and network planning. Systems handle complex data and require real-time performance and continuous operation. To route connections, diagnose problems, and balance loadings, systems have to be able to move through this complex graph in real-time.
COMP 302
Valentina Tamma
COMP 302
Valentina Tamma
Office Information Systems (OIS) and Multimedia Systems
Digital Publishing
Stores data relating to computer control of information
Becoming possible to store books, journals, papers,
in a business, including electronic mail, documents, invoices, and so on.
Modern
and articles electronically and deliver them over highspeed networks to consumers.
As with OIS, digital publishing is being extended to
systems now handle free-form text, photographs, diagrams, audio and video sequences. described using HTML, or XML. mark-up language such as SGML,
Documents may have specific structure, perhaps
handle multimedia documents consisting of text, audio, image, and video data and animation. Amount of information available to be put online is in the order of petabytes (1015 bytes), making them largest databases DBMS has ever had to manage.
COMP 302
Valentina Tamma
COMP 302
Valentina Tamma
2
Geographic Information Systems (GIS)
Interactive and Dynamic Web Sites
Consider online catalog for selling clothes. Web site
GIS
database stores spatial and temporal information, such as that used in land management and underwater exploration. photographs, and tends to be very large.
maintains a set of preferences for previous visitors and allows a visitor to:
obtain 3D rendering of any item based on color, size, fabric, etc.; modify rendering to account for movement, illumination, backdrop, occasion, etc.; select accessories to go with the outfit, from items presented in a sidebar;
Need
Much of data is derived from survey and satellite Searches may involve identifying features based, for
example, on shape, color, or texture, advanced pattern-recognition techniques.
using
to handle multimedia content and to interactively modify display based on user preferences and user selections. Added complexity of providing 3D rendering.
Valentina Tamma
COMP 302
Valentina Tamma
COMP 302
Weaknesses of RDBMSs
Poor Representation of "Real World" Entities
Normalization leads to relations that do not correspond to
entities in "real world".
Weaknesses of RDBMSs
Poor Support for Integrity and Enterprise Constraints Limited Operations
RDBMs only have a fixed set of operations which cannot be
extended.
Semantic Overloading
Relational model has only one construct for representing data
and data relationships: the relation.
Difficulty Handling Recursive Queries
Extremely difficult to produce recursive queries. Extension proposed to relational algebra to handle this type of
query is unary transitive (recursive) closure operation.
Relational model is semantically overloaded.
Homogeneous Data Structure
Relational model assumes both horizontal and vertical
homogeneity.
Many RDBMSs now allow Binary Large Objects (BLOBs).
COMP 302 Valentina Tamma COMP 302 Valentina Tamma
3
Example - Recursive Query
Weaknesses of RDBMSs
Impedance Mismatch
Most DMLs lack computational completeness. To overcome this, SQL can be embedded in a high-level 3rd
Generation Language.
This produces an impedance mismatch - mixing different
programming paradigms.
Estimated that as much as 30% of programming effort and
SELECT managerstaffNo FROM Staff WHERE staffNo=`S005' UNION SELECT managerstaffNo FROM Staff WHERE staffNo= (SELECT managerstaffNo FROM Staff WHERE staffNo=`S005')
code space is expended on this type of conversion.
Other Problems with RDBMSs
Transactions are generally short-lived and concurrency
control protocols not suited for long-lived transactions.
Schema changes are difficult. RDBMSs are poor at navigational access.
Valentina Tamma COMP 302 Valentina Tamma
COMP 302
Object-Oriented Concepts
Abstraction
Abstraction, encapsulation, information hiding. Objects and attributes. Object identity. Methods and messages. Classes, subclasses, superclasses, and inheritance. Overloading. Polymorphism and dynamic binding.
Process of identifying essential aspects of an entity
and ignoring unimportant properties.
Concentrate on what an object is and what it does,
before deciding how to implement it.
COMP 302
Valentina Tamma
COMP 302
Valentina Tamma
4
Encapsulation and Information Hiding
Object
Encapsulation
Object contains both data structure and set of operations used to manipulate it.
Uniquely identifiable entity that contains both the attributes that describe the state of a real-world object and the actions associated with it.
Definition very similar to that of an entity, however, object
encapsulates both state and behavior; an entity only models state.
Information Hiding
Separate external aspects of an object from its internal details, which are hidden from outside.
Allows internal details of an object to be changed without affecting applications that use it, provided external details remain same. Provides data independence.
COMP 302
Valentina Tamma
COMP 302
Valentina Tamma
Attributes
Object Identity
Contain current state of an object.
Attributes can be classified as simple or complex. Simple attribute can be a primitive type such as
Object identifier (OID) assigned to object when it is created that is:
System-generated. Unique to that object. Invariant. Independent of the values of its attributes (that is, its state). Invisible to the user (ideally).
integer, string, etc., which takes on literal values. Complex attribute can contain collections and/or references.
Reference attribute represents relationship. An object that contains one or more complex attributes
is called a complex object.
COMP 302
Valentina Tamma
COMP 302
Valentina Tamma
5
Object Identity - Implementation
Object Identity - Implementation
In RDBMS, object identity is value-based: primary key
Programming languages use variable names and
is used to provide uniqueness.
Primary keys do not provide type of object identity
pointers/virtual memory addresses, compromise object identity.
which
also
required in OO systems:
key only unique within a relation, not across entire system; key generally chosen from attributes of relation, making it
dependent on object state.
In C/C++, OID is physical address in process memory
space, which is too small - scalability requires that OIDs be valid across storage volumes, possibly across different computers.
Further, when object is deleted, memory is reused,
which may cause problems.
COMP 302
Valentina Tamma
COMP 302
Valentina Tamma
Advantages of OIDs
Methods and Messages
They are efficient. They are fast. They cannot be modified by the user. They are independent of content.
Method
Defines behavior of an object, as a set of encapsulated
functions.
Message
Request from one object to another asking second object to
execute one of its methods.
COMP 302
Valentina Tamma
COMP 302
Valentina Tamma
6
Object Showing Attributes and Methods
Example of a Method
COMP 302
Valentina Tamma
COMP 302
Valentina Tamma
Class
Class Instance Share Attributes and Methods
Blueprint for defining a set of similar objects.
Objects in a class are called instances. Class is also an object with own class attributes and
class methods.
Class different from type
COMP 302
Valentina Tamma
COMP 302
Valentina Tamma
7
Subclasses, Superclasses, and Inheritance
Inheritance allows one class of objects to be defined as a special case of a more general class.
Special cases are subclasses and more general
Subclasses, Superclasses, and Inheritance
All instances of subclass are also instances of
superclass.
Principle of substitutability states that instance of
cases are superclasses. Process of forming a superclass is generalization; forming a subclass is specialization.
Subclass inherits all properties of its superclass and
can define its own unique properties. Subclass can redefine inherited methods.
subclass can be used whenever method/construct expects instance of superclass. Relationship between subclass and superclass known as A KIND OF (AKO) relationship. Four types of inheritance: single, multiple, repeated, and selective.
COMP 302
Valentina Tamma
COMP 302
Valentina Tamma
Single Inheritance
Multiple Inheritance
COMP 302
Valentina Tamma
COMP 302
Valentina Tamma
8
Repeated Inheritance
Overriding, Overloading, and Polymorphism
Overriding
Process of redefining a property within a subclass.
Overloading
Allows name of a method to be reused with a class or across classes.
Polymorphism Means `many forms'. Three types: operation, inclusion,
and parametric.
COMP 302
Valentina Tamma
COMP 302
Valentina Tamma
Example of Overriding
Overloading Print Method
Might define method in Staff class to increment salary
based on commission:
method void giveCommission(float branchProfit) { salary = salary + 0.02 * branchProfit; } May wish to perform different calculation for commission
in Manager subclass:
method void giveCommission(float branchProfit) { salary = salary + 0.05 * branchProfit; }
COMP 302
Valentina Tamma
COMP 302
Valentina Tamma
9
Dynamic Binding
Complex Objects
An object that consists of subobjects but is viewed as a single object.
Objects
Runtime process of selecting appropriate method based on an object's type.
With list consisting of an arbitrary number of objects
from the Staff hierarchy, we can write:
list[i]. print
participate relationship.
in
a
A-PART-OF
(APO)
Contained object can be encapsulated within complex
object, accessed by complex object's methods.
Or have its own independent existence, and only an
and runtime system will determine which print()
method to (sub)type.
invoke
depending
on
the
object's
OID is stored in complex object.
COMP 302
Valentina Tamma
COMP 302
Valentina Tamma
Object-Oriented Languages
Object-oriented concepts can be used in a database system in different ways
Object-orientation can be used as a design tool, and be encoded
into, for example, a relational database
Persistent Programming Languages
Persistent Programming languages allow objects to be created and stored in a database, and used directly from a programming language
allow data to be manipulated directly from the programming language
No need to go through SQL. format changes are carried out transparently by system Without a persistent programming language, format changes becomes a burden on the programmer More code to be written More chance of bugs
No need for explicit format (type) changes
Analogous to modeling data with E-R diagram and then converting
to a set of relations)
The concepts of object orientation can be incorporated into a
programming language that is used to manipulate the database.
Object-relational systems add complex types and object-
orientation to relational language.
Persistent programming languages extend object-oriented
allow objects to be manipulated in-memory
no need to explicitly load from or store to the database Saved code, and saved overhead of loading/storing large amounts of data
programming language to deal with databases by adding concepts such as persistence and collections.
COMP 302 COMP 302
Valentina Tamma
Valentina Tamma
10
Persistent Programming Languages
Drawbacks of persistent programming languages
Due to power of most programming languages, it is easy to make
programming errors that damage the database.
Storing Objects in Relational Databases
1. One approach to achieving persistence with an OOPL is
to use an RDBMS as the underlying storage engine.
2. Requires mapping class instances (i.e. objects) to one
Complexity of languages makes automatic high-level optimization
more difficult.
or more tuples distributed over one or more relations.
3. To handle class hierarchy, have two basics tasks to
Do not support declarative querying as well as relational
databases
perform:
(1) design relations to represent class hierarchy; (2) design how objects will be accessed:
a) Writing Code to decompose the objects into tuples and store
them in relations
b) Writing
code to read tuples from the relations and reconstruct the objects
Valentina Tamma
COMP 302
Valentina Tamma
COMP 302
Storing Objects in Relational Databases
Mapping Classes to Relations
Number of strategies for mapping classes to relations, although each results in a loss of semantic information (usually on the hierarchical structure). (1) Map each class or subclass to a relation:
Staff (staffNo, fName, lName, position, sex, DOB, salary) Manager (staffNo, bonus, mgrStartDate) SalesPersonnel (staffNo, salesArea, carAllowance) Secretary (staffNo, typingSpeed)
The datatype of each attribute must be supported by the RDBMS!
COMP 302
Valentina Tamma
COMP 302
Valentina Tamma
11
Mapping Classes to Relations
Next Generation Database Systems
(2) Map each subclass to a relation
Manager (staffNo, fName, lName, position, sex, DOB, salary, bonus, mgrStartDate) SalesPersonnel (staffNo, fName, lName, position, sex, DOB, salary, salesArea, carAllowance) Secretary (staffNo, fName, lName, position, sex, DOB, salary, typingSpeed)
First Generation DBMS: Network and Hierarchical
Required complex programs for even simple queries. Minimal data independence. No widely accepted theoretical foundation.
(3) Map the hierarchy to a single relation
Staff (staffNo, fName, lName, position, sex, DOB, salary, bonus, mgrStartDate, salesArea, carAllowance, typingSpeed, typeFlag) TypeFlag is used to distinguish which type each tuple is (1 Manager, 2 SalesStaff,...)
Second Generation DBMS: Relational DBMS
Helped overcome these problems.
Third Generation DBMS: OODBMS and ORDBMS.
COMP 302
Valentina Tamma
COMP 302
Valentina Tamma
History of Data Models
Object-Oriented DBMSs Concepts and Design
Connolly and Begg, Chapter 26
COMP 302
Valentina Tamma
12
Object-Oriented Database Design
Relationships
Relationships represented using reference attributes,
typically implemented using OIDs.
Consider how to represent following binary relationships
according to their cardinality:
1:1 1:* *:*.
COMP 302
Valentina Tamma
COMP 302
Valentina Tamma
1:1 Relationship Between Objects A and B
1:* Relationship Between Objects A and B
Add reference attribute to B and attribute containing set
of references to A.
Add
reference attribute to A and, to maintain referential integrity, reference attribute to B.
COMP 302
Valentina Tamma
COMP 302
Valentina Tamma
13
*:* Relationship Between Objects A and B
*:* Relationships
Add attribute containing set of references to each
object.
For relational database design, would decompose *:N
into two 1:* relationships linked by intermediate entity. Can also represent this model in an ODBMS.
COMP 302
Valentina Tamma
COMP 302
Valentina Tamma
Alternative Design for *:* Relationships
Referential Integrity
Several techniques to handle referential integrity:
Do not allow user to explicitly delete objects.
System is responsible for "garbage collection".
Allow user to delete objects when they are no longer
required.
System may detect invalid references automatically and set reference to NULL or disallow the deletion.
COMP 302
Valentina Tamma
COMP 302
Valentina Tamma
14
Referential Integrity
Behavioral Design
Allow
user to modify and delete objects relationships when they are no longer required.
and
EER approach must be supported with technique that
System automatically maintains the integrity of objects. Inverse attributes can be used to maintain referential integrity.
identifies behavior of each class (processing requirements)
Involves identifying: public methods: visible to all users private methods: internal to class. Three types of methods: constructors and destructors access transform.
COMP 302
Valentina Tamma
COMP 302
Valentina Tamma
Behavioral Design - Methods
Identifying Methods
Constructor - creates new instance of class (with a
Several methodologies for identifying methods, typically
unique OID).
Destructor - deletes class instance no longer required. Access - returns value of one or more attributes (Get).
combine following approaches:
Identify classes and determine methods that may be usefully provided for each class. Decompose application in top-down fashion and determine methods required to provide required functionality.
Can return a single value or a collection.
Transform - changes state of class instance (Put).
COMP 302
Valentina Tamma
COMP 302
Valentina Tamma
15
Reading material
Object oriented analysis and design with UML: Connolly
Objectives
Framework for an OODM. Basics of persistent programming languages. Main points of OODBMS Manifesto. Main strategies for developing an OODBMS. Single-level v. two-level storage models. Pointer swizzling.
and Begg, 4th edition, 25.7
Slides together with the notes on OO
COMP 302
Valentina Tamma
COMP 302
Valentina Tamma
Objectives
Object-Oriented Data Model
No one agreed object data model. One definition:
How an OODBMS accesses records. Persistent schemes. Advantages
Object-Oriented Data Model (OODM) of orthogonal
Data model that captures semantics of objects supported in object-oriented programming.
and
disadvantages
persistence.
Issues underlying OODBMSs. Advantages and disadvantages of OODBMSs.
Object-Oriented Database (OODB)
Persistent and sharable collection of objects defined by an ODM.
Object-Oriented DBMS (OODBMS)
Manager of an ODB.
COMP 302
Valentina Tamma
COMP 302
Valentina Tamma
16
Object-Oriented Data Model
Object-Oriented Data Model
Zdonik and Maier present a threshold model that an
Khoshafian and Abnous define OODBMS as:
OODBMS must, at a minimum, satisfy:
It must provide database functionality. It must support object identity. It must provide encapsulation. It must support objects with complex state.
1. OO = ADTs + Inheritance + Object identity 2. OODBMS = OO + Database capabilities.
Parsaye et al. gives:
1. High-level query language with query optimization. 2. Support for persistence, atomic transactions: concurrency and recovery control. 3. Support for complex object storage, indexes, and access methods. 4. OODBMS = OO system + (1), (2), and (3).
Inheritance useful but not essential
COMP 302
Valentina Tamma
COMP 302
Valentina Tamma
Commercial OODBMSs
Origins of the Object-Oriented Data Model
GemStone from Gemstone Systems Inc., Objectivity/DB from Objectivity Inc., ObjectStore from Progress Software Corp., Ontos from Ontos Inc., FastObjects from Poet Software Corp., Jasmine from Computer Associates/Fujitsu, Versant from Versant Corp.
COMP 302
Valentina Tamma
COMP 302
Valentina Tamma
17
Persistent Programming Languages (PPLs)
Persistent Programming Languages (PPLs)
Language
that provides users with ability to (transparently) preserve data across successive executions of a program, and even allows such data to be used by many different programs.
PPLs eliminate impedance mismatch by extending
programming language with database capabilities.
In PPL, language's type system provides data model, containing rich structuring mechanisms.
In some PPLs procedures are `first class' objects and
In contrast, database programming language (e.g.
SQL) differs by its incorporation of features beyond persistence, such as transaction management, concurrency control, and recovery.
are treated like any other object in language.
Procedures are assignable, may be result of expressions, other procedures or blocks, and may be elements of constructor types. Procedures can be used to implement ADTs.
COMP 302
Valentina Tamma
COMP 302
Valentina Tamma
Persistent Programming Languages (PPLs)
OODBMS Manifesto
PPL also maintains same data representation in
Complex objects must be supported. Object identity must be supported. Encapsulation must be supported. Types or Classes must be supported. Types or Classes must be able to inherit from their
memory as in persistent store.
Overcomes difficulty and overhead of mapping between the two representations.
Addition of (transparent) persistence into a PPL is
important enhancement to IDE, and integration of two paradigms provides more functionality and semantics.
ancestors.
Dynamic binding must be supported. The DML must be computationally (general
purpose complete programming language).
COMP 302
Valentina Tamma
COMP 302
Valentina Tamma
18
OODBMS Manifesto
OODBMS Manifesto
The set of data types must be extensible. Data persistence must be provided. The DBMS must be capable of managing very large
The
manifesto features:
proposes
the
following
optional
databases. The DBMS must support concurrent users.
DBMS must be able to recover from hardware/software
Multiple inheritance, type checking and type inferencing, distribution across a network, design transactions and versions.
No direct mention of support for security, integrity,
failures. DBMS must provide a simple way of querying data.
views or even a declarative query language.
COMP 302
Valentina Tamma
COMP 302
Valentina Tamma
Alternative Strategies for Developing an OODBMS
Alternative Strategies for Developing an OODBMS
Extend
Extend existing object-oriented programming language.
GemStone extended Smalltalk.
Provide extensible OODBMS library.
existing database oriented capabilities.
language
with
object-
Approach taken by Ontos, Versant, and ObjectStore.
Embed OODB language constructs in a conventional
Approach being pursued by RDBMS and OODBMS vendors. Ontos and Versant provide a version of OSQL.
Develop a novel database data model/language.
host language.
Approach taken by O2,which has extensions for C.
COMP 302
Valentina Tamma
COMP 302
Valentina Tamma
19
Single-Level v. Two-Level Storage Model
Single-Level v. Two-Level Storage Model
Performance vs ease of use
Traditional Increasing
With a traditional DBMS, programmer has to:
Decide when to read and update objects.
programming languages support for many database features.
lack
built-in
Write code to translate between application's object model and the data model of the DBMS. Perform additional type-checking when object is read back from database, to guarantee object will conform to its original type.
number of applications now require functionality from both database systems and programming languages. amounts of shared, structured data.
Such applications need to store and retrieve large
COMP 302
Valentina Tamma
COMP 302
Valentina Tamma
Single-Level v. Two-Level Storage Model
Two-Level Storage Model for RDBMS
Difficulties occur because conventional DBMSs have
two-level storage model: storage model in memory, and database storage model on disk.
In contrast, OODBMS gives illusion of single-level
storage model, with similar representation in both memory and in database stored on disk.
Requires clever management of representation of objects in memory and on disk (called "pointer swizzling").
COMP 302
Valentina Tamma
COMP 302
Valentina Tamma
20
Single-Level Storage Model for OODBMS
Pointer Swizzling Techniques
The action of converting object identifiers (OIDs) to main memory pointers.
Logical OIDs vs Physical OIDs, both different from in
memory pointers
Aim is to optimize access to objects. Should be able to locate any referenced objects on
secondary storage using their OIDs.
Once objects have been read into cache, want to
record that objects are now in memory to prevent them from being retrieved again.
COMP 302 Valentina Tamma COMP 302 Valentina Tamma
Pointer Swizzling Techniques
No Swizzling
Could hold lookup table that maps OIDs to memory
Easiest implementation is not to do any swizzling. Objects faulted into memory, and handle passed to
pointers (e.g. using hashing), but this is slow
Pointer swizzling attempts to provide a more efficient
strategy by storing memory pointers in the place of referenced OIDs, and vice versa when the object is written back to disk.
application containing object's OID. OID is used every time the object is accessed. System must maintain some type of lookup table Resident Object Table (ROT) - so that object's virtual memory pointer can be located and then used to access object.
Inefficient if same objects are accessed repeatedly. Acceptable if objects only accessed once.
COMP 302
Valentina Tamma
COMP 302
Valentina Tamma
21
Resident Object Table (ROT)
Object Referencing
Need to distinguish between resident and non-resident
objects.
Most techniques variations of edge marking or node
marking. Virtual memory as a directed graph where objects are nodes, and references the directed edges Edge marking marks every object pointer with a tag bit:
if bit set, reference is to memory pointer; else, still pointing to OID and needs to be swizzled when object it refers to is faulted into.
COMP 302
Valentina Tamma
COMP 302
Valentina Tamma
Object Referencing
Hardware-Based Schemes
Node marking requires that all object references are
Use virtual memory access protection violations to
immediately converted to virtual memory pointers when object is faulted into memory.
First
detect accesses of non-resident objects.
Use standard virtual memory hardware to trigger
approach is software-based technique but second can be implemented using software or hardware-based techniques.
transfer of persistent data from disk to memory.
Once page has been faulted in, objects are accessed
via normal virtual memory pointers and no further object residency checking is required. Avoids overhead of residency checks incurred by software approaches.
COMP 302
Valentina Tamma
COMP 302
Valentina Tamma
22
Pointer Swizzling - Other Issues
Copy versus In-Place Swizzling
Three other issues that affect swizzling techniques:
When faulting objects in, data can either be copied into
Copy versus In-Place Swizzling. Eager versus Lazy Swizzling. Direct versus Indirect Swizzling.
application's local object cache or accessed in-place within object manager's database cache . Copy swizzling may be more efficient as, in the worst case, only modified objects have to be swizzled back to their OIDs. In-place may have to unswizzle entire page of objects if one object on page is modified.
COMP 302
Valentina Tamma
COMP 302
Valentina Tamma
Eager versus Lazy Swizzling
Direct versus Indirect Swizzling
Moss defines eager swizzling as swizzling all OIDs for
Only an issue when swizzled pointer can refer to object
persistent objects on all data pages used application, before any object can be accessed.
More
by
that is no longer in virtual memory.
With
relaxed definition restricts swizzling to all persistent OIDs within object the application wishes to access. accessed or discovered.
Lazy swizzling only swizzles pointers as they are
direct swizzling, virtual memory pointer of referenced object is placed directly in swizzled pointer. With indirect swizzling, virtual memory pointer is placed in an intermediate object, which acts as a placeholder for the actual object.
Allows objects to be uncached without requiring swizzled pointers to be unswizzled.
COMP 302
Valentina Tamma
COMP 302
Valentina Tamma
23
Accessing an Object with a RDBMS
Accessing an Object with an OODBMS
COMP 302
Valentina Tamma
COMP 302
Valentina Tamma
Persistent Schemes
Checkpointing
Consider three persistent schemes to make objects
Copy all or part of program's address space to
persistent:
Checkpointing. Serialization. Explicit Paging.
Note, persistence can also be applied to (object) code
secondary storage.
If complete address space saved, program can restart
from checkpoint.
In other cases, only program's heap saved. Two main drawbacks:
and to the program execution state.
Can only be used by program that created it. May contain large amount of data that is of no use in subsequent executions.
COMP 302
Valentina Tamma
COMP 302
Valentina Tamma
24
Serialization
Serialization
Copy closure of a data structure to disk. Write on a data value may involve traversal of graph of
Two inherent problems:
Does not preserve object identity. Not incremental, so saving small changes to a large data structure is not efficient.
objects reachable from the value, and writing of flattened version of structure to disk.
Reading back flattened data structure produces new
copy of original data structure.
Sometimes called serialization, pickling, or in a
distributed computing context, marshaling.
COMP 302
Valentina Tamma
COMP 302
Valentina Tamma
Explicit Paging
Explicit Paging - Reachability-Based Persistence
Explicitly `page' objects between application heap and
persistent store.
Usually requires conversion of object pointers from
Object will persist if it is reachable from a persistent root
object.
Programmer does not need to decide at object creation
disk-based scheme to memory-based scheme. Two common methods for creating/updating persistent objects:
Reachability-based. Allocation-based.
time whether object should be persistent.
Object can become persistent by adding it to the
reachability tree.
Maps
well onto language that contains garbage collection mechanism (e.g. Smalltalk or Java).
COMP 302
Valentina Tamma
COMP 302
Valentina Tamma
25
Explicit Paging - Allocation-Based Persistence
Explicit Paging - Allocation-Based Persistence
Object only made persistent if it is explicitly declared
By class
as such within the application program.
Can be achieved in several ways:
By class. By explicit call.
Class is statically declared to be persistent and all instances made persistent when they are created. Class may be subclass of system-supplied persistent class.
By explicit call Object may be specified as persistent when it is created or dynamically at runtime.
COMP 302
Valentina Tamma
COMP 302
Valentina Tamma
Orthogonal Persistence
Persistence Independence
Three fundamental principles:
Persistence of object independent of how program
manipulates that object.
Conversely, code fragment independent of persistence
Persistence independence. Data type orthogonality. Transitive persistence (originally referred to as `persistence identification' but ODMG term `transitive persistence' used here).
of data it manipulates.
Should be possible to call function with its parameters
sometimes objects with long term persistence and sometimes only transient. Programmer does not need to control movement of data between long-term and short-term storage.
COMP 302
Valentina Tamma
COMP 302
Valentina Tamma
26
Data Type Orthogonality
Transitive Persistence
All data objects should be allowed full range of
Choice of how to identify and provide persistent objects
persistence irrespective of their type.
No special cases where object is not allowed to be
at language level is independent of the choice of data types in the language.
Technique that is now widely used for identification is
long-lived or is not allowed to be transient.
In some PPLs, persistence is quality attributable to
reachability-based.
only subset of language data types.
COMP 302
Valentina Tamma
COMP 302
Valentina Tamma
Orthogonal Persistence - Advantages
Orthogonal Persistence - Disadvantages
Improved
programmer
productivity
from
simpler
Some runtime expense in a system where every
semantics.
Improved maintenance. Consistent
pointer reference might be addressing persistent object. mechanisms over whole
System required to test if object must be loaded in from disk-resident database.
Although
protection
environment.
Support for incremental evolution. Automatic referential integrity.
orthogonal persistence promotes transparency, system with support for sharing among concurrent processes cannot be fully transparent.
COMP 302
Valentina Tamma
COMP 302
Valentina Tamma
27
Versions
Versions and Configurations
Allows changes to properties of objects to be managed so that object references always point to correct object version.
Itasca identifies 3 types of versions:
Transient Versions. Working Versions. Released Versions.
COMP 302
Valentina Tamma
COMP 302
Valentina Tamma
Versions and Configurations
Schema Evolution
Some applications require considerable flexibility in
dynamically defining and modifying database schema.
Typical schema changes:
(1) Changes to class definition:
(a) Modifying Attributes. (b) Modifying Methods.
COMP 302
Valentina Tamma
COMP 302
Valentina Tamma
28
Schema Evolution
Schema Consistency
(2) Changes to inheritance hierarchy:
(a) Making a class S superclass of a class C. (b) Removing S from list of superclasses of C. (c) Modifying order of superclasses of C.
1.
Resolution of conflicts caused by multiple inheritance and redefinition of attributes and methods in a subclass. Rule of precedence of subclasses over superclasses. Rule of precedence between superclasses of a different origin. Rule of precedence between superclasses of the same origin.
1.1 1.2 1.3
(3) Changes to set of classes, such as creating and deleting classes and modifying class names.
Changes must not leave schema inconsistent.
COMP 302
Valentina Tamma
COMP 302
Valentina Tamma
Schema Consistency
Schema Consistency
2. 2.1 2.2 2.3
Propagation of modifications to subclasses. Rule for propagation of modifications. Rule for propagation of modifications in the event of conflicts. Rule for modification of domains.
3.
Aggregation and deletion of inheritance relationships between classes and creation and removal of classes. Rule for inserting superclasses. Rule for removing superclasses. Rule for inserting a class into a schema. Rule for removing a class from a schema.
3.1 3.2 3.3 3.4
COMP 302
Valentina Tamma
COMP 302
Valentina Tamma
29
Schema Consistency
Client-Server Architecture
Three basic architectures:
Object Server. Page Server. Database Server.
COMP 302
Valentina Tamma
COMP 302
Valentina Tamma
Object Server
Page and Database Server
Page Server Most database processing is performed by client. Server responsible for secondary storage and providing pages at client's request. Database Server
Most database processing performed by server. Client simply passes requests to server, receives
Distribute processing between the two components. Typically,
client is responsible for transaction management and interfacing to programming language.
Server responsible for other DBMS functions. Best for cooperative, object-to-object processing in an
open, distributed environment.
results and passes them to application.
Approach taken by many RDBMSs.
COMP 302
Valentina Tamma
COMP 302
Valentina Tamma
30
Client-Server Architecture
Architecture - Storing and Executing Methods
Two approaches:
Store methods in external files. Store methods in database.
Benefits of latter approach:
Eliminates redundant code. Simplifies modifications.
COMP 302
Valentina Tamma
COMP 302
Valentina Tamma
Architecture - Storing and Executing Methods
Architecture - Storing and Executing Methods
Methods are more secure. Methods can be shared concurrently. Improved integrity.
Obviously, more difficult to implement.
COMP 302
Valentina Tamma
COMP 302
Valentina Tamma
31
Benchmarking - Wisconsin benchmark
Benchmarking - Wisconsin benchmark
Developed to allow comparison of particular DBMS
Original benchmark had 3 relations: one called Onektup
features.
Consists of set of tests as a single user covering:
with 1000 tuples, and two Tenktup1/Tenktup2 with 10000 tuples.
others
called
Generally useful although does not cater for highly
updates/deletes involving key and non-key attributes; projections involving different degrees of duplication in the attributes and selections with different selectivities on indexed, non-index, and clustered attributes; joins with different selectivities; aggregate functions.
skewed attribute distributions and join queries used are relatively simplistic.
Consortium
of manufacturers formed Transaction Processing Council (TPC) in 1988 to create series of transaction-based test suites to measure database/TP environments.
COMP 302
Valentina Tamma
COMP 302
Valentina Tamma
TPC Benchmarks
Object Operations Version 1 (OO1) Benchmark
Intended
TPC-A and TPC-B for OLTP (now obsolete). TPC-C replaced TPC-A/B and based on order entry
application.
TPC-H for ad hoc, decision support environments. TPC-R for business reporting within decision support
as generic measure of OODBMS performance. Designed to reproduce operations common in advanced engineering applications, such as finding all parts connected to a random part, all parts connected to one of those parts, and so on, to a depth of seven levels. ObjectStore, Objectivity/DB, and Versant, and INGRES and Sybase. Results showed an average 30-fold performance improvement for OODBMSs over RDBMSs.
environments.
TPC-W,
About 1990, benchmark was run on GemStone, Ontos,
a eCommerce.
transactional
Web
benchmark
for
COMP 302
Valentina Tamma
COMP 302
Valentina Tamma
32
Advantages of OODBMSs
Disadvantages of OODBMSs
Enriched Modeling Capabilities. Extensibility. Removal of Impedance Mismatch. More Expressive Query Language. Support for Schema Evolution. Support for Long Duration Transactions. Applicability to Advanced Database Applications. Improved Performance.
Lack of Universal Data Model. Lack of Experience. Lack of Standards. Query Optimization compromises Encapsulation. Object Level Locking may impact Performance. Complexity. Lack of Support for Views. Lack of Support for Security.
COMP 302
Valentina Tamma
COMP 302
Valentina Tamma
UML
Represents unification and evolution of several
OOAD methods, particularly:
Booch method,
Additional reading
Object Modeling Technique (OMT), Object-Oriented Software Engineering (OOSE).
Adopted as a standard by OMG and accepted by
software community as primary notation for modeling objects and components.
COMP 302
Valentina Tamma
33
UML
Provide Defined
UML Design Goals
ready-to-use, expressive visual modeling language so users can develop and exchange meaningful models. Provide extensibility and specialization mechanisms to extend core concepts.
Be independent of particular programming languages
as "a standard language for specifying, constructing, visualizing, and documenting the artifacts of a software system". UML does not prescribe any particular methodology, but instead is flexible and customizable to fit any approach and can be used in conjunction with a wide range of software lifecycles and development processes.
The
and development processes. Provide a formal basis for understanding the modeling language. Encourage growth of object-oriented tools market.
Support higher-level development concepts such as
collaborations, frameworks, patterns, and components.
Integrate best practices.
COMP 302 Valentina Tamma COMP 302 Valentina Tamma
UML - Diagrams
UML Object Diagrams
Model instances of classes and used to describe
Structural:
class diagrams object diagrams component diagrams deployment diagrams.
system at a particular point in time. Can be used to validate class diagram with "real world" data and record test cases.
Behavioral: use case diagrams
sequence diagrams collaboration diagrams statechart diagrams activity diagrams.
COMP 302
Valentina Tamma
COMP 302
Valentina Tamma
34
UML Component Diagrams
UML Deployment Diagrams
Depict configuration of run-time system, showing
Describe
organization and dependencies among physical software components, such as source code, run-time (binary) code, and executables.
hardware nodes, components that run on these nodes, and connections between nodes.
COMP 302
Valentina Tamma
COMP 302
Valentina Tamma
UML Use Case Diagrams
UML Use Case Diagrams
Model functionality provided by system (use cases),
users who interact with system (actors), and association between users and the functionality.
Used in requirements collection and analysis phase to
represent high-level requirements of system.
More specifically, specifies a sequence of actions,
including variants, that system can perform and that yields an observable result of value to a particular actor.
COMP 302
Valentina Tamma
COMP 302
Valentina Tamma
35
UML Use Case Diagrams
UML Sequence Diagrams
Model interactions between objects over time, capturing
behavior of an individual use case.
Show the objects and the messages that are passed
between these objects in the use case.
COMP 302
Valentina Tamma
COMP 302
Valentina Tamma
UML Sequence Diagrams
UML Collaboration Diagrams
Show interactions between objects as a series of
sequenced messages.
Cross between an object diagram and a sequence
diagram.
Unlike
sequence diagram, which has column/row format, collaboration diagram uses free-form arrangement, which makes it easier to see all interactions involving a particular object.
COMP 302
Valentina Tamma
COMP 302
Valentina Tamma
36
UML Collaboration Diagrams
events.
UML Statechart Diagrams
Show how objects can change in response to external Usually model transitions of a specific object.
COMP 302
Valentina Tamma
COMP 302
Valentina Tamma
UML Activity Diagrams
UML Activity Diagrams
Model flow of control from one activity to another. Typically represent invocation of an operation, a step in
a business process, or an entire business process.
Consist of activity states and transitions between them.
COMP 302
Valentina Tamma
COMP 302
Valentina Tamma
37
UML Usage in Database Design Methodology
UML Usage in Database Design Methodology
Produce
use case diagrams from requirements specification or while producing requirements specification to depict main functions required of system. Can be augmented with use case descriptions.
Update class diagram to show required methods in each
class.
Create state diagram for each class to show how class
Produce first cut class diagram (ER model). Produce a sequence diagram for each use case or
changes state in response to messages. Messages are identified from sequence diagrams.
Revise earlier diagrams based on new knowledge
group of related use cases. May be useful to add a control class to class diagram to represent interface between the actors and the system.
gained during this process.
COMP 302
Valentina Tamma
COMP 302
Valentina Tamma
38
Find millions of documents on Course Hero - Study Guides, Lecture Notes, Reference Materials, Practice Exams and more.
Course Hero has millions of course specific materials providing students with the best way to expand
their education.
Below is a small sample set of documents:
East Los Angeles College - COMP - 302
Objectives How relational model has been extended to supportadvanced database applications.Introduction to Object Relational DatabasesChapter 28 Features proposed in third-generation databasesystem manifestos from CADF and Darwen/Date. Ex
UWO - CS - 855
%!PS-Adobe-2.0 %Creator: dvips(k) 5.95a Copyright 2005 Radical Eye Software %Title: CS635-Introduction.dvi %Pages: 28 %PageOrder: Ascend %Orientation: Landscape %BoundingBox: 0 0 612 792 %DocumentFonts: CMBX12 CMBX10 CMR7 CMR10 CMSY10 CMMI10 CMSY9 CM
UWO - CS - 855
%!PS-Adobe-2.0 %Creator: dvips(k) 5.95a Copyright 2005 Radical Eye Software %Title: CS855-ParallelLinearAlgebra.dvi %Pages: 33 %PageOrder: Ascend %Orientation: Landscape %BoundingBox: 0 0 612 792 %DocumentFonts: CMBX12 CMBX10 CMR7 CMR10 CMSY9 CMR9 CM
UWO - CS - 855
%!PS-Adobe-2.0 %Creator: dvips(k) 5.95a Copyright 2005 Radical Eye Software %Title: CS855-ParallelSorting.dvi %Pages: 39 %PageOrder: Ascend %Orientation: Landscape %BoundingBox: 0 0 612 792 %DocumentFonts: CMBX12 CMBX10 CMR7 CMR10 CMR9 CMMI9 CMSY9 CM
UWO - CS - 855
LISP AND SYMBOLIC COMPUTATION: An International Journal, 7, 147-172 (1994) 1994 Kluwer Academic Publishers, Boston. Manufactured in The Netherlands.Distributed Data Structures and Algorithms for GrSbner Basis Computation*SOUMEN CHAKRABARTI KATHER
UWO - CS - 855
%!PS-Adobe-2.0 %Creator: dvips 5.497 Copyright 1986, 1992 Radical Eye Software %Title: lncs.dvi %CreationDate: Sat Jun 26 11:27:27 1993 %Pages: 15 %PageOrder: Ascend %BoundingBox: 0 0 612 792 %EndComments %DVIPSCommandLine: dvips -o lncs.ps lncs.dvi
UWO - CS - 855
%!PS-Adobe-2.0 %Creator: dvipsk 5.58f Copyright 1986, 1994 Radical Eye Software %Title: resultant.dvi %Pages: 12 %PageOrder: Ascend %BoundingBox: 0 0 596 842 %DocumentPaperSizes: A4 %EndComments %DVIPSCommandLine: dvips -o resultant.ps resultant.dvi
UWO - CS - 9843
PeertoPeer(1)ReferencesThisdiscussionisbasedonthepapersandwebsitesinthe P2PFileSharingsection Acknowledgements:Manyofthefiguresarefromother presentationsespeciallyfromtheoriginalauthors.ClientServerModelLetslookattheClientServermodel Server
VCU - CMSC - 602
Scheduling Algorithms for Multiprogramming in a HardReal-Time EnvironmentC. L. L I UProject MAC, Massachusetts Institute of TechnologyAND J A M E S W . LAYLANDJet Propulsion Laboratory, California Institute of TechnologyABSTR.~kCT. The problem
Laurentian - CHEM - 24103
Safety Rules3CHEMISTRY LABORATORY RULES AND SAFETY PRECAUTIONS1. 2. 3. 4. 5.Never work alone in the laboratory. Smoking is not permitted in the building. Unauthorized experiments are prohibited. Know the location and use of the fire extinguis
Laurentian - CHEM - 24103
#1. Intro to Spreadsheets12EXPERIMENT 1. INTRODUCTION TO SPREADSHEETS CHECK-IN Students should come to the Lab (D-770) at the regular time. Lab Lockers will be assigned before the computer portion of the lab is started. The spreadsheet portion of
Kennesaw - M - 1106
CHAPTER 5Computing area under a curve, like the area of the region spanned by the scaffolding under the roller coaster track, is an application of integration.INTEGRATION1 2 3 4 5 6 Antidifferentiation: The Indefinite Integral Integration by Sub
Washington University in St. Louis - MEXMRS - 0800
=Upfront Notes= This "aareadme.txt" file contains the description of the naming convention that will be used for all MEX kernels. One part of them will be directly produced by an automated system located at ESTEC,PST. Consequently, we c
Washington University in St. Louis - MEXMRS - 0800
=MEX Orbit Number Files= Last update: 11 MAY 2006 This "aareadme.txt" file describes the contents of the KERNELS/ORBNUM directory of the MEX SPICE data server. It also provides the file naming conventions used for the MEX Orbit Numbe
University of Texas - CH - 118
vti_encoding:SR|utf8-nl vti_timelastmodified:TR|16 Jan 2008 21:40:30 -0000 vti_extenderversion:SR|12.0.0.4518 vti_author:SR|RANDY\Conrad vti_modifiedby:SR|CBITS-CD59D62DF\Conrad vti_timecreated:TR|17 Aug 2005 16:51:38 -0000 vti_title:SR|CH 118K vti_a
University of Texas - CH - 118
vti_encoding:SR|utf8-nl vti_timelastmodified:TR|08 Jun 2009 20:51:43 -0000 vti_extenderversion:SR|12.0.0.6211 vti_author:SR|CBITS-CD59D62DF\Conrad vti_modifiedby:SR|CBITS-CD59D62DF\Conrad vti_timecreated:TR|08 Jun 2009 20:51:43 -0000 vti_cacheddtm:TX
University of Texas - CH - 118
vti_encoding:SR|utf8-nl vti_timelastmodified:TR|31 Aug 2004 17:24:12 -0000 vti_extenderversion:SR|6.0.2.5516 vti_author:SR|RANDY\Conrad vti_modifiedby:SR|RANDY\Conrad vti_timecreated:TR|31 Aug 2004 17:24:12 -0000 vti_cacheddtm:TX|31 Aug 2004 17:24:12
University of Texas - CH - 118
vti_encoding:SR|utf8-nl vti_timelastmodified:TR|04 Jun 2009 15:35:33 -0000 vti_extenderversion:SR|12.0.0.6211 vti_author:SR|RANDY\Conrad vti_modifiedby:SR|CBITS-CD59D62DF\Conrad vti_timecreated:TR|09 Aug 2005 17:09:36 -0000 vti_title:SR|CH 210C vti_a
University of Texas - CH - 118
vti_encoding:SR|utf8-nl vti_timelastmodified:TR|31 Aug 2004 17:27:58 -0000 vti_extenderversion:SR|6.0.2.5516 vti_author:SR|RANDY\Conrad vti_modifiedby:SR|RANDY\Conrad vti_timecreated:TR|31 Aug 2004 17:27:58 -0000 vti_cacheddtm:TX|31 Aug 2004 17:27:58
University of Texas - CH - 118
vti_encoding:SR|utf8-nl vti_timelastmodified:TR|14 Jul 2008 19:13:22 -0000 vti_extenderversion:SR|12.0.0.4518 vti_author:SR|RANDY\Conrad vti_modifiedby:SR|CBITS-CD59D62DF\Conrad vti_timecreated:TR|30 Aug 2006 19:39:06 -0000 vti_title:SR|CH 118K vti_a
Oregon - PHYS - 390
DAQ6023E/6024E/6025E User ManualMultifunction I/O Devices for PCI, PXI , CompactPCI, and PCMCIA Bus Computers6023E/6024E/6025E User ManualDecember 2000 Edition Part Number 322072C-01Support Worldwide Technical Support and Product Information n
ECCD - TTMG - 5004
A peer-reviewed electronic journal.Copyright is retained by the first or sole author, who grants right of first publication to the Practical Assessment, Research & Evaluation. Permission is granted to distribute this article for nonprofit, educatio
Old Dominion - CS - 476
System Administration Commandsnetstat ( 1M )NAMEnetstat show network statusSYNOPSISnetstat [-anvR] [-f address_family] [-P protocol] netstat -g [-nv] [-f address_family] netstat -p [-n] [-f address_family] netstat -s [-f address_family] [-P
Iowa State - MATH - 414
Math 266Test 210-25-00Name: y(0) = 0,1) (15pt) For the following spring equation: y + 2y + 16y = 0; y (0) = 1. (a) (10pt) If = 0 determine the solution in amplitude-phase form.(b) (5pt) What value of causes solutions to decay the most rap
Iowa State - MATH - 414
Math 267Test 3April 19Name:1) (10pts) Use the denition of the Laplace transform to nd the Laplace transform of 0 f (t) = 2 0 0t<3 3 t < 10 t 102) (10pts) Determine the Laplace transform off (t) =0 0t< sin t t 3) (15 pt) Find Y
Iowa State - MATH - 414
Math 267Practice TestName:Instructions: Read the question carefully and answer all parts of the question. At the end of the test look to see if you answered all parts of the question. Ask if something is unclear. 1) (15 pt) Convert the followin
Iowa State - MATH - 414
Math 267 Course Description, Course Policy Introduction to Dierential Equations Spring 2003 Professor: Scott Hansen, 494 Carver, 294-8171 Oce Hours: TBA or by appt. Textbook: Elementary Dierential Equations (4th ed.; Edwards and Penney) General Infor
Iowa State - MATH - 414
MATH 165Extra credit problem (6 pts.)Due: Wed. 161. Let x = t cos t, y = t sin t; -2 t 2 describe the motion of a particle in the xy-plane. a) Find the slope of the tangent to the curve at (0, 0). b) Sketch the path the particle takes in the
Iowa State - MATH - 414
MATH 165Practice Exam IIIFall 2002 NamePART 1: Mulitple-Choice Problems Each problem is worth 5 points: NO partial credit will be given. Calculators may NOT be used on this part. 1. The function f (x) = 3x + sin x is one-to-one. If g is the inv
UMBC - CHEM - 112
1NAME: _ STUDENT NUMBER: _ CENTRE: _OKANAGAN UNIVERSITY COLLEGE DEPARTMENT OF CHEMISTRYChemistry 112 - All Sections - All Centers FINAL EXAMINATION Monday, Dec 09, 2002 Time: 9:00 - 12:00 a.m.This exam contains pages numbered 1 through 16 , a
UMBC - CHEM - 112
Chem111/112 Dr.C. Doige Chem Activity 19 - addendum The Periodic Table of Elements - Electron Arrangements12345678122,12,22,32,42.52,62,72,82,8,12,8,22,8,32,8,42,8,52,8,62,8,72,8,8
UMBC - CHEM - 112
Chem111/112 Dr.C. Doige Chem Activity 19 - addendum The Periodic Table of Elements - Electron Arrangements12345678122,12,22,32,42.52,62,72,82,8,12,8,8,12,8,22,8,8,2 2,8,9,2 2,8,10, 2 2,8,11, 2 2,8,12, 2 2,8,
UCSD - BIPN - 144
EXAM 1 -_KEY Developmental Neurobiology, BIPN144 100 Points Total Question1 2 3 4 5April 24, 2008TAAfsoon Susan B. Sue Z. Alex Keith20 pts. 5 pts. 5 pts. 4 pts.1. What two criteria must a molecule meet to be considered a morphogen? 1) Fact
UCSD - BIPN - 144
EXAM 2 Developmental Neurobiology, BIPN144 May 22, 2008 100 Points Total Question1 2 3 4 5TASuasn B. Alex Afsoon Keith Keith20 pts.1. In the developing grasshopper leg, pioneer Ti1 axons find their way to the CNS.a. Define the terms axon, d
Colorado - AMATH - 4570
v Yu}B r q r # D$Y 6 FY r r FY Y FY BY r$Y Y Y r ) YYYF $YYYlQ8 r4f4IEk r o P QI @ 3 C " 0 AFEDB21 Q !Qq Bx } r | r o k P x ~ w} r dgrlk b u4Qw
Washington University in St. Louis - MEXMRS - 0151
=Upfront Notes= This "aareadme.txt" file contains the description of the naming convention that will be used for all MEX kernels. One part of them will be directly produced by an automated system located at ESTEC,PST. Consequently, we c
Washington University in St. Louis - MEXMRS - 0151
$MEX LIGHT TIME FILE 1*LITIME 2*PREP JPL Mars Express Navigation Team 3*TITLE
Washington University in St. Louis - MEXMRS - 0151
=MEX LSK Files= Last update: 08 AUG 2005 This "aareadme.txt" file describes the contents of the KERNELS/LSK directory. It also provides the file naming conventions used for the MEX LSK kernels, and it provides identification of t
Washington University in St. Louis - MEXMRS - 0151
=MEX SCLK Files= Last update: 22 MAR 2004 This "aareadme.txt" file describes the contents of the KERNELS/SCLK directory of the MEX SPICE data server. It also provides the file naming conventions used for the MEX SCLK kernels, and it
CSU Mont. Bay - CS - 6560
Objectives of This Chapter Overview Session Beans Entity Beans Message Driven beans EJB Web service The Deployment Model of EJB Examples and Lab PracticeOverview Overview of the EJB Architecture and J2EE platform The new specification of J
CSU Mont. Bay - CS - 6560
POSIX Pthread Program-/* pthreads.c illustrate POSIX threads creation and synchronization */* pthread_create, pthread_join, sem_wait, sem_post *//* Compile: gcc -o pthreads2 pthreads2.c -lpthread -lposix4 *//* run usage
Embry-Riddle FL/AZ - EP - 440
Embry-Riddle FL/AZ - EP - 440
Wisconsin - CHEM - 029
Energies and Wavefunctions for Several One-Dimensional PotentialsRicardo Metz Department of Chemistry LGRT Box 34510 University of Massachusetts Amherst, MA 01003-4510 rbmetz@chemistry.umass.edu Copyright 2004 by the Division of Chemical Education
Wisconsin - CHEM - 029
Solving the Schrodinger Equation using the Variational Method (and how to do it using MathCAD)The Variational method is usually introduced as a way of getting the energy of the ground state solution to the Schrodinger Equation by optimizing coeffici
Appalachian State - COM - 3302
Ad ElementsChapters 7-8-9-10-11Objectives:Upon completion of this class and the assignments, you will be able to: Identifykey elements of an ad Recall the materials required to layout a print ad Select the type of illustration (if any) bes
Wisconsin - HOMEPAGES - 1982
10th Dist. A.C.|10th District A.C.|111th Ambulance|11th Cavalry|1st Infantry|1stTexasArtillery|20th Infantry|260th Coast Artil|260th Coast Artillery|2nd TX 132nd Inf|2nd Texas 132nd Infantry|362nd Infantry|3rd Army Corps|5th Division|63rd
Rochester - WEB - 142
Astronomy 142 Recitation #819-20 March 2009 Formulas to remember Free-fall time: t ff = 3 32G 02 Mass per unit area in a hydrostatically-supported galactic disk like the Milky Ways: = gz 2 G = vz 2 GHRelaxation time: tc =1 N 2R = 4 G m n ln
Rochester - WEB - 142
Astronomy 142 Recitation #926-27 March 2009 Formulas to remember Rotation curvesv(r ) = v(r ) = r GM r 4 G 0 3 Point mass: Keplerian rotation Constant density: solid-body rotation2 v ( r ) = 4 G 0 r0 = constant 1 r 2 density distribution: flat ro
Rochester - WEB - 142
Astronomy 142 Recitation #102-3 April 2009 Formulas to remember Cepheid period-luminosity relationMV = 2.76 log 1.3540 = ( m M )0 = 5 log = V + 3.65 log 1.30 (V K ) + ( 2.55 0.11 ) + 0.18 AVr 10 pc Hubbles Lawvr = H 0 d H 0 = 65
Rochester - WEB - 142
Astronomy 142 Recitation #119-10 April 2009 Formulas to remember Superluminal motion in AGNsv ,apparent = v sin v 1 cos c( v ,apparent )max = v1 1 2 c v2=vGalaxy distribution in clusters (number per unit area on the sky)N ( r ) = N ( 0
Rochester - WEB - 142
Astronomy 142 Recitation #1323-24 April 2009 Formulas to remember Robertson-Walker absolute interval dr 2 + r2 d 2 + r2 sin 2 d 2 ds 2 = c 2 dt 2 R 2 ( t ) 2 1 Kr Rr = rT0 = TR ( t ) R ( t0 ) = T ( 1 + z ) = c2 8 G 0Scale Observed te
Washington - FIT - 100
Comments, questions, answers
Washington - FIT - 100
This class is cool, i got confused. than i understood it at the end. I like this environment. The name of the second text editor used on this file is TextEdit.
Washington - FIT - 100
This class is cool, i got confused. than i understood it at the end. I like this environment.
Laurentian - PSYC - 200801
Thinking with Data (Fourth Edition)John R. Vokey and Scott W. Allen Department of Psychology and Neuroscience The University of LethbridgeiiThinking With Data (Fourth Edition) Copyright c 19992005John R. Vokey and Scott W. Allen A PsyPro book