US20060130007A1 - Computer method and apparatus for automating translation to a modeling language - Google Patents

Computer method and apparatus for automating translation to a modeling language Download PDF

Info

Publication number
US20060130007A1
US20060130007A1 US11/000,552 US55204A US2006130007A1 US 20060130007 A1 US20060130007 A1 US 20060130007A1 US 55204 A US55204 A US 55204A US 2006130007 A1 US2006130007 A1 US 2006130007A1
Authority
US
United States
Prior art keywords
language
wizard
depiction
modeling language
displaying
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
US11/000,552
Inventor
Lee Ackerman
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Priority to US11/000,552 priority Critical patent/US20060130007A1/en
Assigned to INTERNATIONAL BUSINESS MACHINES CORPORATION reassignment INTERNATIONAL BUSINESS MACHINES CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: ACKERMAN, LEE MURRAY
Publication of US20060130007A1 publication Critical patent/US20060130007A1/en
Priority to US12/604,272 priority patent/US8352927B2/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B19/00Teaching not covered by other main groups of this subclass
    • G09B19/0053Computers, e.g. programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/10Requirements analysis; Specification techniques

Definitions

  • Unified Modeling Language (UML) which combines some of the foregoing and industry best practices.
  • the UML is a visual modeling language (with formal syntax and semantics) for communicating a model or conceptionalization.
  • the modeling language specification specifies modeling elements, notation and usage guidelines and not order of activities, specification of artifacts, repository interface, storage, run-time behavior and so forth.
  • a “problem” is posed in terms of a customer's needs and requirements and may be referred to as the business problem system.
  • the software designer develops a “solution” software product and or service that addresses the problem.
  • the UML syntax enables software designers to express (specify and document) the subject problems and solutions in a standardized manner, while the UML semantics enable knowledge about the subject system to be captured and leveraged during the problem solving phase.
  • UML in a Nutshell
  • Simon Si Alhir published by O'Reilly & Associates, September 1998.
  • extension without reimplementation
  • core object oriented concepts analysis and design
  • UML has proven itself as a way to visualize and model systems—it still is not utilized by all practitioners. For many, once they are familiar with a specific implementation language, it seems difficult to invest additional time learning another language (UML). A solution is needed to lower the investment needed to incorporate UML as part of a user's skillset.
  • the present invention addresses the foregoing problems of the prior art.
  • the present invention provides a computer method and apparatus that automates (and effectively teaches) translation of implementation language-specific constructs to UML (or other modeling language) during wizard workflow.
  • the invention method includes:
  • mapping from the generated code to a modeling language e.g., UML
  • the present invention provides a method and means (system) for effectively teaching the modeling language to users.
  • FIG. 1 is a block diagram of a preferred embodiment of the present invention.
  • FIGS. 2 and 3 are schematic views of a Wizard with UML visualization pane in the embodiment of FIG. 1 .
  • FIG. 4 is a schematic illustration of a computer network environment in which embodiments of the present invention may be practiced.
  • FIG. 5 is a block diagram of a computer of the network of FIG. 4 .
  • Applicant provides an integration of UML within the wizards that are available within integrated development environments (IDE's).
  • IDE integrated development environments
  • FIGS. 1 through 3 are illustrative.
  • FIG. 1 Illustrated in FIG. 1 is an integrated development environment (IDE) 11 in which the principles of the present invention are implemented.
  • IDE 11 integrated development environment
  • wizards 13 a, b . . . n are wizards 13 a, b . . . n.
  • Each wizard 13 is directed to a respective implementation language, and as such prompts the user for language specific details (as will be detailed in FIGS. 2 and 3 ).
  • each wizard 13 Coupled to each wizard 13 is a respective UML language mapper 15 .
  • the respective UML language mapper 15 provides the mapping between UML and the respective implementation language of the wizard 13 .
  • Example mappers 15 are:
  • the mapper 15 outputs (displays to the user) the UML diagram corresponding to the wizard generated code in real time, i.e., during user input to and operation of the wizard 13 .
  • the user is provided with an automated visual depiction of his coding work using UML.
  • the automated visual depiction in UML is displayed side by side with the wizard prompts responsible for producing the subject code.
  • FIGS. 2 and 3 are illustrative.
  • a user when working with a wizard 13 within an IDE 11 , a user is presented with a UML visual depiction of the language specific construct that is being specified.
  • the UML visual depiction is preferably displayed in a panel 23 within the wizard screen 21 and is updated in a real-time fashion as the user enters/inputs details within the wizard 13 .
  • a Java class creation wizard prompts the user for name of the new class, superclass and inheritance (selected by the user).
  • the present invention displays in adjacent panel 23 a UML element 31 representing a Java class, with the name “HourlyEmployee”.
  • the invention system displays in panel 23 the corresponding UML visual depiction of the interface (e.g., “Observable” and “Serializable”) 33 as shown in FIG. 3 .
  • the invention system displays in panel 23 the UML diagram updated in real time accordingly. That is, the UML element “Employee” 35 and its class relation to UML element “Hourly Employee 31 ” are depicted in UML terms.
  • a final version of the UML diagram is presented summarizing the results of the wizard 13 .
  • the user is provided with an option to save the diagram within his project. If during the course of the wizard workflow, the user changes an attribute that has been specified (in the implementation language side), the UML diagram is updated in the UML panel 23 side to reflect the current status of the wizard 13 and its corresponding screens 21 . This allows the user to see the impact (in UML terms) of the choices that have been made within the wizard 13 . With such visual depiction, side by side and in real time with the wizard language specification, the present invention assists the user in learning UML.
  • Types of wizards that are currently found include: EJB, Class, Access Bean—and many others.
  • the present invention solution applies to all types of wizards across any programming language that can be represented using UML or a subject modeling language.
  • FIG. 4 illustrates a computer network or similar digital processing environment in which the present invention may be implemented.
  • Client computer(s)/devices 50 and server computer(s) 60 provide processing, storage, and input/output devices executing application programs and the like.
  • Client computer(s)/devices 50 can also be linked through communications network 70 to other computing devices, including other client devices/processes 50 and server computer(s) 60 .
  • Communications network 70 can be part of a remote access network, a global network (e.g., the Internet), a worldwide collection of computers, Local area or Wide area networks, and gateways that currently use respective protocols (TCP/IP, Bluetooth, etc.) to communicate with one another.
  • Other electronic device/computer network architectures are suitable.
  • FIG. 5 is a diagram of the internal structure of a computer (e.g., client processor/device 50 or server computers 60 ) in the computer system of FIG. 4 .
  • Each computer 50 , 60 contains system bus 80 , where a bus is a set of hardware lines used for data transfer among the components of a computer or processing system.
  • Bus 80 is essentially a shared conduit that connects different elements of a computer system (e.g., processor, disk storage, memory, input/output ports, network ports, etc.) that enables the transfer of information between the elements.
  • I/O device interface 82 Attached to system bus 80 is I/O device interface 82 for connecting various input and output devices (e.g., keyboard, mouse, displays, printers, speakers, etc.) to the computer 50 , 60 .
  • Network interface 86 allows the computer to connect to various other devices attached to a network (e.g., network 70 of FIG. 4 ).
  • Memory 90 provides volatile storage for computer software instructions (e.g., Program Routines 92 and Data 94 ) used to implement an embodiment of the present invention as described above.
  • Disk storage 95 provides non-volatile storage for computer software instructions 92 and data 94 used to implement an embodiment of the present invention.
  • Central processor unit 84 is also attached to system bus 80 and provides for the execution of computer instructions.
  • the processor routines 92 and data 94 are a computer program product (generally referenced 92 ), including a computer readable medium (e.g., a removable storage medium such as one or more DVD-ROM's, CD-ROM's, diskettes, tapes, etc.) that provides at least a portion of the software instructions for the invention system.
  • Computer program product 92 can be installed by any suitable software installation procedure, as is well known in the art.
  • at least a portion of the software instructions may also be downloaded over a cable, communication and/or wireless connection.
  • the invention programs are a computer program propagated signal product 107 embodied on a propagated signal on a propagation medium (e.g., a radio wave, an infrared wave, a laser wave, a sound wave, or an electrical wave propagated over a global network such as the Internet, or other network(s)).
  • a propagation medium e.g., a radio wave, an infrared wave, a laser wave, a sound wave, or an electrical wave propagated over a global network such as the Internet, or other network(s)
  • a propagation medium e.g., a radio wave, an infrared wave, a laser wave, a sound wave, or an electrical wave propagated over a global network such as the Internet, or other network(s)
  • Such carrier medium or signals provide at least a portion of the software instructions for the present invention routines/program 92 .
  • the propagated signal is an analog carrier wave or digital signal carried on the propagated medium.
  • the propagated signal may be
  • the propagated signal is a signal that is transmitted over the propagation medium over a period of time, such as the instructions for a software application sent in packets over a network over a period of milliseconds, seconds, minutes, or longer.
  • the computer readable medium of computer program product 92 is a propagation medium that the computer system 50 may receive and read, such as by receiving the propagation medium and identifying a propagated signal embodied in the propagation medium, as described above for computer program propagated signal product.
  • carrier medium or transient carrier encompasses the foregoing transient signals, propagated signals/medium, storage medium and the like.
  • the present invention may be employed in an Application Developer for WebSphere Software or the like.
  • the user fills out a code focused wizard and can later view the UML depiction by taking the code and adding it to a visualization.
  • the user is able to work in code, and visualize—but the two constructs are not connected during the wizard and the user must choose (make a user command or selection) to see the visualization.
  • bringing the visualization into the wizard workflow is preferred.
  • the user must seek out the UML visualization.

Abstract

Method and apparatus for automating translation of language specific constructs to UML (Unified Modeling Language) during wizard workflow. The invention provides an integration of UML mapping within the wizards that are available within integrated development environments (IDE's). As the user specifies the language specific details within a wizard, the appropriate corresponding UML element (depiction) is drawn and displayed within the wizard. This provides a user with an automated visual depiction of his work utilizing UML and yet allows him to work in the programming language of the wizard. Further, this allows the user to learn UML. Other modeling languages may be applied.

Description

    BACKGROUND OF THE INVENTION
  • With the proliferation of software products and services, attempts have been made to codify and/or standardize the designing of software and software architecture. Examples include:
  • The Booch Method and Modeling Language (see “Object Oriented Analysis and Design” by Grady Booch);
  • James Rumbaugh and Associates' Object Modeling Technique (OMT);
  • the Object Oriented Software Engineering (OOSE) method by Ivar Jacobson; and
  • the Unified Modeling Language (UML) which combines some of the foregoing and industry best practices.
  • The UML is a visual modeling language (with formal syntax and semantics) for communicating a model or conceptionalization. Thus the modeling language specification specifies modeling elements, notation and usage guidelines and not order of activities, specification of artifacts, repository interface, storage, run-time behavior and so forth. In general, at the modeling level a “problem” is posed in terms of a customer's needs and requirements and may be referred to as the business problem system. The software designer develops a “solution” software product and or service that addresses the problem. The UML syntax enables software designers to express (specify and document) the subject problems and solutions in a standardized manner, while the UML semantics enable knowledge about the subject system to be captured and leveraged during the problem solving phase. See “UML in a Nutshell” by Simon Si Alhir, published by O'Reilly & Associates, September 1998. As such, the UML enables the sharing of information (including prior solution portions) and extension (without reimplementation) of core object oriented concepts (analysis and design) during the iterative problem-solving process for designing software products.
  • Although UML has proven itself as a way to visualize and model systems—it still is not utilized by all practitioners. For many, once they are familiar with a specific implementation language, it seems difficult to invest additional time learning another language (UML). A solution is needed to lower the investment needed to incorporate UML as part of a user's skillset.
  • SUMMARY OF THE INVENTION
  • The present invention addresses the foregoing problems of the prior art. In particular, the present invention provides a computer method and apparatus that automates (and effectively teaches) translation of implementation language-specific constructs to UML (or other modeling language) during wizard workflow.
  • In a preferred embodiment, the invention method includes:
  • (a) using a wizard for specifying language-specific constructs in a respective implementation language;
  • (b) from the wizard, generating code in the respective implementation language;
  • (c) mapping from the generated code to a modeling language (e.g., UML), and producing, in terms of the modeling language, a depiction of the generated code; and
  • (d) displaying the produced depiction on screens of the wizard, including displaying updates of the depiction throughout user input into the wizard. Alternatively, displaying is upon user command within or outside of the wizard.
  • The displaying of the produced depiction and updates thereto, during, throughout and/or outside of the workflow of the wizard, assists the user in learning the modeling language. As such, the present invention provides a method and means (system) for effectively teaching the modeling language to users.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • The foregoing and other objects, features and advantages of the invention will be apparent from the following more particular description of preferred embodiments of the invention, as illustrated in the accompanying drawings in which like reference characters refer to the same parts throughout the different views. The drawings are not necessarily to scale, emphasis instead being placed upon illustrating the principles of the invention.
  • FIG. 1 is a block diagram of a preferred embodiment of the present invention.
  • FIGS. 2 and 3 are schematic views of a Wizard with UML visualization pane in the embodiment of FIG. 1.
  • FIG. 4 is a schematic illustration of a computer network environment in which embodiments of the present invention may be practiced.
  • FIG. 5 is a block diagram of a computer of the network of FIG. 4.
  • DETAILED DESCRIPTION OF THE INVENTION
  • With the present invention, Applicant provides an integration of UML within the wizards that are available within integrated development environments (IDE's). In the resulting system as the user specifies the language specific details within a wizard, the appropriate UML elements are drawn and displayed for him within the wizard.
  • The advantage of this solution is that it provides a user with an automated visual depiction of his work utilizing UML and yet allows him to work in the programming language where he has made a learning investment. The positive results of this scenario are that the user consequently and eventually learns UML and is also given a visualization of his work.
  • For example, when creating an Enterprise JavaBean, a user provides details on a number of aspects of the EJB such as the type of bean, the bean name, the superclass of the bean, the home and remote interfaces, etc. Currently an alternative approach in tools such as XDE, is that the user can draw the solution using UML—and rather than enter the details in the wizard, he would draw the details in a diagram. This requires the user to understand both Java and UML as he needs to translate the concepts that he understands from Java (bean type, superclass, home interface, etc.) into its UML representation. For experienced UML and Java users, this is possible and an acceptable workflow. For those new to UML and unsure of the mapping between UML and Java—it is not a workflow that is likely to lead to success. A user will become frustrated with the lack of automated support describing the mapping between the two languages, and then avoid the usage of UML and just proceed with working in Java. As a result, the user does not learn how to use UML nor does he receive any of the benefits of working with UML.
  • To encourage wider usage of UML, Applicant ensures that the present invention approach makes it as easy as possible for users to learn UML and the mapping between UML and specific implementation languages. In particular, the present invention provides ways in which the UML necessary to represent a mapping between UML and a specific implementation language is generated automatically for the user. FIGS. 1 through 3 are illustrative.
  • Illustrated in FIG. 1 is an integrated development environment (IDE) 11 in which the principles of the present invention are implemented. Within IDE 11 are wizards 13 a, b . . . n. Each wizard 13 is directed to a respective implementation language, and as such prompts the user for language specific details (as will be detailed in FIGS. 2 and 3).
  • Coupled to each wizard 13 is a respective UML language mapper 15. For a given wizard 13, the respective UML language mapper 15 provides the mapping between UML and the respective implementation language of the wizard 13. Example mappers 15 are:
  • UML and C++—see “UML and C++: A Practical Guide to Object-Oriented Development,” 2nd Ed. by Richard Lee, William Tepfenhart, November 2000 (Prentice Hall publisher);
  • UML and Visual Basic—see “Developing Applications with Visual Basic and UML” in the Addison-Wesley Object Technology Series, 1st. Ed., by Paul R. Reed, November 1999 (Addison-Wesley Publishing Co.); and
  • UML and J2EE—see “Developing Enterprise Java Applications with J2EE and UML,” by Khawar Zaman Ahmed and Cary E. Umrysh, December 2001 (Addison-Wesley Publishing Co.) For a given wizard 13, the wizard 13 prompts the user for language specific details. In turn, the user enters appropriate input with respect to the implementation language supported by the wizard 13. Responsive to this user input, wizard 13 generates code in the respective implementation language. The mapper 15 coupled to wizard 13 receives the generated code and produces a corresponding UML representation of the generated code. That is, mapper 15 translates from the implementation language of the generated code to UML and draws the corresponding UML diagram for the code.
  • The mapper 15 outputs (displays to the user) the UML diagram corresponding to the wizard generated code in real time, i.e., during user input to and operation of the wizard 13. As a result, the user is provided with an automated visual depiction of his coding work using UML. In a preferred embodiment, the automated visual depiction (in UML) is displayed side by side with the wizard prompts responsible for producing the subject code. FIGS. 2 and 3 are illustrative.
  • With reference to FIG. 2, when working with a wizard 13 within an IDE 11, a user is presented with a UML visual depiction of the language specific construct that is being specified. The UML visual depiction is preferably displayed in a panel 23 within the wizard screen 21 and is updated in a real-time fashion as the user enters/inputs details within the wizard 13. In the illustrated example, a Java class creation wizard prompts the user for name of the new class, superclass and inheritance (selected by the user). Upon the user typing in “HourlyEmployee” in the name field 25 of the wizard screen 21, the present invention displays in adjacent panel 23 a UML element 31 representing a Java class, with the name “HourlyEmployee”.
  • As the user specifies some interfaces 27 in the wizard screen 21, the invention system displays in panel 23 the corresponding UML visual depiction of the interface (e.g., “Observable” and “Serializable”) 33 as shown in FIG. 3. Likewise, as the user specifies superclass “ . . . Employee” 29 in wizard screen 21 (with respect to the Java language), the invention system displays in panel 23 the UML diagram updated in real time accordingly. That is, the UML element “Employee” 35 and its class relation to UML element “Hourly Employee 31 ” are depicted in UML terms.
  • On the last screen of the wizard 13, a final version of the UML diagram is presented summarizing the results of the wizard 13. The user is provided with an option to save the diagram within his project. If during the course of the wizard workflow, the user changes an attribute that has been specified (in the implementation language side), the UML diagram is updated in the UML panel 23 side to reflect the current status of the wizard 13 and its corresponding screens 21. This allows the user to see the impact (in UML terms) of the choices that have been made within the wizard 13. With such visual depiction, side by side and in real time with the wizard language specification, the present invention assists the user in learning UML.
  • Types of wizards that are currently found include: EJB, Class, Access Bean—and many others. The present invention solution applies to all types of wizards across any programming language that can be represented using UML or a subject modeling language.
  • FIG. 4 illustrates a computer network or similar digital processing environment in which the present invention may be implemented.
  • Client computer(s)/devices 50 and server computer(s) 60 provide processing, storage, and input/output devices executing application programs and the like. Client computer(s)/devices 50 can also be linked through communications network 70 to other computing devices, including other client devices/processes 50 and server computer(s) 60. Communications network 70 can be part of a remote access network, a global network (e.g., the Internet), a worldwide collection of computers, Local area or Wide area networks, and gateways that currently use respective protocols (TCP/IP, Bluetooth, etc.) to communicate with one another. Other electronic device/computer network architectures are suitable.
  • FIG. 5 is a diagram of the internal structure of a computer (e.g., client processor/device 50 or server computers 60) in the computer system of FIG. 4. Each computer 50, 60 contains system bus 80, where a bus is a set of hardware lines used for data transfer among the components of a computer or processing system. Bus 80 is essentially a shared conduit that connects different elements of a computer system (e.g., processor, disk storage, memory, input/output ports, network ports, etc.) that enables the transfer of information between the elements. Attached to system bus 80 is I/O device interface 82 for connecting various input and output devices (e.g., keyboard, mouse, displays, printers, speakers, etc.) to the computer 50, 60. Network interface 86 allows the computer to connect to various other devices attached to a network (e.g., network 70 of FIG. 4). Memory 90 provides volatile storage for computer software instructions (e.g., Program Routines 92 and Data 94) used to implement an embodiment of the present invention as described above. Disk storage 95 provides non-volatile storage for computer software instructions 92 and data 94 used to implement an embodiment of the present invention. Central processor unit 84 is also attached to system bus 80 and provides for the execution of computer instructions.
  • In one embodiment, the processor routines 92 and data 94 are a computer program product (generally referenced 92), including a computer readable medium (e.g., a removable storage medium such as one or more DVD-ROM's, CD-ROM's, diskettes, tapes, etc.) that provides at least a portion of the software instructions for the invention system. Computer program product 92 can be installed by any suitable software installation procedure, as is well known in the art. In another embodiment, at least a portion of the software instructions may also be downloaded over a cable, communication and/or wireless connection. In other embodiments, the invention programs are a computer program propagated signal product 107 embodied on a propagated signal on a propagation medium (e.g., a radio wave, an infrared wave, a laser wave, a sound wave, or an electrical wave propagated over a global network such as the Internet, or other network(s)). Such carrier medium or signals provide at least a portion of the software instructions for the present invention routines/program 92. In alternate embodiments, the propagated signal is an analog carrier wave or digital signal carried on the propagated medium. For example, the propagated signal may be a digitized signal propagated over a global network (e.g., the Internet), a telecommunications network, or other network. In one embodiment, the propagated signal is a signal that is transmitted over the propagation medium over a period of time, such as the instructions for a software application sent in packets over a network over a period of milliseconds, seconds, minutes, or longer. In another embodiment, the computer readable medium of computer program product 92 is a propagation medium that the computer system 50 may receive and read, such as by receiving the propagation medium and identifying a propagated signal embodied in the propagation medium, as described above for computer program propagated signal product.
  • Generally speaking, the term “carrier medium” or transient carrier encompasses the foregoing transient signals, propagated signals/medium, storage medium and the like.
  • While this invention has been particularly shown and described with references to preferred embodiments thereof, it will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the scope of the invention encompassed by the appended claims.
  • For example, other modeling languages instead of UML may be the target of translation from the subject programming implementation language. Elements 31, 33, 35 in panel 23 would thus be drawn in that modeling language in a manner similar to that described above for UML.
  • In another example, the present invention may be employed in an Application Developer for WebSphere Software or the like. In such an embodiment, the user fills out a code focused wizard and can later view the UML depiction by taking the code and adding it to a visualization. The user is able to work in code, and visualize—but the two constructs are not connected during the wizard and the user must choose (make a user command or selection) to see the visualization.
  • As discussed previously, in certain embodiments of this invention, bringing the visualization into the wizard workflow is preferred. In this other embodiment described in the Application Developer workflow, the user must seek out the UML visualization. In addition, there is no real time connection between the wizard option selections and what is visualized. The user just gets to see (upon user command, for instance) the result of what the code wizard generated. The user can update the code and re-visualize, but again it happens outside of or not so closely coupled to the wizard workflow.

Claims (22)

1. A method for translating language specific constructs to a modeling language, comprising the steps of:
providing a mapper, the mapper (i) mapping from code generated in an implementation language to a modeling language, and (ii) producing, in terms of
the modeling language, a depiction of the generated code;
coupling the mapper to a wizard for specifying language specific constructs in the implementation language, said coupling enabling modeling language depictions to be displayed relative to wizard workflow.
2. A method as claimed in claim 1 wherein the modeling language is UML; and
the step of coupling enables UML depictions to be displayed during wizard workflow.
3. A method as claimed in claim 1 wherein said enabling modeling language depictions includes: (i) displaying the modeling language depiction during user input into the wizard for specifying a language-specific construct, and (ii) updating the modeling language depiction and displaying the updated depiction during user further input into the wizard.
4. A method as claimed in claim 3 wherein said displaying and said updating and displaying is in a manner that effectively teaches the modeling language to the user.
5. A method as claimed in claim 1 wherein said coupling enables modeling language depictions to be displayed as part of screen views of the wizard.
6. Computer apparatus for translating language specific constructs to a modeling language, comprising:
a wizard for specifying language-specific constructs in a respective implementation language;
a mapper coupled to receive from the wizard code generated in the implementation language, the mapper producing, in terms of the modeling language, a depiction of the generated code; and
display means for displaying the produced depiction throughout screens of the wizard.
7. Computer apparatus as claimed in claim 6 wherein the modeling language is UML, and the mapper produces UML depictions.
8. Computer apparatus as claimed in claim 6 wherein the display means further:
displays the modeling language depiction during user input into the wizard; and
updates the modeling language depiction and displays the updated depiction during user further input into the wizard.
9. Computer apparatus as claimed in claim 8 wherein the display means displays the modeling language depiction and updated modeling language depiction in a manner that effectively teaches the modeling language to the user.
10. Computer apparatus as claimed in claim 6 wherein said display means includes a pane embedded in the screens of the wizard.
11. Computer apparatus as claimed in claim 6 wherein the mapper and display means enable display of the modeling language depiction upon user command within or outside of the wizard.
12. A carrier medium comprising computer readable code for controlling a processor to translate language-specific constructs to a modeling language, by carrying out the steps of:
within a wizard for specifying language-specific constructs in a respective implementation language:
(a) obtaining user specifications of a language-specific construct, the user specification being with respect to the respective implementation language;
(b) generating code in the respective implementation language in accordance with the user specification;
(c) mapping from the generated code to a modeling language, and producing in terms of the modeling language a depiction of the generated code; and
(d) displaying the produced depiction in screens of the wizard.
13. A carrier medium as claimed in claim 12 wherein the modeling language is UML.
14. A carrier medium as claimed in claim 12 wherein the step of displaying includes:
displaying the modeling language depiction during user input into the wizard; and
updating the modeling language depiction and displaying the updated depiction during user further input into the wizard.
15. A carrier medium as claimed in claim 14 wherein said steps of displaying are in a manner that effectively teaches the modeling language to the user.
16. A carrier medium as claimed in claim 12 wherein the step of displaying includes displaying the produced depiction and updates thereto throughout wizard workflow.
17. A carrier medium as claimed in claim 12 wherein the step of displaying includes displaying the produced depiction upon user command within or outside of the wizard.
18. A method for teaching translation from language-specific constructs to a modeling language, comprising the steps of:
within a wizard for specifying language-specific constructs in a respective implementation language:
(a) obtaining user specifications of a language-specific construct, the user specification being with respect to the respective implementation language;
(b) generating code in the respective implementation language in accordance with the user specification;
(c) mapping from the generated code to a modeling language, and producing in terms of the modeling language a depiction of the generated code; and
(d) displaying the produced depiction in screens of the wizard.
19. A method as claimed in claim 18 wherein the modeling language is UML.
20. A method as claimed in claim 18 wherein the step of displaying includes:
displaying the modeling language depiction during user input into the wizard; and
updating the modeling language depiction and displaying the updated depiction during user further input into the wizard.
21. A method as claimed in claim 18 wherein the step of displaying includes displaying the produced depiction and updates thereto throughout wizard workflow.
22. A method as claimed in claim 18 wherein the step of displaying includes displaying the produced depiction upon user command within or outside of the wizard.
US11/000,552 2004-12-01 2004-12-01 Computer method and apparatus for automating translation to a modeling language Abandoned US20060130007A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US11/000,552 US20060130007A1 (en) 2004-12-01 2004-12-01 Computer method and apparatus for automating translation to a modeling language
US12/604,272 US8352927B2 (en) 2004-12-01 2009-10-22 Computer method and apparatus for automating translation to a modeling language

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US11/000,552 US20060130007A1 (en) 2004-12-01 2004-12-01 Computer method and apparatus for automating translation to a modeling language

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US12/604,272 Continuation US8352927B2 (en) 2004-12-01 2009-10-22 Computer method and apparatus for automating translation to a modeling language

Publications (1)

Publication Number Publication Date
US20060130007A1 true US20060130007A1 (en) 2006-06-15

Family

ID=36585562

Family Applications (2)

Application Number Title Priority Date Filing Date
US11/000,552 Abandoned US20060130007A1 (en) 2004-12-01 2004-12-01 Computer method and apparatus for automating translation to a modeling language
US12/604,272 Expired - Fee Related US8352927B2 (en) 2004-12-01 2009-10-22 Computer method and apparatus for automating translation to a modeling language

Family Applications After (1)

Application Number Title Priority Date Filing Date
US12/604,272 Expired - Fee Related US8352927B2 (en) 2004-12-01 2009-10-22 Computer method and apparatus for automating translation to a modeling language

Country Status (1)

Country Link
US (2) US20060130007A1 (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090070749A1 (en) * 2007-09-11 2009-03-12 Siemens Aktiengesellschaft Method for translating a graphical workflow in a textual description
US20090148817A1 (en) * 2007-12-05 2009-06-11 International Business Machines Corporation Management and Delivery of Embedded IDE Learning Content
US20090168785A1 (en) * 2007-12-27 2009-07-02 Ziv Glazberg Modeling non-deterministic priority queues for efficient model checking
US20140170633A1 (en) * 2012-12-14 2014-06-19 Kelvin Voon-Kit Chong Programming learning center
US10276061B2 (en) 2012-12-18 2019-04-30 Neuron Fuel, Inc. Integrated development environment for visual and text coding
US10510264B2 (en) 2013-03-21 2019-12-17 Neuron Fuel, Inc. Systems and methods for customized lesson creation and application

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11699357B2 (en) 2020-07-07 2023-07-11 Neuron Fuel, Inc. Collaborative learning system

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6018627A (en) * 1997-09-22 2000-01-25 Unisys Corp. Tool-independent system for application building in an object oriented development environment with data stored in repository in OMG compliant UML representation
US6233726B1 (en) * 1997-02-05 2001-05-15 Sybase, Inc. Development system with reference card and parameter wizard methodologies for facilitating creation of software programs
US20020198994A1 (en) * 2001-05-15 2002-12-26 Charles Patton Method and system for enabling and controlling communication topology, access to resources, and document flow in a distributed networking environment
US6502102B1 (en) * 2000-03-27 2002-12-31 Accenture Llp System, method and article of manufacture for a table-driven automated scripting architecture
US6539394B1 (en) * 2000-01-04 2003-03-25 International Business Machines Corporation Method and system for performing interval-based testing of filter rules
US20040034846A1 (en) * 2002-06-12 2004-02-19 I-Logix Inc. System, method and medium for providing dynamic model-code associativity
US6804686B1 (en) * 2002-04-29 2004-10-12 Borland Software Corporation System and methodology for providing fixed UML layout for an object oriented class browser

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5421730A (en) * 1991-11-27 1995-06-06 National Education Training Group, Inc. Interactive learning system providing user feedback
DE19640480B4 (en) * 1996-09-30 2004-04-22 Robert Bosch Gmbh High-pressure fuel storage
US6539374B2 (en) 1999-06-03 2003-03-25 Microsoft Corporation Methods, apparatus and data structures for providing a uniform representation of various types of information

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6233726B1 (en) * 1997-02-05 2001-05-15 Sybase, Inc. Development system with reference card and parameter wizard methodologies for facilitating creation of software programs
US6018627A (en) * 1997-09-22 2000-01-25 Unisys Corp. Tool-independent system for application building in an object oriented development environment with data stored in repository in OMG compliant UML representation
US6539394B1 (en) * 2000-01-04 2003-03-25 International Business Machines Corporation Method and system for performing interval-based testing of filter rules
US6502102B1 (en) * 2000-03-27 2002-12-31 Accenture Llp System, method and article of manufacture for a table-driven automated scripting architecture
US20020198994A1 (en) * 2001-05-15 2002-12-26 Charles Patton Method and system for enabling and controlling communication topology, access to resources, and document flow in a distributed networking environment
US6804686B1 (en) * 2002-04-29 2004-10-12 Borland Software Corporation System and methodology for providing fixed UML layout for an object oriented class browser
US20040034846A1 (en) * 2002-06-12 2004-02-19 I-Logix Inc. System, method and medium for providing dynamic model-code associativity

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090070749A1 (en) * 2007-09-11 2009-03-12 Siemens Aktiengesellschaft Method for translating a graphical workflow in a textual description
US8434071B2 (en) * 2007-09-11 2013-04-30 Siemens Aktiengesellschaft Method for translating a graphical workflow in a textual description
US20090148817A1 (en) * 2007-12-05 2009-06-11 International Business Machines Corporation Management and Delivery of Embedded IDE Learning Content
US20090168785A1 (en) * 2007-12-27 2009-07-02 Ziv Glazberg Modeling non-deterministic priority queues for efficient model checking
US7990980B2 (en) 2007-12-27 2011-08-02 International Business Machines Corporation Modeling non-deterministic priority queues for efficient model checking
US20140170633A1 (en) * 2012-12-14 2014-06-19 Kelvin Voon-Kit Chong Programming learning center
US9595202B2 (en) * 2012-12-14 2017-03-14 Neuron Fuel, Inc. Programming learning center
US10276061B2 (en) 2012-12-18 2019-04-30 Neuron Fuel, Inc. Integrated development environment for visual and text coding
US10510264B2 (en) 2013-03-21 2019-12-17 Neuron Fuel, Inc. Systems and methods for customized lesson creation and application
US11158202B2 (en) 2013-03-21 2021-10-26 Neuron Fuel, Inc. Systems and methods for customized lesson creation and application

Also Published As

Publication number Publication date
US8352927B2 (en) 2013-01-08
US20100042969A1 (en) 2010-02-18

Similar Documents

Publication Publication Date Title
US8196091B2 (en) Computer method and apparatus for improving programming modeling with lightweight stereotypes
US8352927B2 (en) Computer method and apparatus for automating translation to a modeling language
US9058177B2 (en) Real software components for achieving real component-based design
US6282699B1 (en) Code node for a graphical programming system which invokes execution of textual code
US7669137B2 (en) Computer method and apparatus for representing a topic in a software modeling system
US8578329B1 (en) System and method of application development using easier to redesign replaceable components
US7028222B2 (en) Target device-specific syntax and semantic analysis for a graphical program
US20040216042A1 (en) System and method for generating high-function browser widgets with full addressability
S Wile Supporting the DSL spectrum
Sottet et al. A model-driven engineering approach for the usability of plastic user interfaces
US20070011650A1 (en) Computer method and apparatus for developing web pages and applications
US20080120593A1 (en) GUI modeling of deep hierarchical data
US20080126932A1 (en) GUI modeling of knowledge base in a modeling environment
US20060036799A1 (en) Multi-platform development and execution of graphical programs
US10379817B2 (en) Computer-applied method for displaying software-type applications based on design specifications
US20020066074A1 (en) Method and system for developing and executing software applications at an abstract design level
JP2011248918A (en) System and method for interactive wireless applications with conditional ui controls and screen navigation
JP2001256050A (en) Graphical development system and method
US20030160810A1 (en) Methods and systems for internationalizing messages using parameters
US20090150856A1 (en) UML Profile Transformation Authoring Method and System
Perlman Software tools for user interface development
US20230409291A1 (en) Generating applications for various platforms by use of a no code environment
Doulgeraki et al. A development toolkit for unified web-based user interfaces
US20030033332A1 (en) Control/display unit page builder software tool
Lee et al. Beamspace domain bearing estimation for fast target localization using an array of antennas

Legal Events

Date Code Title Description
AS Assignment

Owner name: INTERNATIONAL BUSINESS MACHINES CORPORATION, NEW Y

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:ACKERMAN, LEE MURRAY;REEL/FRAME:016052/0665

Effective date: 20041129

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO PAY ISSUE FEE