CA2467994A1 - System and method of design modelling - Google Patents

System and method of design modelling Download PDF

Info

Publication number
CA2467994A1
CA2467994A1 CA002467994A CA2467994A CA2467994A1 CA 2467994 A1 CA2467994 A1 CA 2467994A1 CA 002467994 A CA002467994 A CA 002467994A CA 2467994 A CA2467994 A CA 2467994A CA 2467994 A1 CA2467994 A1 CA 2467994A1
Authority
CA
Canada
Prior art keywords
data model
source
modelling
development environment
model
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
CA002467994A
Other languages
French (fr)
Inventor
Charles Mike Potter
Alexei Pogrebtsov
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Cognos Inc
Original Assignee
Cognos Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from CA002429336A external-priority patent/CA2429336A1/en
Application filed by Cognos Inc filed Critical Cognos Inc
Priority to CA002467994A priority Critical patent/CA2467994A1/en
Publication of CA2467994A1 publication Critical patent/CA2467994A1/en
Abandoned legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/211Schema design and management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4488Object-oriented
    • G06F9/4492Inheritance

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Stored Programmes (AREA)

Abstract

A design modelling system for operating on disparate data models in a sing le application is provided. 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.

Description

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.

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=

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-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 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-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 "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-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-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.

Claims (23)

WHAT IS CLAIMED IS:
1. A design modelling system for operating on disparate data models in a single application, the design modelling system comprising:
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. The system as claimed in claim 1, wherein the modelling development environment module includes:
a syntax and integrity component for defining at least one class of the source data model; and a semantics unit for defining the source data model in terms of the modelling development environment.
3. The system as claimed in claim 1, wherein the internal generic data model includes:
one or more objects; and one or more object properties.
4. The system as claimed in claim 3, wherein an object of the internal generic data model comprises a modelling development environment element, the modelling development environment element having:
one or more attributes;
one or more child objects; and one or more child object properties.
5. The system as claimed in claim 4, wherein the modelling development environment element further comprises a role attribute for specifying the semantical meaning of the modelling development environment element.
6. The system as claimed in claim 4, wherein the modelling development environment element further comprises a visual class attribute for specifying a class of the modelling development environment element.
7. The system as claimed in claim 1, wherein the source data model comprises an extensible markup language file.
8. The system as claimed in claim 2, wherein the syntax and integrity component comprises an extensible markup language file having classes of the source data model.
9. The system as claimed in claim 2, wherein the semantics unit comprises an extensible markup language file having behaviour specification rules for transforming the source data model into the internal generic data model.
10. The system as claimed in claim 1, further comprising a project tree viewer for displaying the internal generic data model in a project tree.
11. The system as claimed in claim 1, further comprising a diagram tree viewer for displaying the internal generic data model in a diagram tree.
12. The system as claimed in claim 1, further comprising an object explorer for displaying an object of the modelling development environment.
13. The system as claimed in claim 1, further comprising a properties viewer for displaying the properties of an object in the modelling development environment.
14. The system as claimed in claim 1, further comprising a base model designer for developing the source data model.
15. The system as claimed in claim 1, further comprising an editor for modifying files in the system.
16. 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.
17. The method of claim 16, wherein the step of receiving at least one source file includes the steps of:
receiving a source data model;
receiving a source schema; and receiving a source behaviour specification.
18. The method of claim 16, further comprising the step of loading a plug-in to provide one or more than one additional feature relevant to the internal generic data model.
19. The method of claim 16, further comprising the step of creating the source data model.
20. The method of claim 16, further comprising the step of transforming the internal generic data model into an external data model.
21. 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 comprising 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.
22. 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 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.
23. 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 comprising:
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.
CA002467994A 2003-05-22 2004-05-21 System and method of design modelling Abandoned CA2467994A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CA002467994A CA2467994A1 (en) 2003-05-22 2004-05-21 System and method of design modelling

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CA002429336A CA2429336A1 (en) 2003-05-22 2003-05-22 System and method of design modelling
CA2,429,336 2003-05-22
CA002467994A CA2467994A1 (en) 2003-05-22 2004-05-21 System and method of design modelling

Publications (1)

Publication Number Publication Date
CA2467994A1 true CA2467994A1 (en) 2004-11-22

Family

ID=33453238

Family Applications (1)

Application Number Title Priority Date Filing Date
CA002467994A Abandoned CA2467994A1 (en) 2003-05-22 2004-05-21 System and method of design modelling

Country Status (1)

Country Link
CA (1) CA2467994A1 (en)

Similar Documents

Publication Publication Date Title
US7174533B2 (en) Method, system, and program for translating a class schema in a source language to a target language
US7720656B2 (en) Graphical functions
US7941461B2 (en) System and method for developing and enabling model-driven XML transformation framework for e-business
US7318216B2 (en) Software application development environment facilitating development of a software application
US6769095B1 (en) Hierarchically structured control information editor
US20050188350A1 (en) Data binding
EP1030248A1 (en) Grammar to represent a hierarchical object-oriented database
US11677807B2 (en) System and method to standardize and improve implementation efficiency of user interface content
US8036857B2 (en) Design modelling
EP1121637B1 (en) Metohd for generating component-based source code
Hanna Interactive visual functional programming
US6785880B1 (en) Tooling framework system and method for code generation
Wimmer et al. On the integration of web modeling languages: Preliminary results and future challenges
US7657869B2 (en) Integration of external tools into an existing design environment
CA2467994A1 (en) System and method of design modelling
Morris et al. Validation Testing System: Reusable Software Component Design
Fard et al. Visual and persistence behavior modeling for DEVS in CoSMoS.
US20070192367A1 (en) Generic expression framework for computer implementable expressions
EP1208426A2 (en) Hierarchically structured control information editor
Kalnins et al. The First Step Towards Generic Modelling Tool.
CA2255054A1 (en) Method and mechanism for a task oriented data model
Erkinheimo CUSTOMTOOLS as general integration platform for SOLIDWORKS-ERP data exchange
Fard et al. Visual and persistence behavior modeling for DEVS
CN116880837A (en) WPF interface multilingual implementation system and method
Keramopoulos et al. The GOQL Language and its Formal Specifications.

Legal Events

Date Code Title Description
EEER Examination request
FZDE Dead