Context-Supported Structures in a Modeling Language

Information

  • Patent Application
  • 20070150246
  • Publication Number
    20070150246
  • Date Filed
    December 28, 2005
    18 years ago
  • Date Published
    June 28, 2007
    17 years ago
Abstract
The present modeling technique allows context to be associated with structural elements. These structural elements are defined within a containing class (i.e., a context-supported class). Thus, knowledge that is captured about complex internal behavior of the structural elements (e.g., constraints) may be incorporated within the context-supported class without requiring business logic. The context-supported structure includes one or more parts associated with the context-supported structure through relationships. The context-supported structure may also include one or more connectors associated with the context-supported structure. The connectors connect two types of classes together to enforce a specific constraint. The two types of classes may be parts associated with the context-supported structure or other classes that are not part of the context-supported structure.
Description

BRIEF DESCRIPTION OF THE DRAWINGS

Non-limiting and non-exhaustive embodiments are described with reference to the following figures, wherein like reference numerals refer to like parts throughout the various views unless otherwise specified.



FIG. 1 is a modeling diagram for a motorized vehicle shown using the well-known UML notation.



FIG. 2 is a model diagram for a single-engine front-wheel drive car derived from sub-typing the classes shown in FIG. 1, again using the well-known UML notation.



FIG. 3 is a model diagram for a single-engine front-wheel drive car using the present modeling notation that incorporates context into structural elements.



FIG. 4 is an illustrative computing device that may be used to implement the context-supported modeling technique described herein.



FIG. 5 is an exemplary model diagram illustrating aspects of the present modeling notation that incorporates context into structural elements.



FIG. 6 is a model diagram for a workstation based on the exemplary aspects shown in the model diagram of FIG. 5.



FIG. 7 is an exemplary syntax for declaratively defining the workstation modeled in FIG. 6 using one embodiment of the present modeling notation.



FIG. 8 is an enlarged view of a portion of the exemplary syntax which declaratively defines the composite structure in accordance with one embodiment of the present modeling technique.



FIG. 9 is a model diagram of a web server based on the exemplary aspects shown in FIG. 5 and illustrates the use of arbitrary relationship types in accordance with the present modeling technique.



FIGS. 10 and 11 illustrate an eShop Deployment context-supported structure built upon two other context-supported structures in accordance with the present modeling technique.



FIG. 12 is a model diagram that illustrates a part-less connector in accordance with the present modeling technique.



FIG. 13 is a flow diagram illustrating an overview of a process for defining a context-supported structure in accordance with the present modeling technique.


Claims
  • 1. A computer-implemented method for processing definitions within a modeling language, the method comprising: receiving a context-supported structure definition, the context-supported structure definition defining a context-supported structure;receiving at least one part definition, each part definition defining a part associated with the context-supported structure;receiving at least one connector definition, each connector definition defining a connector associated with the context-supported structure; andreceiving at least one constraint definition, each constraint definition defining a constraint for the context-supported structure, wherein the constraint definition is defined via one of the connectors or via one of the parts.
  • 2. The computer-implemented method of claim 1, wherein each part comprises a data member of the context-supported structure.
  • 3. The computer-implemented method of claim 1, wherein at least one of the parts comprises a data member of another context-supported structure.
  • 4. The computer-implemented method of claim 1, wherein one of the connectors connects a new part from another context-supported structure.
  • 5. The computer-implemented method of claim 1, wherein one of the connectors connects two parts each from a different context-supported structure.
  • 6. The computer-implemented method of claim 1, wherein the connector specifies a relationship between instances of class types that are not instances of any part of the context-supported structure.
  • 7. The computer-implemented method of claim 1, wherein the context-supported structure definition, the part definitions, and the connector definitions are declaratively defined.
  • 8. The computer-implemented method of claim 1, wherein the part definition includes an instance number that defines a number of instances of the part which can be instantiated for the associated context-supported structure.
  • 9. The computer-implemented method of claim 1, wherein the connector definition includes a cardinality that defines a number of instances of one part that can be related to a second number of instances of another part.
  • 10. The computer-implemented method of claim 1, wherein the connector definition includes a role definition for each item connected to one of two ends of the connector.
  • 11. A computer-readable storage medium having stored thereon a data structure, the data structure comprising: a context-supported structure definition, the context-supported structure definition defining a context-supported structure;at least one part definition, each part definition defining a part associated with the context-supported structure;at least one connector definition, each connector definition defining a connector associated with the context-supported structure; andat least one constraint definition, each constraint definition defining a constraint for the context-supported structure, wherein the constraint definition is defined via one of the connector definitions or via one of the part definitions,wherein during processing, an instance of the context-supported structure is instantiated and becomes associated with at least one instance of each part and at least one instance of each connector in accordance with the at least one constraint.
  • 12. The computer-readable storage medium of claim 11, wherein the at least one part definition defines a type of relationship for the part related to the context-supported structure.
  • 13. The computer-readable storage medium of claim 11, wherein the type defined for two of the parts is different.
  • 14. The computer-readable storage medium of claim 11, wherein the connector definition includes a specification for a relationship with at least one part.
  • 15. The computer-readable storage medium of claim 11, wherein the connector definition includes specification for a relationship between two of the parts.
  • 16. The computer-readable storage medium of claim 11, wherein the context-supported structure definition, the part definitions, and the connector definitions are declaratively defined.
  • 17. The computer-readable storage medium of claim 11, wherein the part definition includes an instance number that defines a number of instances of the part which can be instantiated for the associated context-supported structure.
  • 18. A computing device, comprising: a processor;a memory into which a plurality of instructions are loaded, the plurality of instructions performing a method when executed by the processor, the method comprising:receiving a context-supported structure definition, the context-supported structure definition defining a context-supported structure;receiving at least one part definition, each part definition defining a part associated with the context-supported structure;receiving at least one connector definition, each connector definition defining a connector associated with the context-supported structure; andreceiving at least one constraint definition, each constraint definition defining a constraint for the context-supported structure, wherein the constraint definition is defined via one of the connectors or via one of the parts.
  • 19. The computing device of claim 18, wherein the at least one part is related to the context-supported structure through a relationship of a type.
  • 20. The computing device of claim 18, wherein the type for two of the parts is different.