A domain is a triple of the form:
Domain = <Concepts, Entities, Relationships>
http://www.cs.sjsu.edu/faculty/pearce/web/ontos/
Domains = packages
Concepts = Classes
Entities = Objects
Relationships = Associations
A class has a name, attributes, and operations.
Attributes can be derived or fundamental.
Classes can have stereotypes.
<<role>>
<<modifier>>
Domain classes vs. architectural, foundational, and application classes
Coad's stereotypes (archetypes) for domain classes:
<<event>>
<<role>>
<<description>>
<<entity>>
A <: A
A <: B && B <: C => A <:C
A extends B => A <: B
A <: B => A inherits the (declared and inherited) features of B
a: A && A <: B => a: B
objects detcide how to handle the messages they receive.
http://www.cs.sjsu.edu/faculty/pearce/ooa/chp4.htm
http://www.cs.sjsu.edu/faculty/pearce/ooa/chp7.htm
http://www.cs.sjsu.edu/faculty/pearce/ooa/chp6.htm
http://www.cs.sjsu.edu/faculty/pearce/cs146/general.htm
http://www.cs.sjsu.edu/faculty/pearce/cs146/collections.htm
http://www.cs.sjsu.edu/faculty/pearce/ooa/chp10.htm
http://www.cs.sjsu.edu/faculty/pearce/ooa/chp7.htm