Customize Your IEPD Model
Whether you choose to download the IEPD Starter Model, or create your own IEPD model by dragging instances from the Browser window, you must set values for the properties of the Object instances that are appropriate to the model you are creating. This is achieved by setting the run-state properties of the various object instances used in your IEPD model.
NIEM IEPD Types
The Package 'NIEM IEDP Types' contains definitions for the Class 'IEPD', as well as a number of other Classes. These other Classes are referenced as classifiers for attributes of the 'IEPD' Class. Relationships between the various Classes defined in this Package can be viewed on the diagram 'NIEM-UML IEPD Types'.
The 'IEPD' Class has a number of attributes that are simple string types, as well as some attributes that are classified by types that are defined within the 'NIEM IEDP Types' Package.
Setting the Run-States of IEPD Objects
When setting the run state values for properties with simple types in the IEPD object, you can use the 'Set Run State' command. This can be accessed by right-clicking the Object on a diagram, then choosing 'Features | Set Run State...' (or by pressing).
Where properties reference other Classes as their types, you cannot simply enter a run state value.
Enterprise Architect supports two methods of specifying values for these properties, each method requires creation of an Object instance of the referenced Class.
You should create an Object instance of the type corresponding to the property, then either create an Association between the two objects and set a role name for the property being set, or nest the Object as a child within the Object whose properties are being set and name the child Object using the name of the property being set. When associating an Object, the Object's name is not important, but the role name must match the name of the property being set.
For example, you might create an Object instance of the type IEPConformanceTargetType and nest it within the IEPD Object. In this case, the child Object must be named 'IEPConformanceTarget' to correspond with the attribute of that name in the Class definition. Ensure that the child Object is indeed nested within the parent, by inspecting the hierarchy shown in the Browser window.
If using a role name on an Association, create the 'property' Object as a separate (non-nested) Object instance, then create an Association from the 'owner' to the 'object' and finally specify a role name for the target Object. For example, create an Association from the Model Package Description Object to an Object instance of IEPConformanceTargetType. Open the 'Properties' dialog for the Association and name the role of the target as 'IEPConformanceTarget', to correspond to the name of the attribute in the 'IEPD' Class. Again, in this scenario, the name of the Object itself is not important, it could even be anonymous, but the role name must match the name of the attribute whose value you are setting.
Note that an IEPD Object might specify many IEPConformanceTargets. You must create an Object instance for each one and each one must be named 'IEPConformanceTarget'.
Either of these techniques can then be used to set properties within the IEPConformanceTargetType Object. For example, to set the value of the ValidityConstraintWithContext attribute, create an Object instance of the Class ValidityConstraintWithContextType (which might be an instance of the derived type QualifiedNamesType) and either name it and nest it, or associate it and name the role.
Modeling File Usage
File use can be modeled by adding Artifact elements to the diagram and linking with the required File Type Usage connector from the toolbox.
The various filenames are generated into the IEPD's XML catalog files, using values that are specified in the Properties of the relevant Usage connectors.