A system and method that implements top-down and bottom-up model-driven transformations between platform-independent (business view) modeling approaches and platform-specific (IT architectural) models. On the business level, business view models may be expressed in, but not limited to ADF or UML2, whereas on the IT architecture side, service-oriented architectures with Web service interfaces and processes are specified in business process protocol languages including, but not limited to, BPEL4WS, or workflow definitions. An architecture and a transformation method based on typed information flows automatically transforms platform-independent business models into executable information technology (IT) architecture specifications constrained by a specific IT platform, and vice versa. The models generated span the entire life cycle of a software system and ease the software production, deployment and maintenance tasks. That is, the different models generated for the same system are “linked” in a way that relevant changes in one model may be propagated to the other models to keep the model set consistent.
|
15. A method for automatically transforming platform-independent business models into executable information technology (IT) architecture specifications constrained by a specific IT platform, said method comprising the steps of:
a) providing a computing device programmed for receiving a machine-readable representation of a business model;
b) analyzing said specifications to automatically identify processes comprising discrete process steps that execute specific tasks in the process, and, information entities that are processed by the process steps; and,
c) automatically developing representations in the form of one or more graphs having nodes representing said process steps and links depicting a flow of information entities between process step tasks, and,
d) automatically synthesizing executable IT architecture components from said developed representations.
1. A system for automatically transforming platform-independent business models into executable information technology (IT) architecture specifications constrained by a specific IT platform, said system comprising:
a computing device programmed for receiving a machine-readable representation of a business model, said computing device comprising:
a means for analyzing said specifications to automatically identify processes comprising discrete process steps that execute specific tasks in the process, and, information entities that are processed by the process steps; and,
a means for automatically developing representations in the form of one or more graphs having nodes representing said process steps and links depicting a flow of information entities between process step tasks; and,
a means for automatically synthesizing executable IT architecture components from said developed representations.
34. A computer program device readable by a machine, tangibly embodying a program of instructions executable by a machine to perform method steps for automatically transforming platform-independent business models into executable information technology (IT) architecture specifications constrained by a specific IT platform, said method comprising the steps of:
a) receiving a machine-readable representation of a business model;
b) analyzing said specifications to automatically identify processes comprising discrete process steps that execute specific tasks in the process, and, information entities that are processed by the process steps; and,
c) automatically developing representations in the form of one or more graphs having nodes representing said process steps and links depicting a flow of information entities between process step tasks, and,
d) automatically synthesizing executable IT platform components from said developed representations.
31. A method for automatically transforming platform-specific information technology (IT) architecture specifications constrained by a specific IT platform into a platform-independent business model view, said method comprising the steps of:
a) providing a computing device programmed for receiving executable IT platform components;
b) automatically developing representations in the form of one or more sub flow graphs according to one of more IT architecture specifications, a said sub flow graph having nodes representing process steps and links depicting a flow of information entities between process step tasks;
c) automatically analyzing said one or more sub flow graphs and developing representations in the form of a process graph, said means automatically identifying processes comprising discrete process steps that execute specific tasks in the process, and, information entities that are processed by the process steps; and,
d) automatically generating a platform-independent business model view from said process graph.
27. A system for automatically transforming information technology (IT) architecture specifications constrained by a specific IT platform into a platform-independent business model view, said system comprising:
a computing device programmed for receiving executable IT platform components, said computing device comprising:
means for automatically developing representations in the form of one or more sub flow graphs according to one of more IT architecture specifications, a said sub flow graph having nodes representing process steps and links depicting a flow of information entities between process step tasks;
means for automatically analyzing said one or more sub flow graphs and developing representations in the form of a process graph, said means automatically identifying processes comprising discrete process steps that execute specific tasks in the process, and, information entities that are processed by the process steps; and,
a means for automatically generating a platform-independent business model view from said process graph.
35. A computer program device readable by a machine, tangibly embodying a program of instructions executable by a machine to perform method steps for automatically transforming platform-specific information technology (IT) architecture specifications constrained by a specific IT platform into a platform-independent business model view, said method comprising the steps of:
a) receiving executable IT platform components;
b) automatically developing representations in the form of one or more sub flow graphs according to one of more IT architecture specifications, a said sub flow graph having nodes representing process steps and links depicting a flow of information entities between process step tasks;
c) automatically analyzing said one or more sub flow graphs and developing representations in the form of a process graph, said means automatically identifying processes comprising discrete process steps that execute specific tasks in the process, and, information entities that are processed by the process steps; and,
d) automatically generating a platform-independent business model view from said process graph.
2. The system as claimed in
3. The system as claimed in
4. The system as claimed in
5. The system as claimed in
6. The system as claimed in
7. The system as claimed in
8. The system as claimed in
9. The system as claimed in
10. The system as claimed in
11. The system as claimed in
12. The system as claimed in
13. The system as claimed in
14. The system as claimed in
16. The method as claimed in
17. The method as claimed in
18. The method as claimed in
19. The method as claimed in
20. The method as claimed in
21. The method as claimed in
22. The method as claimed in
23. The method as claimed in
24. The method as claimed in
25. The method as claimed in
26. The method as claimed in
28. The system as claimed in
29. The system as claimed in
30. The system as claimed in
32. The method as claimed in
33. The method as claimed in
|
1. Field of the Invention
The present invention relates generally to the creation of on-demand business systems, and more particularly, to a novel application that provides business to information technology (IT) transformation and vice-versa.
2. Description of the Prior Art
An “on demand business” is one that integrates its business processes end-to-end across its enterprise as well as with its trading partners such that it can respond with speed and agility to changing business conditions. This requires tight integration between the operational specification of a business and its execution mechanisms.
Model-driven architectures (MDA) have been proposed by the Object Management Group (OMG) which is a consortium that produces and maintains computer industry specifications for interoperable enterprise applications. Model-driven architectures are proposed to reinforce the use of an enterprise architecture strategy and to enhance the efficiency of software development. The key to MDA lies in three factors: 1) the adoption of precise and complete semantic models to specify a system and its behavior; 2) the usage of data representation interchange standards; and 3) the separation of business or application logic from the underlying platform technology.
Perhaps the most important is the model representations. Models can be specified from different views: the business analyst's or the IT architect's view, and they can be represented at different levels of abstraction. MDA distinguishes between platform-independent (PIM) and platform-specific (PSM) models, but other models may be used to describe the different aspects of a system.
For example, on the PIM side, business process models are used to reflect a business analyst's or consultant's view of a business process. Typical representatives of these models are the ARIS tool set by IDS Scheer (as described in A. W. Scheer, F. Abolhassan, W. Jost, and M. Kirchner Business Process Excellence—ARIS in Practice. Springer, 2002), the ADF approach by Holosofx/IBM (as described in E. Deborin et al. Continuous Business Process Management with HOLOSOFX BPM Suite and IBM MQSeries Workflow IBM Redbooks, 2002.) or UML2 activity models (Unified modeling language superstructure, version 2.0. 2nd revised submission to OMG RFP ad/00-09-02, 2003). On the PSM side, several models are employable such including IT architectural models and IT deployment models. An IT architectural model adopts a specific IT architectural approach. For example, a service-oriented architecture can be based on Web services (as described in E. Christensen, F. Curbera, G. Meredith, and S. Weerawarana, The web services description language WSDL http://www-4.ibm.com/software/solutions/webservices/resources.html, 2001) or an ERP architecture can be based on workflows (as described in F. Leymann and D. Roller. Production Workflow. Prentice Hall, 2000). Thus, the IT architectural model will comprise certain types of architecture (or platform)-specific IT solution components such as Web services or workflows, but it will still be platform-independent in the sense that it abstracts from a (vendor-) specific runtime platform. Under this point of view, IT architectural models combine aspects of PSMs and PIMs.
Besides being representative of a system, a model must be further analyzable by algorithmic methods in order to be useful. For example, the fundamental properties of the behavior of a system should be verifiable in a model, and different models of the same system should be “linked” in a way that relevant changes in one model can be propagated to the other models to keep the model set consistent.
Thus, as model-driven architectures aim at spanning the life cycle of a system from modeling and design to component construction, assembly, integration, deployment, management, monitoring and evolution, it would be highly desirable to provide system tools and algorithmic techniques that support the evolution of models and the consistency of different modeling views of the same system. Although models can evolve independently of each other and one model might represent system aspects that are irrelevant for another model, fundamental features of a system will be present in all models. It is therefore necessary to identify these fundamental features, to detect feature changes in a model and to propagate those changes automatically to the other system models.
Thus, it would be highly desirable to provide a solution based on model-driven transformations between PIM and PSM applications.
The present invention thus is directed to a system and methodology based on model-driven transformations, and particularly to a Transformation Engine (TE) that addresses the “linkage problem”.
According to a first aspect of the invention, there is provided a top-down model-driven transformation approach that automatically transforms platform-independent business models into executable information technology (IT) architecture specifications constrained by a specific IT platform. The system and method comprises:
a computing device programmed for receiving a machine-readable representation of a business model, the computing device comprising:
a means for analyzing the specifications to automatically identify processes comprising discrete process steps that execute specific tasks in the process, and, information entities that are processed by the process steps; and,
a means for automatically developing representations in the form of one or more graphs having nodes representing the process steps and links depicting a flow of information entities between process step tasks; and,
a means for automatically synthesizing executable IT architecture components from the developed representations.
According to a second aspect of the invention, there is provided a bottom-up model-driven transformation approach that automatically transforms information technology (IT) architecture specifications constrained by a specific IT platform into a platform-independent business model view. The system and method comprises:
a computing device programmed for receiving executable IT platform components, the computing device comprising:
means for automatically developing representations in the form of one or more sub flow graphs according to one of more IT architecture specifications, a sub flow graph having nodes representing process steps and links depicting a flow of information entities between process step tasks;
means for automatically analyzing the one or more sub flow graphs and developing representations in the form of a process graph, the means automatically identifying processes comprising discrete process steps that execute specific tasks in the process, and, information entities that are processed by the process steps; and,
a means for automatically generating a platform-independent business model view from the process graph.
It is understood that both top-down and bottom-up transformations prolong the life cycle of the business view model. It is no longer only actively used in the design and analysis phase, but plays an active role in the entire system life cycle by constraining the IT architecture.
Advantageously, the invention is incorporated in different business process modeling approaches and extracts structured information flows as their underlying common modeling principle. It describes top-down and bottom-up transformations between process graphs and information flow graphs. The models generated span the entire life cycle of a software system and ease the software production, deployment and maintenance tasks.
The objects, features and advantages of the present invention will become apparent to one skilled in the art, in view of the following detailed description taken in combination with the attached drawings, in which:
More particularly, as shown in
The transformation engine 20 particularly includes specific readers and writers for each modeling approach. When performing a top-down transformation, as shown in
When performing bottom-up transformations, as shown in
UML2 Activity and ADF Model Approaches
The generalization of business view models to process graphs is now provided by way of an example, namely a trip-handling process of a travel agency.
The UML2 and ADF modeling approaches of respective
Table 1 summarizes the specific elements from each modeling approach and how they fit into the categorization as subprocesses, process steps, control steps, and information entities.
TABLE 1
Categorization of modeling elements in ADF and UML2
ADF (FIG. 4)
UML2 (FIG. 3)
subprocess
process
activity
external task
external entity
process step
task
action
control step
decision
decision, merge
choice
fork, join
information entity
Phi
token
flow
connector
link
stop
initial marker
goto
final marker
While the graphical models of
According to the invention, the process graph representation possesses formal, state-based operational semantics that enables the representation of structured information flows in an unambiguous way. Particularly, the process graph 25 (
In
Note that a process graph is flat if it has no hierarchical structure. If a business view model includes a hierarchical process model where a subprocess at a higher level is refined with a separate process model at a lower level, then the subprocess vertex in the process graph may be replaced by the process graph obtained from the lower-level process model if desired. It is up to a modeler to decide whether subprocesses should be kept as abstract process steps or refined into their subprocesses. The replacement only succeeds if the signature of the subprocess vertex is identical to the signature of the subprocess graph, which is the declaration of incoming and outgoing information entities for the subprocess.
Some business process models may also annotate process steps with additional information who can execute the process step. In an ADF model, this can for example be done by adding so-called roles to a task. The information about roles may also specify whether a process step is done automatically (i.e. it is executed by a machine) or whether it requires a collaboration with a human user. It is assumed, for instance, that the business view models of the trip-handling example associate human roles with the process steps “Create Itinerary”, “Confirm Itinerary”, and “Replan Itinerary”. This information is not visible in the graphical depiction of the process graph as shown in
Discovery of Platform-Specific Elements in a Process Graph
After the process graph 25 (
As will be described in greater detail herein, the transformation engine 20 implements, but is not limited to six (6) discovery steps: 1) Business Objects; 2) stateful, adaptive business objects also called Adaptive Documents (ADocs); 3) Macroflows; 4) Collaborations; 5) Screenflows; and 6) Adapters; and, two (2) synthesis steps: 7) BPEL4WS specifications, and 8) ADoc State machines. Each discovery step works on the internal process graph representation and establishes an element in the IT model.
To discover Business Objects, the TE investigates the information flow in the process graph. Each information entity that has been declared as belonging to the object category is mapped to a Business Object in the PSM.
In the trip-handling process, the following Business Objects are discovered:
trip request
hotel request
flight request
To discover ADocs, the information flow of the discovered Business Objects is inspected further. Each Business Object that flows through at least two atomic process steps in the process graph is mapped to an ADoc in the PSM.
In the trip-handling process, this criterion applies to all three Business Objects, i.e. they all become ADocs in the PSM:
trip request
hotel request
flight request
For each ADoc, an ADoc state-machine will be synthesized as will be described in greater detail hereinbelow.
The discovery of Macroflows tracks the information flow of each of the ADocs and extracts the sub-graphs specifying the flow of one ADoc. The sub-graphs 35a, 35b, 35c, for the respective three object types (trip request, hotel request, flight request) for the trip-handling example are shown in
Collaborations are discovered from the role information that was associated with the process steps in the business view model. If a process step is annotated with a role that can only be performed by a human, a collaboration is derived. In the trip-handling example, the process steps
“Create Itinerary”,
“Confirm Itinerary”, and
“Replan Itinerary”
have been marked with human roles.
The discovery of Screenflows is based on the discovery of collaborations and the information flow in the process graph. For each collaboration, a screen must be generated that allows a human to execute his/her role in the computerized business process. The information that has to be displayed on the screen, is derived from the information flow that is coming into a process step and leaving this process step in the process graph. The order of appearance of the screens is determined by the ordering of the process steps in the process graph that have been mapped to collaborations. In the trip-handling example, it is discovered that three screens have to be added to the PSM:
The ordering of these screens follows the ordering of the process steps in the process graph. First the “Create Itinerary” screen must be displayed, then followed by either the “Confirm Itinerary” screen or the “Replan Itinerary” screen.
Adapters are generated between atomic process steps and external or internal subprocesses. They are used to map information items that cross the process boundaries as shown in
Customer to Create Itinerary-Adapter
Confirm Itinerary to Customer-Adapter
Replan Itinerary to Customer-Adapter
Evaluate2 to Hotel or Flight Service-Adapter
Create Itinerary to Hotel and FlightService-Adapter
During the bottom-up transformation where the TE is provided with the subflow graphs, which were derived from the PSM components, these subflow graphs are composed into one process graph by merging identical vertices. However, it must be ensured that identical process elements in different subflow models have identical names or else a mapping between vertices must be provided. In many instances, the subgraphs shown in
IT Architectural Models and the Automatic Synthesis of Solution Components
The following demonstrates how the Macroflow and ADoc solution components of an IT architecture are synthesized by the platform-specific synthesis methods. For exemplary purposes, one target IT architecture is based on Web services, i.e., self-contained, modular units of application logic which provide business functionality to other applications via an Internet connection. A Web service is specified by defining messages that provide an abstract definition of the data being transmitted and operations that a Web service provides to transmit the messages. Operations are grouped into port types, which describe abstract end points of a Web service such as a logical address under which an operation can be invoked. Concrete protocol bindings and physical address port specifications complete a Web service specification.
Web services support the interaction of business partners and their processes by providing a stateless model of “atomic” synchronous or asynchronous message exchanges. These “atomic” message exchanges may be composed into longer business interactions by providing message exchange protocols that show the mutually visible message exchange behavior of each of the partners involved. An example of such a protocol specification language is BPEL4WS such as described in the reference authored by F. Curbera et al. and entitled, “Business process execution language for web services” www-106ibm.com/developerworks/webservices/library/ws-bpel/, 2002, the contents and disclosure of which is incorporated by reference as if fully set forth herein. According to the invention, the basic elements of a BPEM4WS protocol specification are derived from the process graph and the subflows it comprises.
Synthesis of BPEL4ws Protocol Specifications
As shown in
As will be described in greater detail herein, the synthesis of a BPEL4WS skeleton is generated in XML and the declaration of the partners that are derived from the external and internal process steps in the process graph are first performed. It is understood that other model types may be generated, e.g., UML. In this example, it is assumed that the interaction with the customer will also proceed via a Web service interface.
<process name=“TripHandling”>
<partners>
serviceLinkType=“CustomerServiceLink”
serviceLinkType=“FlightServiceLink”
serviceLinkType=“HotelServiceLink”
</partners>
<containers>
<containers>
The name of the process is derived from the name of the business view model. The names of the partners are mechanically derived from the external and internal subprocess names. The partner role names are composed of the partner names with the suffix Agent added, whereas the value of the attribute myRole is again the model name plus the Agent suffix. The default values for the service link types are also mechanically derived from the partner names.
For each information entity discovered in the business view model 12 and that occurs in the signature of at least one process step in the trip-handling process, message names OrderEvent, TripRequest, FlightRequest, HotelRequest and BookingFailure and corresponding container names are defined, as shown in
<containers>
<container name=“OrderEvent”
<container name=“TripRequest”
<container name=“FlightRequest”
<container name=“HotelRequest”
<container name=“BookingFailure”
According to the invention, the control flow of the message exchange between the process and its partners may be derived as the process graph 25 provides the basic information needed to specify the choreography of message exchanges between the partners. The edges define a partial ordering between the process steps that map to corresponding <sequence> and <flow> constructs. Ordered steps are arranged within a sequence, whereas unordered steps are arranged within a flow construct. Control steps are mapped to <switch> activities and introduce the required branching in the message exchange protocol.
<sequence>
createItinerary
Evaluate
<switch>
</otherwise>
</switch>
</sequence>
The mnemonic step names have to be replaced with the message interactions a step has with a partner. Each directed link that links a step vertex with a partner vertex is mapped to a basic BPEL4WS activity. A directed edge from a partner vertex to a step vertex is interpreted as a message flow from a partner to the process. It is therefore mapped to a <receive> activity. A directed edge into the other direction, i.e. from a step vertex to a partner vertex is mapped to an <invoke> activity.
With respect to BPEL4WS synthesis, the process starts when it receives an order event message from the customer. By default, a new process instance is always instantiated. After the message has been received, a trip request object is created, and hotel and flight request messages are sent in any order to the two partner services. Port type names are simple default strings and operation names are derived from the (abbreviated) names of the interacting process elements. For example, “Customer to Create Itinerary” is abbreviated with CToCI, “Create Itinerary to Flight Service” is abbreviated with CIToFS, the control steps are abbreviated with EVAL. The container names correspond to the message names that are exchanged.
<sequence>
<receive partner=“Customer”
createInstance=“yes”
<invoke partner=“HotelService”
inputContainer=“HotelRequest”>
</invoke>
<invoke partner=“FlightService”
inputContainer=“FlightRequest”>
</invoke>
</flow>
After the partner services have been invoked, the process waits for the services to send the results of their booking operations, which again may arrive in any order.
<flow>
<receive partner=“HotelService”
</receive>
<receive partner=“FlightService”
</receive>
</flow>
After the answers have been received, the process has to branch depending on whether the services were able to book the requests or not. This introduces a first <switch> construct in the process. No condition for the switching can be derived from the process model and therefore a default placeholder is inserted. In the first branch (Confirm Itinerary to Customer), the process needs to inform the customer about the successful completion of his reservation and send the completed trip request documents. In the second branch (Replan Itinerary to Customer, Evaluate to Hotel Service or Flight Service), it needs to inform the customer about the booking failure and decide which of the services has to be informed about the failure of the other partner. The partners can be informed in any order, which again introduces a <flow> construct into the process. Within the flow, another <switch> construct is nested that decides which partner is informed.
<switch>
<case condition = “condition1”>
<invoke partner = “Customer”
portType = “pt6”
operation = “ConIToC”
inputContainer = “TripRequest”>
</invoke>
</case>
<otherwise>
<sequence>
<invoke partner = “Customer”
portType = “pt7”
operation = “RIToC”
inputContainer = “BookingFailure”>
</invoke>
<switch>
<case condition = “condition2”>
<invoke partner = “HotelService”
portType = “pt8”
operation = “EVAL2ToHS”
inputContainer = “BookingFailure”>
</invoke>
</case>
<otherwise>
<invoke partner = “FlightService”
portType = “pt9”
operation = “EVAL2ToFS”
inputContainer = “BookingFailure”>
</invoke>
</otherwise>
</switch>
</sequence>
</otherwise>
</switch>
</sequence>
</process>
By default, it is assumed that all message exchanges are asynchronous. The BPEL4WS specification becomes rather complicated due to the two control steps included within the process. Obviously, these could be merged into a single <switch> construct with three different cases by applying BPEL4WS optimization techniques similar to the ones presented in the reference authored by N. Sato, S. Saito, and K. Mitsui entitled “Optimizing composite webservices through parallelization of service invocations” In EDOC-03 [5], pages 305–316, incorporated by reference as if fully set forth herein. The transformation engine of the invention may then propagate this simplification back to the business view model where it could be discussed with the process designers.
The Business Objects, Collaborations, Adapters, and Screen Flows discovered as part of the transformation and discussed hereinabove are further refined and integrated with the BPEL4WS as part of the manual refinement from IT Architecture Model to IT Deployment model shown in
Synthesis of State Machines
Another programming model that is supported with the synthesis method are stateful business objects. So called adaptive documents (ADocs) as described in the reference authored by P. Nandi, S. Kumaran, T. Heath, K. Bhaskaran, and R. Dias entitled “ADoc-oriented programming” In Proceedings of the International Symposium on Applications and the Internet (SAINT-2003) IEEE Press, 2003, incorporated by reference as if fully set forth herein, and also referred to as adaptive business objects (ABO), which are persistent data objects that carry their own processing instructions in the form of an associated (possibly non-deterministic) finite-state machine. When in a particular state, an ABO can invoke an activity and, depending on the result of the activity execution, it will transit to one of the possible successor states. The task of the synthesis process is to generate state machine specifications for each of the discovered business objects.
In the travel agency example described, three different adaptive business objects are discovered, namely: the trip request, the flight request, and the hotel request. Each of them is processed by different activities reflected in the subprocesses and process steps of the process graph. This information is used to determine the state machine of the objects.
Considering the flow graph of each object as a means of defining the words of a formal language Lo, the names of the vertices are the symbols of the language, and the edges define the allowed concatenation of the symbols to obtain a word in the language Lo. To simplify the notation, the activity names are abbreviated with single letters: create itinerary (c), evaluate (e), hotel service (h), flight service (f), replan itinerary (r), and confirm itinerary (o). The flow graph for the trip request object defines the words ce(o|r). For the hotel request object “c h e” is obtained and for the flight request object “c f e” is obtained. Three finite state machines may now be constructed that accept these words.
The construction process defines a transition for each graph vertex and annotates it with the name of the vertex to indicate the activity that has to be invoked. For each transition, a start and an end state are defined. When a process step “A” is directly followed by a process step “B” in the graph, the end state of “A” becomes the start state of “B”. This way, the state machines are built until the end state of the last process step is marked as a final state of the machine or until a process step is revisited if the process graph is cyclic. In the latter case, a cyclic state machine is obtained and it can happen that a state machine without end states is constructed. In such a case, a warning is issued as this would mean that the adaptive business object is processed in an infinite loop that never terminates. Process steps, which are unordered with respect to each other, introduce multiple successor states and lead to non-deterministic state machines. There must at least be one edge whose start state is not the end state of another edge, i.e., there must be one clearly identifiable first activity in the process graph. This state is marked as the initial state of the state machine, otherwise the construction fails.
In the ADoc-oriented programming model, the IT deployment model is created by manual refinement of Business Objects, Collaborations, Adapters, and Screen Flows and integration of these with the ADocs as discussed herein. Business Objects map to the data in the events received and processed by the ADocs. They could also appear as arguments in the activity invocations executed by the ADoc as part of state transitions. Collaborations and adapters are triggered via the activity invocations executed by the ADoc as part of state transitions. Screen flows generate a subset of the events processed by the ADocs. More details on this can be found in the above-mentioned “ADoc-oriented programming” reference incorporated as wholly set forth herein.
It should be understood that the business view models and platform-specific IT solution components may be accessed by humans for further inspection or have been created by them as input to the transformation engine. The process graph and flow graphs may not be externally visible, but are merely thought as internal representations of the fully automatic transformation engine. This means, when transforming from one external representation into the other (business view models into solution components or vice versa) no human interaction is required, but only the result is shown. A human input may only be needed to determine, which output is described from the set of available synthesis methods and writers.
Further, the transformation engine is additionally able to support dynamic model reconciliation. For example, after a given business view model has been transformed into an IT solution component, the generated component can be further refined and/or modified by a human. By transforming the modified component back into a new business view model and comparing the original business view model with the result of the back-transformation, the transformation engine can automatically detect deviations between both models and report them to a user.
While the invention has been particularly shown and described with respect to illustrative and preferred embodiments thereof, it will be understood by those skilled in the art that the foregoing and other changes in form and details may be made therein without departing from the spirit and scope of the invention that should be limited only by the scope of the appended claims.
Kapoor, Shubir, Koehler, Jana, Wu, Frederick Y., Kumaran, Santhosh, Hauser, Rainer F.
Patent | Priority | Assignee | Title |
10133996, | Apr 22 2014 | International Business Machines Corporation | Object lifecycle analysis tool |
10133997, | Apr 22 2014 | International Business Machines Corporation | Object lifecycle analysis tool |
10235330, | Sep 12 2008 | Intenational Business Machines Corporation | Process management using representation state transfer architecture |
10535032, | Apr 15 2011 | International Business Machines Corporation | Process model merging |
10614400, | Jun 27 2014 | O9 SOLUTIONS, INC | Plan modeling and user feedback |
10789241, | Apr 13 2010 | International Business Machines Corporation | Generation of service specification of a solution |
10831509, | Feb 23 2017 | Ab Initio Technology LLC; Ab Initio Software LLC; AB INITIO ORIGINAL WORKS LLC | Dynamic execution of parameterized applications for the processing of keyed network data streams |
11080067, | Feb 23 2017 | AB INITIO ORIGINAL WORKS LLC; Ab Initio Technology LLC | Dynamic execution of parameterized applications for the processing of keyed network data streams |
11216478, | Oct 16 2015 | O9 SOLUTIONS, INC | Plan model searching |
11216765, | Jun 27 2014 | O9 SOLUTIONS, INC | Plan modeling visualization |
11321787, | Aug 07 2019 | KYNDRYL, INC | Automonous multi-cloud solution design and fulfillment via crowdsourcing |
11379774, | Jun 27 2014 | o9 Solutions, Inc. | Plan modeling and user feedback |
11379781, | Jun 27 2014 | O9 SOLUTIONS, INC | Unstructured data processing in plan modeling |
11409545, | Feb 23 2017 | Ab Initio Technology LLC | Dynamic execution of parameterized applications for the processing of keyed network data streams |
11651004, | Oct 16 2015 | o9 Solutions, Inc. | Plan model searching |
11669343, | Feb 23 2017 | Ab Initio Technology LLC | Dynamic execution of parameterized applications for the processing of keyed network data streams |
11816620, | Jun 27 2014 | o9 Solutions, Inc. | Plan modeling visualization |
11947978, | Feb 23 2017 | AB INITIO ORIGINAL WORKS LLC; Ab Initio Technology LLC | Dynamic execution of parameterized applications for the processing of keyed network data streams |
11983548, | Feb 23 2017 | Ab Initio Technology LLC | Dynamic execution of parameterized applications for the processing of keyed network data streams |
12062002, | Jun 27 2014 | o9 Solutions, Inc. | Unstructured data processing in plan modeling |
7426524, | Sep 27 2005 | International Business Machines Corporation | Update processes in an enterprise planning system |
7428519, | Jun 04 2003 | Fair Isaac Corporation | Relational logic management system |
7548923, | Jan 05 2007 | Microsoft Technology Licensing, LLC | Sync configuration and discovery support |
7614049, | Aug 24 2004 | ServiceNow, Inc; International Business Machines Corporation | Autonomic installation and configuration of an enterprise business process on-demand |
7657411, | Jan 17 2006 | SAP SE | Method for transformation of enterprise models to business process models |
7761584, | Oct 01 2004 | Microsoft Technology Licensing, LLC | Generalized protocol mapping |
7835932, | Jun 04 2003 | Fair Isaac Corporation | Relational logic management system |
7953619, | Nov 21 2006 | International Business Machines Corporation | Business process diagram visualization using timeline-based heat maps |
7957992, | Nov 21 2006 | International Business Machines Corporation | Modification of a diagram for business process optimization |
7958076, | Nov 30 2007 | STRATUS TECHNOLOGIES IRELAND LTD | System and methods for managing rules and detecting reciprocal dependencies |
8041588, | Nov 21 2006 | International Business Machines Corporation | Business process diagram visualization using heat maps |
8141069, | Mar 18 2004 | International Business Machines Corporation | Method for generating an executable workflow code from an unstructured cyclic process model and method for executing a workflow code of an arbitrary process model |
8239819, | Sep 11 2006 | International Business Machines Corporation | Method and system for managing the lifecycle of a service oriented architecture |
8271416, | Aug 12 2008 | STRATUS TECHNOLOGIES IRELAND LTD | Method for dynamically determining a predetermined previous condition of a rule-based system |
8340999, | Nov 27 2007 | International Business Machines Corporation | Automatic generation of executable components from business process models |
8347214, | Mar 09 2005 | Cisco Technology, Inc | Automated interface-specification generation for enterprise architectures |
8386524, | Apr 13 2010 | International Business Machines Corporation | Generating service specification of a service oriented architecture (SOA) solution |
8527311, | Nov 21 2006 | International Business Machines Corporation | Business process diagram visualization using heat maps |
8676627, | Dec 04 2008 | International Business Machines Corporation | Vertical process merging by reconstruction of equivalent models and hierarchical process merging |
8676818, | May 03 2010 | International Business Machines Corporation | Dynamic storage and retrieval of process graphs representative of business processes and extraction of formal process models therefrom |
8786602, | Sep 30 2008 | International Business Machines Corporation | System and method for hierarchically decomposing process model |
8805763, | Dec 29 2010 | ISRAEL AEROSPACE INDUSTRIES LTD | Computerized system for monitoring and controlling physical data-producing apparatus |
8949104, | May 19 2011 | WRP IP MANAGEMENT, LLC | Monitoring enterprise performance |
8984046, | Sep 12 2008 | International Business Machines Corporation | Process management using representation state transfer architecture |
9002853, | Apr 13 2010 | International Business Machines Corporation | Generation of service specification of a service oriented architecture (SOA) solution |
9052907, | Oct 25 2011 | SOFTWARE GMBH | Selective change propagation techniques for supporting partial roundtrips in model-to-model transformations |
9058129, | Nov 14 2005 | Oracle International Corporation | System and method of correlation and change tracking between business requirements, architectural design, and implementation of applications |
9165049, | Mar 01 2013 | SAP SE | Translating business scenario definitions into corresponding database artifacts |
9251491, | Nov 30 2009 | International Business Machines Corporation | Performance-aware enterprise components |
9372844, | Oct 01 2011 | Oracle International Corporation | Automatically generating a business process flow GUI using a symbolic annotation language |
9405513, | Apr 18 2008 | SOFTWARE GMBH | Systems and methods for graphically developing rules for transforming models between description notations |
9411833, | Apr 13 2010 | International Business Machines Corporation | Generation of service specification of a service oriented architecture (SOA) solution |
9606772, | Nov 21 2006 | International Business Machines Corporation | Business process diagram data collection |
9826051, | Jan 21 2014 | AMADEUS S A S | Content integration framework |
9922073, | Apr 13 2010 | International Business Machines Corporation | Generation of service specification of a solution |
ER3151, |
Patent | Priority | Assignee | Title |
6804711, | Oct 06 1997 | Verizon Patent and Licensing Inc | Method and apparatus for managing call processing services in an intelligent telecommunication network |
20030046097, | |||
20030158784, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Jun 05 2003 | International Business Machines Corporation | (assignment on the face of the patent) | / | |||
Jun 05 2003 | KUMARAN, SANTHOSH | International Business Machines Corporation | CORRECTIVE ASSIGNMENT TO CORRECT THE CORRECTION OF 4TH ASSIGNOR TO SANTHOSH KUMARAN PREVIOUSLY RECORDED ON REEL 014158 FRAME 0933 ASSIGNOR S HEREBY CONFIRMS THE SANTHOSH KUMARA | 019098 | /0522 | |
Jun 05 2003 | KOEHLER, JANA | International Business Machines Corporation | CORRECTIVE ASSIGNMENT TO CORRECT THE CORRECTION OF 4TH ASSIGNOR TO SANTHOSH KUMARAN PREVIOUSLY RECORDED ON REEL 014158 FRAME 0933 ASSIGNOR S HEREBY CONFIRMS THE SANTHOSH KUMARA | 019098 | /0522 | |
Jun 05 2003 | KAPOOR, SHUBIR | International Business Machines Corporation | CORRECTIVE ASSIGNMENT TO CORRECT THE CORRECTION OF 4TH ASSIGNOR TO SANTHOSH KUMARAN PREVIOUSLY RECORDED ON REEL 014158 FRAME 0933 ASSIGNOR S HEREBY CONFIRMS THE SANTHOSH KUMARA | 019098 | /0522 | |
Jun 05 2003 | HAUSER, RAINER F | International Business Machines Corporation | CORRECTIVE ASSIGNMENT TO CORRECT THE CORRECTION OF 4TH ASSIGNOR TO SANTHOSH KUMARAN PREVIOUSLY RECORDED ON REEL 014158 FRAME 0933 ASSIGNOR S HEREBY CONFIRMS THE SANTHOSH KUMARA | 019098 | /0522 | |
Jun 05 2003 | WU, FREDERICK Y | International Business Machines Corporation | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 014158 | /0933 | |
Jun 05 2003 | KUMARA, SANTHOSH | International Business Machines Corporation | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 014158 | /0933 | |
Jun 05 2003 | KOEHLER, JANA | International Business Machines Corporation | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 014158 | /0933 | |
Jun 05 2003 | KAPOOR, SHUBIR | International Business Machines Corporation | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 014158 | /0933 | |
Jun 05 2003 | HAUSER, RAINER F | International Business Machines Corporation | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 014158 | /0933 | |
Jun 05 2003 | WU, FREDERICK Y | International Business Machines Corporation | CORRECTIVE ASSIGNMENT TO CORRECT THE CORRECTION OF 4TH ASSIGNOR TO SANTHOSH KUMARAN PREVIOUSLY RECORDED ON REEL 014158 FRAME 0933 ASSIGNOR S HEREBY CONFIRMS THE SANTHOSH KUMARA | 019098 | /0522 |
Date | Maintenance Fee Events |
Oct 09 2010 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Oct 10 2014 | M1552: Payment of Maintenance Fee, 8th Year, Large Entity. |
Oct 17 2018 | M1553: Payment of Maintenance Fee, 12th Year, Large Entity. |
Date | Maintenance Schedule |
May 22 2010 | 4 years fee payment window open |
Nov 22 2010 | 6 months grace period start (w surcharge) |
May 22 2011 | patent expiry (for year 4) |
May 22 2013 | 2 years to revive unintentionally abandoned end. (for year 4) |
May 22 2014 | 8 years fee payment window open |
Nov 22 2014 | 6 months grace period start (w surcharge) |
May 22 2015 | patent expiry (for year 8) |
May 22 2017 | 2 years to revive unintentionally abandoned end. (for year 8) |
May 22 2018 | 12 years fee payment window open |
Nov 22 2018 | 6 months grace period start (w surcharge) |
May 22 2019 | patent expiry (for year 12) |
May 22 2021 | 2 years to revive unintentionally abandoned end. (for year 12) |