Model driven development including aspect integration tool
AssigneeInternational Business Machines Corporation
InventorsJames Conallen, Eoin Lane, Harini Srinivasan
Life of this patent
Estimating the term…
Abstract
The present invention discloses a software development tool that includes a model development interface, an aspect design tool, and a model transformation engine. The model development interface can permit a developer to graphically design at least one software model. The aspect design tool for the model development interface can be configured to permit a user to specify at least one aspect to be applied to a model of the model development interface. The model transformation engine can transform a model of the model development interface having at least one aspect defined via the aspect design tool into automatically generated aspect code integrated with base language code.
Claims18
A software development tool implemented as a program for controlling computing equipment, wherein said program is stored in a non-transitory storage medium, said software development tool comprising:
- a model development interface implemented in a program that controls computing equipment, wherein said program is stored in a non-transitory storage medium, wherein said model development interface is configured to permit a developer to graphically design at least one software model;
- an aspect design tool implemented as a program for controlling computing equipment, wherein said program is stored in a non-transitory storage medium, wherein said aspect design is for the model development interface configured to permit a user to specify at least one aspect to be applied to a model of the model development interface;
- a model transformation engine implemented as a program for controlling computing equipment, wherein said program is stored in a non-transitory storage medium, wherein said aspect design is configured to transform a model of the model development interface having at least one aspect defined via the aspect design tool into automatically generated aspect code integrated with base language code;
- and
- an invocation specification tool implemented as a program for controlling computing equipment, wherein said program is stored in a non-transitory storage medium, wherein said invocation specification tool is configured to graphically indicate when the aspect specified by the aspect design tool is to be invoked relative to when a model object to which the aspect is integrated is to be invoked, wherein the model transformation engine interweaves the base code and the aspect code based upon selections made via the invocation selection tool.
A model driven architecture (MDA) transformation engine comprising:
- a set of programmatic instructions stored within a non-transitory machine readable storage medium, which when read by the machine cause the machine to perform the steps of:
- graphically presenting the design model using a software modeling application;
- identifying a class diagram model that is bound to at least one aspect;
- graphically indicating, at least one pointcut for the aspect using the software modeling application, wherein the aspect code is automatically interwoven in accordance with the pointcut;
- and
- transforming the class diagram model into base code and aspect code, wherein the base code is interwoven with the aspect code, wherein other than binding the aspect to design model using a model development tool, no manual specification of join points or pointcuts for the aspect code occurs.
A method for creating software solutions having interwoven aspect oriented programming (AOP) code comprising:
- establishing, via computing equipment executing at least one program stored in a non-transitory storage medium, a design model for a software project using a software modeling application;
- graphically presenting, via computing equipment executing at least one program stored in a non-transitory storage medium, the design model using the software modeling application;
- annotating, via computing equipment executing at least one program stored in a non-transitory storage medium, a model object as being associated with an aspect using the software modeling application;
- and
- graphically indicating, via computing equipment executing at least one program stored in a non-transitory storage medium, at least one pointcut for the aspect using the software modeling application, wherein the aspect code is automatically interwoven in accordance with the pointcut;
- automatically transforming, via computing equipment executing at least one program stored in a non-transitory storage medium, the design model into source code, said source code comprising base code and aspect code, wherein the aspect code is automatically interwoven with the base code.
Dependencies are inferred from the claim text.