In Full Maude, concurrent object-oriented systems can be defined by means of object-oriented modules--introduced by the keyword omod...endom--using a syntax more convenient than that of system modules, because it assumes acquaintance with the basic entities, such as objects, messages and configurations, and supports linguistic distinctions appropriate for the object-oriented case.
As in Core Maude, we may have specifications of object-oriented systems in system modules; for example, we could enter into Full Maude the system modules describing object-based systems discussed in Chapter 8 by enclosing them in parentheses. However, although Maude's system modules are sufficient for specifying object-oriented systems, there are important conceptual advantages provided by Full Maude's syntax for object-oriented modules. Such syntax allows the user to think and express his/her thoughts in object-oriented terms whenever such a viewpoint seems best suited for the problem at hand. Those conceptual advantages would be partially lost if only system modules at the Core Maude level were provided.
Object-oriented modules are however just syntactic sugar: they are internally transformed into system modules for execution purposes (Section 15.8). All object-oriented modules implicitly include the CONFIGURATION module (see Section 8.1), and thus assume the latter's syntax. Recall that the module CONFIGURATION defines the basic concepts of concurrent object systems; among others, and besides the Configuration sort, it includes the declarations of sorts