Note : Les descriptions sont présentées dans la langue officielle dans laquelle elles ont été soumises.
CA 02467994 2004-05-21
System and Method of Design Modelling
FIELD OF THE INVENTION
The invention relates to a system and method of design modelling.
BACKGROUND OF THE INVENTION
There are standard approaches for implementing model development tools. One
approach is to have a specialized application, i.e., one application for one
class of models.
For example, a text editor can edit text. However, the text editor is limited
to only editing
text. Another approach is to have unified modelling frameworks, i.e.,
different classes of
models are developed in the same environment with a limited set of specialized
features.
Both approaches are widely used by software providers. For example, there are
many
applications that allow a user to edit extensible markup language (XML)
documents.
Such applications do not have complete understanding of a nature and semantics
of XML
elements and their attributes inside the XML document. This requires from the
user a
complete low-level understanding of how a model is encoded into the XML
format.
Some other applications provide specialized plug-ins for editing a limited set
of XML
documents such as XML schemas, or extensible hypertext markup language
(XHTML).
The disadvantage of the existing frameworks is that they either do not provide
enough
specialized modelling features, or implementing specialization is similar to
implementing
a stand-alone application for a particular class of model, which is an
expensive and time
consuming process.
SUMMARY OF THE INVENTION
It is an object of the present invention to solve one or more of the problems
described above.
In accordance with an embodiment of the present invention, there is provided a
design modelling system for operating on disparate data models in a single
application.
'The design modelling system comprises at least one source file defining a
source data
model, a modelling development environment module for consuming source files,
and an
internal generic data model transformed from the source data model in
accordance with
direction provided by elements of consumed source files.
CA 02467994 2004-05-21
In accordance with another embodiment of the present invention, there is
provided
a method of operating on disparate data models in a single application. The
method
comprises the steps of receiving at least one source file defining a source
data model,
consuming source files within a modelling development environment module,
transforming the source data model into an internal generic data model in
accordance
with direction provided by elements of consumed source files, and applying the
internal
generic data model.
In accordance with another embodiment of the present invention, there is
provided
a computer data signal embodied in a carrier wave and representing sequences
of
instructions which, when executed by a processor, cause the processor to
perform a
method of operating on disparate data models in a single application. 'The
method
comprises the steps of receiving at least one source file defining a source
data.model,
consuming source files within a modelling development environment module,
transforming the source data model into an internal generic data model in
accordance
with direction provided by elements of consumed source files, and applying the
internal
generic data model.
In accordance with another embodiment of the present invention, there is
provided
a computer-readable medium having computer readable code embodied therein for
use in
the execution in a computer of a method of operating on disparate data models
in a single
application. The method comprising the steps of receiving at least one source
file
defining a source data model, consuming source files within a modelling
development
environment module, transforming the source data model into an internal
generic data
model in accordance with direction provided by elements of consumed source
files, and
applying the internal generic data model.
In accordance with another embodiment of the present invention, there is
provided
a computer program product for use in the execution in a computer of a design
modelling
system for operating on disparate data models in a single application. The
computer
program product comprises at Least one source file defining a source data
model, a
modelling development environment module for consuming source files, and an
internal
generic data model transformed from the source data model in accordance with
direction
provided by elements of consumed source files.
-2=
CA 02467994 2004-05-21
BRIEF DESCRIPTION OF THE DRAWINGS
Figure 1 shows an example of a design modelling system, in accordance with an
embodiment of the present invention.
Figure 2 shows an example of a high-level overview of a design modelling
system.
Figure 3 shows an example of an internal generic modelling design environment
data model of a design modelling system.
Figure 4 shows an example of a logical hierarchy of the object roles in a
design
modelling system.
Figure 5 shows an example of a logical hierarchy of the property roles in a
design
modelling system.
Figure 6 shows a flowchart of a method of operating on disparate data models
in a
single application, in accordance with an embodiment of the design modelling
system.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT S
There is a need in the art to provide an extendable development environment
for
different classes of models. An embodiment of the present invention uses a
model
behaviour specification to provide a customizable, feature-rich modelling
environment for
virtually any class of models, and data documents. With this model behaviour
specification, a model designer may specify aspects of the modelling
environment for a
particular class of models.
The proposed approach is based on the framework paradigm but also provides a
way to describe the nature and semantics of the models as well as the ability
to extend the
environment with specialized features that are not presented in the
framework's library by
default.
Figure 1 shows an example of a design modelling system 10, in accordance with
an embodiment of the present invention. The design modelling system 10
comprises one
or more source files 15 that define a source data model, a modelling
development
environment (MDE) module 14 for consuming the source files 15, and an internal
generic
data model 20 transformed from the source data model in accordance with
direction
provided by elements of the consumed source files. The internal generic data
model 20
may be implemented within the MDE module 14, or alternatively, as a separate
component within the design modelling system 10. The design modelling system
10 may
-3-
CA 02467994 2004-05-21
comprise other components such as a data model receiving module for receiving
a data
model, a syntax and integrity component for defining one or more classes of
the data
model, and a semantics unit for defining the data model in terms of the MDE.
Figure 2 shows an example of an architecture of a high-level overview of an
embodiment of the design modelling system 10. The MDE 14 consumes the
following
XML documents:
- Model 11, XML encoded data;
- XML Schema 12, this document defines the XML elements and their possible
attributes in terms of the XML format;
- Behaviours 13, this document describes the semantics of the XML elements,
the rules for creating, modifying the objects -~ information that the system
10
uses for editing the data document 11.
Preferably, the data model 11 comprises an extensible markup language (XML)
document providing data to the design modelling system 10. The XML document
(or
data model 11) and the XML schema 12 are describing the class of XML documents
and
represent a physical layer of the model 11. The XML schema 12 provides the
syntax and
integrity to the design modelling system 10. Preferably, the behaviour
specification 13
comprises an XML document, and defines a semantical layer, i.e., the model
structure in
terms of the modelling environment and also a meaning and behaviour of every
model
element. The MDE 14 includes a set of features and use-patterns that allow a
user to
create and modify data model. The combination of the data model 1 l.,
integrity rules 12
and semantical behaviour specification 13 makes it possible for the MDE to
provide a
user with a specialized and customized modelling environment.
Preferably, the design modelling system 10 comprises an internal generic data
model, which comprises i) one or more objects, and ii) corresponding object
properties.
The generic MDE data model comprises an MDE element having one or more
attributes,
one or more child objects and corresponding child object properties. Child
objects may
also have one or more attributes and other child objects with corresponding
child object
properties.
Figure 3 diagrams an exemplary example of an internal generic MDE data model
20 in accordance with an embodiment of the modelling system 10. The generic
MDE
data model 20 comprises an MDE element 21 having a role attribute 22 for
specifying the
semantical meaning of the modelling development environment element 21, and a
visual
-4-
CA 02467994 2004-05-21
class attribute 23 for specifying a class of the modelling development
environment
element 21. The role attribute 22 is of an MdeRoleType. Examples of the
MdeRoleType
include Association, and NameProperty. The visual class attribute 23
(VisualClass) is of
type String and references the name of the visual class of the MDE element 21.
The
MDE element 21 is a base class for the MDE object 24 and MDE property 25.
The behaviour specif cation 13 declares the rules by which the model XML
document 11 can be transformed into the MDE internal data model 20. The
transformation is based on the mapping rules that specify additional MDE
attributes for
the XML elements that match the specified criteria (XML path language (Xpath)
expression). For example:
<map match--"folderlmyElement" role--"object.compound" class"MyElementClass"
/>
This rule says that every XML element 21 in the source document 11 that
matches the
expression "folder/myElement" will represent an object 24 in the MD:E internal
data
structure 20, and that object 24 will have role 22 "compound" and visual class
23
"MyElementClass".
Having the source data model transformed into the internal representation the
MDE system 10 can visually present the data model to the user.
The role attribute 22 specifies the MDE semantical meaning (or behaviour) of
the
model element 21. Figure 4 depicts an example of a logical hierarchical
structure of the
object roles in the design modelling system 10. Applying the role 22 attaches
the
predefined set of features and constraints for the objects 24. For example,
specifying that
the element 21 has role 22 "Group" means that that element 21 may contain
other model
elements 21 and should be by default displayed using group folder in the MDE
views.
The object roles are divided on two major classes: "Element" and "Simple". The
objects
of class "Element" may exist in the model independently, when objects that
belong to the
class "Simple" can exist in the content of any other object with a role
"Compound". The
elements having role "Group" or "Project" may contain other elements. The
elements
with the role "Shortcut" are representing links to other elements in the
model. The
elements with the role "Association" define relationship between two objects
in the
model. The elements with a role "Compound" are the regular objects.
-5-
CA 02467994 2004-05-21
The visual class attribute 23 is specifying a class declared in the behaviour
specification document 13. Figure 5 depicts an example of a logical
hierarchical structure
of the property roles in the design modelling system 10. A visual class in the
design
modelling system 10 is a way to customize default behaviour specified by the
role
attribute 22. The definition of the visual class 23 contains the information
to customize
the visual representation of the model element (e.g., display name, state
icons, visibility,
etc.), as well as its behaviour in the MDE 14(i.e., is it modifiable, movable,
what are the
handlers for the default and custom actions attached to the element, etc).
Example
property roles are illustrated in Table 1 as follows:
TABLE l: Property Roles
"Name" - value of this property contains awame of the object;
"Description" - value of the property contains a description of the object;
"Composite" - the value of the property is a composition of other properties
(the
properties with this role can specially displayed in a properties view of a
modelling
environment);
"Complex" - properties with this role require special custom component for
displaying
and editing their values;
"Reference" - this role specifies that the property value contains an
identifier. of an object
in the model (for example shortcuts keep the reference to the source objects
in a property
with a role "Reference").
Figure 6 shows a flowchart of a method of operating on disparate data models
in a
single application (60), in accordance with an embodiment of the design
modelling
system 10. The method (60) begins with receiving one or more than one source
file
defining a source data model (61 ). Next, the source files axe consumed within
an MDE
module 14 (62). Next, the source data model is transformed into an internal
generic data
model 20 in accordance with direction provided by elements of the consumed
source files
(63). Finally, the internal generic data model is ready to be applied (64).
The method
(60) is done (63). Other steps may be added to the method (60) such as
creating the
source data model, and transforming the operated generic data model into an
external data
-6-
CA 02467994 2004-05-21
model. Advantageously, XML documents may be mapped to the generic data model
by
specifying additional attributes that can be understood by the modelling
environment.
Another feature of the design modelling system 10 is a plug-in based modelling
environment. The model behaviour specification 13 document defines a set of
binary
plug-ins that may be loaded into the design modelling system 10 and
initialized when a
model is being loaded. Preferably, these plug-ins contain implementations of
the
components that will be integrated into the user interface (UI) architecture
in order to
customize the modelling UI environment. The plug-ins are binary modules that
are
compiled and recompiled. In order to extend the modelling environment of any
class of
documents, capability is provided to create a new small plug-in without
recompiling
existing plug-ins. In addition to this, a user can reuse any standard
component provided
in the standard MDE library.
The MDE application also provides a wide range of generic components that can
be used "out of the box" to implement modelling environments. For example,
generic
components include a project tree view, a diagram view, an object explorer, a
properties
view, a base model designer, and different types of editors. These generic
components
include predefined plug-ins that can be used for displaying and editing
different elements
or properties of a model.
Advantageously, the design modelling system 10 provides a general UI
framework, i.e., multiple classes of models for one application. Thus, a user
may open
different types of documents having different UI's within a single
application, without
having to recompile that application.
The design modelling system 10 according to the present invention, as well as
the
methods described above, may be implemented by any hardware, software or a
combination of hardware and software having the functions described above. The
software code, either in its entirety or a part thereof, may be stored in a
computer readable
memory. Further, a computer data signal representing the software code that
may be
embedded in a carrier wave may be transmitted via a communication network.
Such a
computer readable memory and a computer data signal axe also within the scope
of the
present invention, as well as the hardware, software and the combination
thereof.
While particular embodiments of the present invention have been shown and
described, changes and modifications may be made to such embodiments without
departing from the true scope of the invention.