Patent ID: 7962892

Claim:
A computer program product, tangibly embodied in non-transitory information carrier, the computer program product being operable to cause data processing apparatus to perform operations comprising: receiving input characterizing a first event related to an instance of a first pattern component of a visual modeling language environment; associating the first event with a service determined to be appropriate for a type of event associated with the first event; causing the service to resolve the first event; receiving input characterizing a second event related to an instance of a second pattern component of the visual modeling language environment; associating the second event with the service, the second event being the same type of event as the first event; causing the service to resolve the second event; and adding a third pattern component as a child to the first pattern component, the third pattern component being one of the child components supported by the first pattern component; wherein the service: determines child components supported by the first pattern component in response to the first event, configures a palette of pattern components to include child components supported by the first pattern component; determines whether cardinality information of the first pattern component supports another third pattern component as a child, and if the first pattern component supports another third pattern component as a child, allows a user to add another third pattern component as a child to the first pattern component.