Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
A COMPUTER IMPLEMENTED METHOD AND SYSTEM FOR CUSTOMIZING A UNIFIED MODELLING LANGUAGE TOOL
Document Type and Number:
WIPO Patent Application WO/2013/190560
Kind Code:
A1
Abstract:
The present application relates to a computer implemented method and system for customizing a Unified Modelling Language (UML) tool for supporting a software application wherein the UML tool is implemented on a first software platform and the software application is implemented on a second software platform. The method includes mapping elements of the software-application to a stereotype in the UML tool, configuring properties of the stereotype from the property set of the element and configuring features of the stereotype by using a script language of the UML tool.

Inventors:
ANTONY REETHAL JERIN JEYASINGH (IN)
NALLAGOUNDAR SENGODAN BABU (IN)
Application Number:
PCT/IN2012/000435
Publication Date:
December 27, 2013
Filing Date:
June 19, 2012
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
INFOSYS LTD (IN)
ANTONY REETHAL JERIN JEYASINGH (IN)
NALLAGOUNDAR SENGODAN BABU (IN)
International Classes:
G06F17/00
Foreign References:
US20100088667A12010-04-08
US7712065B22010-05-04
US20090150856A12009-06-11
US20100023922A12010-01-28
Download PDF:
Claims:
We Claim:

1. A computer implemented method for customizing a Unified Modelling Language (UML) tool for supporting a software application, wherein the UML tool is implemented on a first software platform and the software application is implemented on a second software platform, the method comprising: mapping an element of the software-application to a stereotype in the UML tool, the element of the software application having a set of properties; designing the stereotype by using the set of properties of the mapped element of the software application; and configuring features of the designed stereotype using a scripting language of the UML tool.

2. The method as claimed in claim 1, wherein the steps of mapping, designing and configuring are done by using a batch file.

3. The method as claimed in claim 2, wherein the batch file updates a system registry with the elements of the software application.

4. The method as claimed in claim 3, wherein the batch file further provides predesigned patterns for code design and generation for the software application.

5. The method as claimed in claim 3, wherein the batch file further provides menu options in the UML tool for the software application, the menu options being used to design and generate code for the software application.

6. The method as claimed in claim 1, wherein the scripting language of the UML tool is used to build a module for code design, code generator, and reverse engineering for the software application.

7. The method as claimed in claim 1, wherein additional software application related scripts and options are configured by remote login to a unix machine.

8. The method as claimed in claim 1, wherein the UML tool is refreshed periodically to update the software application related elements and options.

9. A computer implemented system for customizing a UML tool for supporting a software application, wherein the UML tool is implemented on a first software platform and the software application is implemented on a second software platform, the system comprising: a mapping module for mapping an element of the software application to a stereotype in the UML tool, the element of the software application having a set of properties; a designing module for designing the stereotype by using the set of properties of the mapped element of the software application; and a configuring module for configuring features of the designed element using a scripting language of the UML tool.

10. The system as claimed in claim 9, wherein a batch file is used for the steps of mapping, designing and configuring.

11. The system as claimed in claim 10,. wherein the batch file comprises an updating module to update a system registry with the elements of the software application.

12. The system as claimed in claim 11 , wherein the batch file further comprises module for providing predesigned patterns for code design and generation for the software application.

13. The system as claimed in claim 11 , wherein the batch file further provides menu options in the UML tool for the software application, the menu options being used to design and generate code for the software application.

14. The system as claimed in claim 9, wherein the scripting language of the UML tool is used to build a module for code design, code generator, and reverse engineering for the software application.

15. The system as claimed in claim 9, wherein additional software application related scripts and options are configured by remote login to a unix machine.

16. The system as claimed in claim 9, wherein the UML tool has a refreshing module to periodically refresh to update the software application related elements and options.

17. A computer program product for customizing a UML tool for supporting a software application, wherein the UML tool is implemented on a first software platform and the software application is implemented on a second software platform, the computer program product consisting of a plurality of program instructions stored on a tangible computer readable media which when run upon a computer processor carries out steps for transmitting the transaction identifier, the program instructions comprising: a mapping module for mapping an element of the software application to a stereotype in the UML tool, the element of the software application having a set of properties; a designing module for designing the stereotype by using the set of properties of the mapped element of the software application; and a configuring module for configuring features of the designed element using a scripting language of the UML tool.

18. The computer program product as claimed in claim 17, wherein a batch file is used for the steps of mapping, designing and configuring.

19. The computer program product as claimed in claim 18, wherein the batch file comprises an updating module to update a system registry with the elements of the software application.

20. The computer program product as claimed in claim 18, wherein the batch file further comprises module for providing predesigned patterns for code design and generation for the software application.

21. The computer program product as claimed in claim 19, wherein the batch file further provides menu options in the UML tool for the software application, the menu options being used to design and generate code for the software application.

22. The computer program product as claimed in claim 17, wherein the scripting language of the UML tool is used to build a module for code design, code generator, and reverse engineering for the software application.

23. The computer program product as claimed in claim 17, wherein additional software application related scripts and options are configured by remote login to a unix machine.

24. The computer program product as claimed in claim 17, wherein the UML tool has a refreshing module to periodically refresh to update the software application related elements and options.

Description:
A COMPUTER IMPLEMENTED METHOD AND SYSTEM FOR CUSTOMIZING A

UNIFIED MODELLING LANGUAGE TOOL

FIELD OF INVENTION

[0001] The present invention relates to a computer implemented method and system for customizing a unified modelling language (UML) tool. More specifically it relates to enabling a UML tool based on one software platform, to support a software application based on another software platform.

BACKGROUND OF THE INVENTION

[0002] Unified Modeling Tools are software tools used for the visual representation of project designs. They support software applications that are implemented using object oriented languages like C++, JAVA. Such tools use Unified Modeling Language (UML) for designing UML diagrams, and also generate skeleton code as per the diagrams. The requirements of the code to be generated are provided as input in a particular format. The tool generates the UML diagram and code template, or skeleton code as output.

[0003] Unified Modeling Language (UML) is a standardized general-purpose modeling language in the field of software engineering. The standard is managed, and was created by, the Object Management Group. It uses graphical notations to generate visual models of complex software applications. This can be used during various stages of software development lifecycle to visually represent the functionalities executed in each stage.

[0004] However the unified modeling tools can only be used for software applications that are implemented using object oriented language. There are no existing design tools that support non- object oriented application projects that are implemented using structured programming languages like C. Legacy applications that were developed using structured programming language like C do not have any Unified Modeling Tool to design their projects. The projects that are developed using structured languages like C use conventional methods like Microsoft Word Document to prepare their project design.

[0005] Accordingly a method and system is required to overcome the above drawbacks and provide a unified modeling tool for applications that are implemented using structured programming languages.

SUMMARY

[0006] The instant invention provides a computer implemented method for customizing a UML tool for supporting a software application, wherein the UML tool is implemented on a first software platform and the software application is implemented on a second software platform, the method comprising mapping an element of the software application to a stereotype in the UML tool, the mapped element of the software having a set of properties; designing the stereotype by using the set of properties of the mapped element of the software application; and configuring features of the designed stereotype using a scripting language of the UML tool.

[0007] Further, the instant invention provides a computer implemented system for customizing a UML tool for supporting a software application, wherein the UML tool is implemented on a first software platform and the software application is implemented on a second software platform, the system comprising a mapping module for mapping an element of the software application to a stereotype in the UML tool, the element of the software application having a set of properties; a designing module for designing the stereotype by using the set of properties of the mapped element of the software; and a configuring module for configuring features of the designed element using a scripting language of the UML tool.

[0008] The instant invention also provides a computer program product for customizing a UML tool for supporting a software application, wherein the UML tool is implemented on a first software platform and the software application is implemented on a second software platform, the computer program product consisting of a plurality of program instructions stored on a tangible computer readable media which when run upon a computer processor carries out steps for transmitting the transaction identifier, the program instructions comprising a mapping module for mapping an element of the software application to a stereotype in the UML tool, the element of the software application having a set of properties; a designing module for designing the stereotype by using the set of properties of the mapped element of the software; and a configuring module for configuring features of the designed element using a scripting language of the UML tool.

BRIEF DESCRIPTION OF DRAWINGS

[0009] Fig. 1 describes a preferred embodiment of the process of the present invention;

[0010] Fig 2 describes the basic computer program structure where a preferred embodiment of the instant invention can be implemented.

DETAILED DESCRIPTION OF THE DRAWINGS

[0011] The following description is full and informative description of the best method and system presently contemplated for carrying out the present invention, which is known to the inventors at the time of filing the patent application. Of course, many modifications and adaptations will be apparent to those skilled in the relevant arts in view of the following description, in view of the accompanying drawings and the appended claims. While the system and method described herein are provided with a certain degree of specificity, the present technique may be implemented with either greater or lesser specificity, depending on the needs of the client. Further, some of the features of the present technique may be used to advantage without the corresponding use of other features described in the following paragraphs. As such, the present description should be considered as merely illustrative of the principles of the present technique and not in limitation thereof, since the present technique is defined solely by the claims.

[0012] The following description is presented to enable a person of ordinary skill in the art to make and use the invention and is provided in the context of the requirement for obtaining a patent. The present description is the best presently contemplated method for carrying out the present invention. Various modifications to the preferred embodiment will be readily apparent to those skilled in the art and the generic principles of the present invention may be applied to other embodiments, and some features of the present invention may be used without the corresponding use of other features. Accordingly, the present invention is not intended to be limited to the embodiment shown but is to be accorded the widest scope consistent with the principles and features described herein.

[0013] The present disclosure provides a preferred embodiment for making a UML tool implemented on one platform to support a software application and generate codes for the software application implemented on another software platform. In a preferred embodiment the UML tool is implemented on object oriented language, and the software application is implemented on structured programming language.

[0014] Fig 1 shows a process flow for a preferred embodiment of the present disclosure. A Stereotype is used to map the elements of software application to the UML tool. So each of the software application's design elements is associated with a stereotype for representing it in UML tool. The stereotype is used to differentiate multiple design elements designed using same elements like packages/classes. For example, let an entity be designed as packages in a UML tool. Even though both are packages, the stereotypes are used in identifying it as the same entity. (101)

[0015] The property set is a collection of properties used to capture details about the element being designed. E.g., For a Table (class with stereotype as "Table"), the properties would be all those available in tspec file like Table Name, Synonym, Table comments, Module id etc. (102)

[0016] The name of the property set is same as the stereotype of the corresponding element of the software application e.g., an element with stereotype "SSPC" will have the property name also "SSPC".

[0017] The UML tool have a scripting language to extend its features and functionalities based on the needs. This is nothing but an extension over some known script language. This language is used in building in-house code generator, reverse engineering tool, Report Generator etc. (103) [0018] For achieving the above mentioned steps of customizing a UML tool, a preferred embodiment of the present disclosure uses a batch file. The batch file is downloaded to the tool installation folder i.e.,<DRTVE>:\Program Files\tool

[0019] In a preferred embodiment, on running the batch file, the script will update the system registry for the new Add-in. On being asked for confirmation for updating the Registry, the user has to agree for the updation. If any notepad file appears during this step, user should save that notepad file. After opening regedit, the saved file is imported.

[0020] In a further embodiment, on updating the registry, the UML tool is update with various patterns of the software application, one of which can be chosen for the code generation or design. The batch file also customizes the property file of the various elements of the tool, to incorporate the software application specific features. The UML tool gets a new tab dedicated for the software application. Further, the menu file of the UML tool also displays options for the software application.

[0021] In a preferred embodiment the batch file contains the software application specific stereotypes sets and compiled scripts for code generation, design etc. In an embodiment, the batch file also contains compiled script for reverse engineering.

[0022] In one embodiment, some of the scripts connect to unix machine for processing. A remote login is done to the unix machine for additional scripts and options of the software application.

[0023] In an embodiment a computer implemented system is used to implement modules for customizing a UML tool for supporting a software application, wherein the UML tool is implemented on a first software platform and the software application is implemented on a second software platform.The system comprises a mapping module for mapping an element of the software application to a stereotype in the UML tool, the element of the software application having a set of properties; a designing module for designing the stereotype by using the set of properties of the mapped element of the software; and a configuring module for configuring features of the designed element using a scripting language of the UML tool. [0024] FIG. 2 is a system illustrating a generalized computer network arrangement, in one embodiment of the present technique.

[0025]

[0026] Exemplary Computing Environment

[0027] One or more of the above-described techniques can be implemented in or involve one or more computer systems. Figure 2 illustrates a generalized example of a computing environment 300. The computing environment 300 is not intended to suggest any limitation as to scope of use or functionality of described embodiments.

[0028] With reference to Figure 2, the computing environment 300 includes at least one processing unit 310 and memory 320. In Figure 2, this most basic configuration 330 is included within a dashed line. The processing unit 310 executes computer-executable instructions and may be a real or a virtual processor. In a multi-processing system, multiple processing units execute computer-executable instructions to increase processing power. The memory 320 may be volatile memory (e.g., registers, cache, RAM), non-volatile memory (e.g., ROM, EEPROM, flash memory, etc.), or some combination of the two. In some embodiments, the memory 320 stores software 380 implementing described techniques.

[0029] A computing environment may have additional features. For example, the computing environment 300 includes storage 340, one or more input devices 350, one or more output devices 360, and one or more communication connections 370. An interconnection mechanism (not shown) such as a bus, controller, or network interconnects the components of the computing environment 300. Typically, operating system software (not shown) provides an operating environment for other software executing in the computing environment 300, and coordinates activities of the components of the computing environment 300.

[0030] The storage 340 may be removable or non-removable, and includes magnetic disks, magnetic tapes or cassettes, CD-ROMs, CD-RWs, DVDs, or any other medium which can be used to store information and which can be accessed within the computing environment 300. In some embodiments, the storage 340 stores instructions for the software 380. [0031] The input device(s) 350 may be a touch input device such as a keyboard, mouse, pen, trackball, touch screen, or game controller, a voice input device, a scanning device, a digital camera, or another device that provides input to the computing environment 300. The output device(s) 360 may be a display, printer, speaker, or another device that provides output from the computing environment 300.

[0032] The communication connection(s) 370 enable communication over a communication medium to another computing entity. The communication medium conveys information such as computer-executable instructions, audio or video information, or other data in a modulated data signal. A modulated data signal is a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, commumcation media include wired or wireless techniques implemented with an electrical, optical, RF, infrared, acoustic, or other carrier.

[0033] Implementations can be described in the general context of computer-readable meedia. Computer-readable media are any available media that can be accessed within a computing environment. By way of example, and not limitation, within the computing environment 300, computer-readable media include memory 320, storage 340, communication media, and combinations of any of the above.