Research Issues



slide: Guess ...


Are Components better Objects?

Component Technology

slide: Are components better objects?


Responsibilities

  • to specify behavior

    what rather than how



slide: Responsibilities in OOP


Client

  • makes request to perform a service

Server

  • provides service upon request
Client/Server Model

slide: Responsibilities in OOP


Contracts

  • a set of services

Behavioral refinement

  • improving contracts
Contracts

slide: Contracts and behavioral refinement


Conformance

if B refines A then B may be used wherever A is allowed

Behavioral Refinement



slide: Behavioral refinement


Subtype -- signature and behavior

  • preservation of behavioral properties

slide: Subtyping and behavior


Behavioral properties

  • invariant properties -- true of all states
  • history properties -- all execution sequences
Types as Behavior

slide: Subtyping and behavior


Example -- IntSet \not<= FatSet

  • FatSet -- insert, select, size
  • IntSet -- insert, delete, select, size

slide: History properties -- example


History -- not satisfied by IntSet

Objects as Behavioral Types

slide: History properties -- example


From Metaphor to Calculus

  • a strong object is a weak agent
Agents for the Web

slide: Research Challenges


Case Study: Verifiable (Component) Software

  • e.g. CMG Test Frame -- UML Use cases -> Test Action Words
Towards a formal approach

slide: Research Challenges