An object-oriented, declarative, statically typed and temporal language system is presented. What makes this system very different from the currently prevailing strongly typed procedural object-oriented language systems is that methods are specified in a high-level, constraint sublanguage. The constraint sublanguage is based on a particular temporal paradigm, which has an execution model as well as the formal, initial model semantics. This constraint language system is seen as a non-traditional component of a sophisticated, typed object-oriented programming environment. It complements the procedural object-oriented languages in the areas of prototyping, simulation and databases. The paper covers the core ideas, the programming methodology, the type system, and the implementation techniques. Possible concurrent extensions and the limitations of the system are also discussed.