// Define a distributed object with a position. dclass Movable { // Declare a few atomic fields set_xyz(int16 x = 1024 / 1000, int16 y / 1000 = 1.024, int16 z / 1000 = 0.512) required broadcast ram; set_hpr(int16 h, int16 p , int16 r = 0) required broadcast ram; // And a molecular field set_xyzhpr : set_xyz, set_hpr; }; // Define a distributed object with a position and an attitude. dclass Attitude : Movable { // methods are inherited from parent class. set_attitude(int16array attitude = { 1 * 3 }) required broadcast ram; // This molecular field uses some inherited atomic fields. set_xyzhprattitude : set_xyz, set_hpr, set_attitude; };