[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference azur::mcc

Title:DECmcc user notes file. Does not replace IPMT.
Notice:Use IPMT for problems. Newsletter location in note 6187
Moderator:TAEC::BEROUD
Created:Mon Aug 21 1989
Last Modified:Wed Jun 04 1997
Last Successful Update:Fri Jun 06 1997
Number of topics:6497
Total number of notes:27359

1381.0. "Q: MSL :DEPENDS ON clause on a CHILD entity" by TENERE::HAYES (A European Telecomet ...) Fri Aug 23 1991 07:08

Hello ,


I have an MSL problem defining variants.

If I look at the SRM p123 chap 7.5 I can set up a DEPENDS ON
clause on a CHILD entity if the characteristic attribute
of the clause is a characteristic of the PARENT class only.

But it does not work, could someone help,

Is it an MSL compiler bug oo my MSL bug or
a change in the DEPENDS ON architecture policy
disallowing VARIANT classes ?


Here follows first an extract of the MSL and then the 
error message from the "MSL compiler".



	Regards

	
		Catherine.



MANAGEMENT SPECIFICATION MCC_NEW_AM_SRVC_IF;
   VERSION = V1.1.0;
   SYMBOL-PREFIX = MCC_;


TYPE
      NodeType = 3008 (
          Type 1 Node = 0,
          Type 2 Node  = 1 );

TYPE  SetOfStrings = 3000
      SET OF Latin1String;


GLOBAL ENTITY NEW = 999 :
   IDENTIFIER = ( Name ),
   SYMBOL = CLASS_NEW,

   IDENTIFIER ATTRIBUTES

         ATTRIBUTE Name = 1 : FullName
            DNS_IDENT = PRIMARY_NAME,  
            ACCESS = NONSETTABLE,
            DISPLAY = TRUE,
            SYMBOL = ATTR_NAME
         END ATTRIBUTE Name;

         ATTRIBUTE address = 2 : Latin1String
            DNS_IDENT = NOT_USED,
            ACCESS = SETTABLE,
            DISPLAY = TRUE,
            SYMBOL = ATTR_addr
         END ATTRIBUTE  address;

   END ATTRIBUTES; (* IDENTIFIER *)


   CHARACTERISTIC ATTRIBUTES

         ATTRIBUTE Type = 3 : NodeType
         (* Used to distinguish management nodes, 
telematic nodes etc. *)
            ACCESS = NONSETTABLE,
            DISPLAY = TRUE,
            SYMBOL = ATTR_Node_type
         END ATTRIBUTE Type;

         ATTRIBUTE SW-Version = 4 : Latin1String
         (* SW version running in the node *)
            ACCESS = NONSETTABLE,
            DISPLAY = TRUE,
            SYMBOL = ATTR_SW_Version
         END ATTRIBUTE SW-Version;

   END ATTRIBUTES; (* CHARACTERISTIC *)


   REFERENCE ATTRIBUTES

         ATTRIBUTE Location = 5 : Latin1String
         (* Used to specify where the node is located 
*)
            ACCESS = SETTABLE,
            DISPLAY = TRUE
         END ATTRIBUTE Location;

         ATTRIBUTE Responsible Person = 6 : 
Latin1String
         (* Person responsible for management of the 
node *)
            ACCESS = SETTABLE,
            DISPLAY = TRUE
         END ATTRIBUTE ResponsiblePerson;

         ATTRIBUTE Phone Number = 7 : Latin1String
         (* Phone number to responsible person  *)
            ACCESS = SETTABLE,
            DISPLAY = TRUE
         END ATTRIBUTE Phone Number;

         ATTRIBUTE Mail Address = 8 : Latin1String
         (* Mail address to responsible person  *)
            ACCESS = SETTABLE,
            DISPLAY = TRUE
         END ATTRIBUTE Mail Address;

         ATTRIBUTE Remarks = 9 : Latin1String
         (* Comments relevant for the node *)
            ACCESS = SETTABLE,
            DISPLAY = TRUE
         END ATTRIBUTE Remarks;

         ATTRIBUTE Remarks File-name = 10 : FileSpec
         (* File containing comments concerning the 
node *)
            ACCESS = SETTABLE,
            DISPLAY = TRUE
         END ATTRIBUTE Remarks File-name;

   END ATTRIBUTES; (* REFERENCE *)

   DIRECTIVE SHOW = 1 :
      DIRECTIVE-TYPE = EXAMINE,
      DISPLAY = TRUE,
      (*  is used on the protocol     *)
      REQUEST
          ARGUMENT Attributes Wanted = 1 : Attrib_List
             ECHO = TRUE,
             DISPLAY = TRUE,
             REQUIRED = FALSE,
             DEFAULT = NO DEFAULT,
             SYMBOL = ARG_SHOW_IDS
          END ARGUMENT Attributes Wanted;
      END REQUEST;

      RESPONSE All Attributes Shown = 1 :
          SYMBOL = SHOW_SUCCESS,
          TEXT = "Examination of attributes shows:",
          ARGUMENT Arg Show Values = 1 : Attrib_List
             SYMBOL = ARG_SHOW_VALUES
          END ARGUMENT Arg Show Values;
      END RESPONSE All Attributes Shown;

      RESPONSE Show Some Attributes = 2 :
          SYMBOL = SHOW_SOME,
          TEXT = "Examination of attributes shows:",
          ARGUMENT Arg Show Values = 1 : Attrib_List
             SYMBOL = ARG_SHOW_VALUES
          END ARGUMENT Arg Show Values;
      END RESPONSE Show Some Attributes;

      EXCEPTION Unsupported Attribute Group = 1 : 
         SYMBOL = SHOW_UNSUPPORTED_GROUP,
         TEXT = "Unsupported attribute group.",
      END EXCEPTION Unsupported Attribute Group;
      (* This exception will be handled by the AM *)

   END DIRECTIVE SHOW;

   DIRECTIVE SET = 2 :
      DIRECTIVE-TYPE = MODIFY,
      DISPLAY = TRUE,
      (* modify operator=replace is used on the 
protocol *)

      REQUEST
          ARGUMENT Attribute Values = 1 : Attrib_List
             ECHO = TRUE,
             DISPLAY = TRUE,
             REQUIRED = FALSE,
             DEFAULT = NO DEFAULT,
             SYMBOL = ARG_SET_VALUE_LIST
          END ARGUMENT Attribute Values;
      END REQUEST;

      RESPONSE Set Complete = 1 :
          SYMBOL = SET_SUCCESS,
          TEXT = "Modification completed 
successfully.",
          ARGUMENT Argument Set List = 1 : Attrib_List
             DISPLAY = TRUE,
             SYMBOL = ARG_SET_LIST
          END ARGUMENT Argument Set List;
      END RESPONSE Set Complete;

      EXCEPTION Set Incomplete = 1 :
         SYMBOL = SET_INCOMPLETE,
         TEXT = "Problem modifying attribute.",
         ARGUMENT Argument Set List = 1 : Attrib_List
            DISPLAY = TRUE,
            SYMBOL = ARG_SET_LIST
         END ARGUMENT Argument Set List;
      END EXCEPTION Set Incomplete;
      (* error ProcessingFailure is used on the 
protocol *)

   END DIRECTIVE SET;

   DIRECTIVE CREATE = 12 :
      DIRECTIVE-TYPE = ACTION,
      DISPLAY = TRUE,
      (* is used on the protocol *)

      REQUEST
          ARGUMENT CMISE Address = 1: Latin1String
             ECHO = TRUE,
             DISPLAY = TRUE,
             REQUIRED = TRUE,
             DEFAULT = NO DEFAULT,
             SYMBOL = ARG_CREATE_ADDR
          END ARGUMENT CMISE Address;
      END REQUEST;

      RESPONSE Create Complete = 1 :
          SYMBOL = CREATE_SUCCESS,
          TEXT = "Creation completed successfully.",
          ARGUMENT Argument Create List = 1 : 
Attrib_List
             DISPLAY = TRUE,
             SYMBOL = ARG_CREATE_IDENT
          END ARGUMENT Argument Create List;
      END RESPONSE Create Complete;

      EXCEPTION Already Exists = 1 :
         SYMBOL = CREATE_ALRDY_EXISTS,
         TEXT = "Attempt to create duplicate entity 
rejected",
      END EXCEPTION Already Exists;
      (* This exception will be handled by the AM *)

   END DIRECTIVE CREATE;

   DIRECTIVE Delete = 13 :
      DIRECTIVE-TYPE = ACTION,
      DISPLAY = TRUE,
      (* M-DELETE is usedon the protocol *)

      RESPONSE Delete Success = 1 :
          SYMBOL = DELETE_SUCCESS,
          TEXT = "Entity deleted successfully",
      END RESPONSE Delete Success;
      RESPONSE Delete Nothing = 2 :
          SYMBOL = DELETE_NOTHING,
          TEXT = "Entity did not exist",
      END RESPONSE Delete Nothing;

      EXCEPTION Entity Has Child = 1 :
         SYMBOL = DELETE_ENT_HAS_CHILD,
         TEXT = "Entity cannot be deleted: it has child 
entities",
      END EXCEPTION Entity Has Child;
      (* This exception will be handled by the AM *)

   END DIRECTIVE Delete;

   DIRECTIVE Deregister = 30 :
      DIRECTIVE-TYPE = ACTION,
      DISPLAY = TRUE,

           RESPONSE Deregister Success = 1 :      
               SYMBOL = DEREGISTER_SUCCESS,
               TEXT = "Deregistration successful",
           END RESPONSE Deregister Success;

           RESPONSE Deregister No Op = 2 :      
               SYMBOL = DEREGISTER_NO_OP,
               TEXT = "Entity was not registered",
           END RESPONSE Deregister No Op;

   END DIRECTIVE Deregister;

   DIRECTIVE Directory = 26 :
      DIRECTIVE-TYPE = ACTION,
      DISPLAY = TRUE,

            RESPONSE Directory Success = 1 :
                    SYMBOL = DIRECTORY_SUCCESS,
                    TEXT = "Directory successful.",
               ARGUMENT       Show Values = 1 : 
ATTRIB_LIST
                   SYMBOL = SHOW_VALUES
               END ARGUMENT Show Values;

            END RESPONSE Directory Success;
           (* EXCEPTION Common exceptions only *)

   END DIRECTIVE Directory;

   DIRECTIVE Register = 29 :
      DIRECTIVE-TYPE = ACTION,
      DISPLAY = TRUE,

           RESPONSE Register Success = 1 :      
               SYMBOL = REGISTER_SUCCESS,
               TEXT = "Registration successful",
           END RESPONSE Register Success;

           RESPONSE Register Dup = 2 :      
               SYMBOL = REGISTER_DUP,
               TEXT = "Entity already registered",
           END RESPONSE Register Dup;
   
   END DIRECTIVE Register;

END ENTITY NEW;


CHILD ENTITY Agent = 7 :
   PARENT = ( NEW ),
   IDENTIFIER = ( Name ),
   DYNAMIC = FALSE,
   DEPENDS ON = "Type = Type 1 Node",
   SYMBOL = SUBCLASS_Agent,

   IDENTIFIER ATTRIBUTES

         ATTRIBUTE Name = 1 : Latin1String
            ACCESS = NONSETABLE,
            DISPLAY = TRUE,
            SYMBOL = ATTR_Name
         END ATTRIBUTE Name;

   END ATTRIBUTES; (* IDENTIFIER *)


END ENTITY Agent;

END SPECIFICATION MCC_NEW_AM_SRVC_IF;


Error message:

%MCCMSL-E-INVVARATTRNAME, The variant selector 
attribute "type",
         in the DEPENDS ON statement is not a DEFINED 
attribute
%MCCMSL-I-CHKERRORFILE, Check error file for text not 
parsed
%MCCMSL-E-NOT_COMPLETE, MS file scan did not complete 
successfully

    5
T.RTitleUserPersonal
Name
DateLines
1381.1read onTOOK::CALLANDERJill Callander DTN 226-5316Tue Sep 03 1991 16:5011
keep reading.

The first paragraph is talking out if you want the entire entity
class (the subclass that is) to be a variant class.

From your ms I believe that is what you are trying to do. I just did a quick
test of the v11 kit to see if any of the base system components used this
feature and found none. I have now sent your message off to the maintainer
of that component to see what is up. They should be getting back to you.

jill
1381.2Try nesting the Entities...CHRISB::BRIENENDECmcc Bridge|Station|SNMP Management.Tue Sep 03 1991 17:2926
It turns out that the BRIDGE entity makes use of this feature.

For Bridge, we had to nest the entity definitions in order for it to
work properly.

What I mean is:
--------------
   Current .MS (in base note):

		GLOBAL ENTITY NEW
		xxx
		END ENTITY NEW
		CHILD ENTITY Agent
		yyy
		END ENTITY Agent

   Suggest you try the following:

		GLOBAL ENTITY NEW
		xxx
		  CHILD ENTITY Agent
		  yyy
		  END ENTITY Agent
		END ENTITY NEW

						Chris
1381.3Chris is correct.TOOK::KOHLSRuth KohlsWed Sep 04 1991 12:2711
Chris is correct.  The Child Entity definition must be contained within its 
Parent.  You can also do this by putting the complete child entity spec into
a separate file and INCLUDE-ing it in the parent.  

	parent:

	INCLUDE child_file_spec.ms
	end parent.

Ruth