WO2001038976A1 - Method and apparatus for business modeling - Google Patents

Method and apparatus for business modeling Download PDF

Info

Publication number
WO2001038976A1
WO2001038976A1 PCT/US1999/027883 US9927883W WO0138976A1 WO 2001038976 A1 WO2001038976 A1 WO 2001038976A1 US 9927883 W US9927883 W US 9927883W WO 0138976 A1 WO0138976 A1 WO 0138976A1
Authority
WO
WIPO (PCT)
Prior art keywords
business
software
objects
integration
business process
Prior art date
Application number
PCT/US1999/027883
Other languages
French (fr)
Inventor
Anja Behrmann
Rohit Bhargava
Yvan Deboeck
Bhupinder S. Dhillon
Stephen P. Fraleigh
Oliver Gros
Joerg Jonas
Michael J. Lipton
Magnus Ljungberg
Brian L. Matthews
Duncan N. Mcgillivray
Guenther Moeckesch
Timothy J. 0'donnell
Alan Charles Perry
Lutz Teichmann
Hans Van Khuijkelom
Kaj O. Zilli
Andreas W. Zink
Original Assignee
Camelot Is-2 International D.B.A Skyva International
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 Camelot Is-2 International D.B.A Skyva International filed Critical Camelot Is-2 International D.B.A Skyva International
Priority to JP2001540463A priority Critical patent/JP2003516569A/en
Priority to AU20294/00A priority patent/AU2029400A/en
Priority to EP99963965A priority patent/EP1234232A1/en
Priority to PCT/US1999/027883 priority patent/WO2001038976A1/en
Publication of WO2001038976A1 publication Critical patent/WO2001038976A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/10Requirements analysis; Specification techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management

Definitions

  • the present invention relates generally to computer programs and, specifically, to a method and apparatus for allowing a person to implement business computer software without having to write computer programs.
  • companies today need to model supply chain processes for implementation, monitoring, and improvement; share supply chain processes and data across companies; model employees' work environments to meet their specific tasks and needs (that is, they need a scalable solution); generate supply chain solutions from models of their company-specific business processes; manage business processes across multiple software systems; be dynamic (in other words, be able to change or react very quickly); and have a supply chain solution that is standard, and yet, fits their company.
  • Companies also to be able to run what ifs to see the effects of changes or processes without implementing the changes. With what ifs, companies can inexpensively optimize the way they do business. Companies need to be able to concentrate on their business, not on the software that supports that business. This means that software must be transparent and efficiently allow them to run their businesses. Any software solution short of this requirement is unacceptable.
  • a company faces two challenges in a distributed environment: controlling data distribution and controlling process distribution. If, for example, a large beverage manufacturer distributes recipes, distributes work plans, and distributes material data, some parts of the data are stored and maintained centrally, and other parts of the data are decentralized. For example, the main mixture for cola may be centrally maintained, but the production or warehousing data may be maintained in multiple locations. As another example, jeans manufacturer executes production orders at the local level, but plans in a central system at the aggregation level. Currently, it would not have a global view of how many jeans, in which sizes, are actually finished and in stock..
  • Companies need to be dynamic. Only companies that can maintain flexible and dynamic business processes will hold a competitive advantage. Companies need to be able to change the way they do business at the drop of a hat, at the customer's whim, or in the face of unexpected challenges. If a business model changes, software has to be able to do the same. This is problematic if the software must be changed by a human being writing new code. Furthermore, a company should also be able to simulate the impacts of changes beforehand using what if scenarios. Coding such what-if scenarios takes time that companies often do not have and cannot afford.
  • the computerized system uses prefabricated software components. These components are described in the Solution Library.
  • the Solution Library includes a list of exclusive and completely exhaustive components (Business Patterns, data mapping models, state models). These components build up generic solutions for all business applications across the industry.
  • the prefabricated software components include order elements, resource elements and process elements, with a state table attached. They are composed into Business Patterns. Due to their generic nature, these patterns can be applied to various industry domains from process industries to service business. An example would be the business pattern, split order. A sales order is split into a manufacturing order and a purchase order. In this process, the physical orders are represented by the "abstract" order objects.
  • the resource element used can be the person doing this order split, or the system doing the split.
  • the process element contains the rules according to which the split is done.
  • the Solution Library is aimed at facilitating the development and implementation of distributed business applications for industries.
  • Business applications include for example: available to promise, distributed master data, and integrated manufacturing execution for industries such as, automotive, process industries, services, etc.
  • the present invention provides an analysis of an optimal business process. Once the optimal business process is defined , a methodic mapping of preexisting computer software systems/ third party software systems to the business process can demonstrate functionality gaps. A gap exists if the preexisting computer software system /third party system is unable to meet with the functional requirements dictated out of the business process. These gaps will be filled with components out of the Solution Library by : extending the Solution Library components to fulfil the specific industry and customer needs, through configuration, without programming, and by integration of existing solutions. Once the gaps are filled, the computer software system is operational and spans the user's entire business process.
  • the invention relates to a method performed by a data processing system that allows a user to automatically generate a software computer system tailored to a particular business model, without programming by the user, comprising the steps of: facilitating the modeling of one or more business processes, business objects and business rules of the user to yield a business model having one or more business processes; optimizing the business model; if a business process does not correspond to a pre-existing computer software system, generating a new computer software system for the business process using a predefined software component library; and if a business process corresponds to pre-existing computer software system, then generating integration code from new computer software systems into the preexisting software systems using predefined integration software components.
  • the invention relates to a computerized method, comprising: providing mutually exclusive and completely exhaustive (MECE) software components for generating computer software systems for all business application across the industries, and providing software components for generating integration code into pre-existing software systems for commonly used pre-existing packaged software systems
  • Fig. 1 is a block diagram showing a model of a business process constructed with business objects and business rules specific to a customer or an industry.
  • Fig. 2 is a block diagram showing what parts of the business process are not covered by a preexisting software system.
  • Fig. 3 is a block diagram showing a Business Process Modeling and Simulation environment, a Business Object Configuration environment, Cross software systems Integration and data mapping environment and a User Interface Building environment.
  • Fig. 4 is a block diagram showing the mapping of data models/data structures of the new computer software system and the preexisting software system using the business objects designed in the business process.
  • Fig. 5 is a flow chart showing the major steps taken in a preferred embodiment of the present invention.
  • Fig. 6 is a diagram showing an action and how it relates to a business process.
  • Fig. 7 is a diagram showing a definition of a "to-be" model.
  • Fig. 8 is a diagram showing an example business process.
  • Fig. 9 is a diagram showing an example of a computer software system selected against requirements dictated by a business process.
  • Fig. 10 is a diagram showing the elements of a detailed modeling step.
  • Fig. 11 is a diagram showing dependencies between various system elements.
  • Fig. 12 lists exemplary attributes of the object facility.
  • Fig. 13 shows an exemplary state model for an order.
  • Fig. 14 shows an example of a different view of how the order goes from its FROM state to its TO state.
  • Fig. 15 shows a user interface screen, listing customer demand orders and proposed production to meet part of the order.
  • Fig. 16 shows an example of the pre-defined attributes of an order.
  • Fig. 17 is a table showing an extension of the order example, with some attributes and justification aspects for the order.
  • Fig. 18 shows an example of how extension of the data can be driven by some industry specifics.
  • Fig. 19 shows the overall structure of the various elements covered under the software components, and how they are grouped in a hierarchical order.
  • Fig. 20 is an overall view of the business process template composition.
  • Fig. 21(a) is a block diagram showing an exemplary data processing system implementing an embodiment of the present invention.
  • Fig. 22 shows an example of data mapping.
  • Fig. 23 is an exemplary screen dump of a screen that facilitates the user's designing a business object.
  • the present invention allows a business person or an inexperienced programmer to model a business process and design software for that business process.
  • the following discussion relates to the general environment in which software in accordance with the present invention operates. Later discussion relates to specific examples of the present invention.
  • Fig. 21(a) is a block diagram showing an exemplary data processing system 2100 implementing an embodiment of the present invention.
  • Data processing system 2100 communicates with the others via a network 2114.
  • Network 2114 can be the Internet, a
  • System 2100 includes at least one processor
  • Storage 2104 of system 2100 includes a variety of software and data structures, including business pattern(s) 2150, business process template(s) 2152, industry template(s) 2154, integration template(s) 2156, and at least one customer template 2158.
  • Storage 2104 also includes software required to implement the methods and data structures described herein. The steps of the described embodiment of the present invention are performed when instructions of a computer program stored in storage 2104 (or similar storage) are performed by processor 2102 (or another appropriate processor).
  • System 2100 also includes at least one input device 2118, such as a keyboard, touchscreen, mouse, or the like.
  • System 2100 also includes at least one output device 2120 such as a printer, display screen, or the like.
  • System 2100 also includes a computer readable medium input device 2122 and a computer readable medium 2124.
  • Computer readable medium 2124 can be any appropriate medium that has instructions and/or data structures and/or objects stored thereon. These instructions etc. are loaded from computer readable medium 2124 into storage area 2104. Instructions etc. can also be loaded into storage area 2104 in the form of a carrier wave or similar signal over network connection 2114.
  • the instructions and data in storage 2104 can be loaded into storage via an input device, via a network, such as the internet, a LAN, or a WAN, or can be loaded from a computer readable medium such as a floppy disk, CD ROM, or other appropriate computer readable medium.
  • the instructions can also be downloaded in the form of a carrier wave over a network connection.
  • System 2100 also includes an operating system (not shown).
  • an operating system (not shown).
  • the storage/memory also contains additional information, such as application programs, operating systems, data, etc., which are not shown in the Figure for the sake of clarity.
  • data processing system 2100 (or any other data processing system described herein) can also include numerous elements not shown, such as additional data, software, and/or information in memory, disk drives, keyboards, display devices, network connections, additional memory, additional CPUs, LANs, input/output lines, etc.
  • a computerized system which defines in a graphical way how to generate an application or template or custom solution based on a user defined Business Process Model, without programming.
  • This system is called the Solution Environment (a preferred embodiment is called the "Skva Solution Environment”).
  • the computerized system comprises the mapping of data models/data structures of the new computer software system and the pre-existing computer software system using the business objects designed in the business process ( Figure 4) uses prefabricated software components in a methodic way. These components are described in the Solution Library. (Pre-existing computer software is sometimes called third party computer software, since some pre-existing software is available from third parties.)
  • the Solution Library includes a list of exclusive and completely exhaustive components (Business Patterns, data mapping models, state models). These components build up generic solutions for all business applications across the industry.
  • Figure 22 shows an example of data mapping in which Enterprise Resource Planning (ERP) data and scheduling data are mapped to an object framework.
  • ERP Enterprise Resource Planning
  • the prefabricated software components include order elements, resource elements and process elements, with a state table attached. They are composed into Business Patterns. Due to their generic nature, these patterns can be applied to various industry domains from process industries to service business. An example would be the business pattern, split order. A sales order is split into a manufacturing order and a purchase order. In this process, the physical orders are represented by the "abstract" order objects.
  • the resource element used can be the person doing this order split, or the system doing the split.
  • the process element contains the rules according to which the split is done.
  • the Solution Library is aimed at facilitating the development and implementation of distributed business applications for industries.
  • Business applications include for example: available to promise, distributed master data, and integrated manufacturing execution for industries such as, automotive, process industries, services, etc.
  • the composition of the solution is achieved by using the Solution Environment.
  • This environment is a methodic analysis of the optimal business process. Once the optimal business process is defined , a methodic mapping of preexisting computer software systems software to the business process can demonstrate functionality gaps. A gap exists if the preexisting computer software system is unable to meet with the functional requirements dictated out of the business process. These gaps will be filled with components out of the Solution Library by extending the Solution Library components to fulfil the specific industry and customer needs, through configuration, without programming and by integration of existing solutions
  • the solution environment comes with a unique methodology and set of unique tools that enable the building of a business application based on the customer's business process model.
  • the business process model includes definition of busines hierarchies, business objects and business rules.
  • a solution is composed using business patterns. This composition is carried out with a unique methodology which includes the following steps: • Model the business process, business objects and business rules of a customer or industry. This model is the graphical representation of the way the end user executes his business process.
  • a solution gap analysis defines which parts of the business process are covered by preexisting software systems, and which parts are not covered.
  • the Solution Environment used in the methodology, provides the environment for the generation and configuration of the business application without the need for programming.
  • the environment includes:
  • a graphical representation of the composition of computer software system is given through Figures 1 to 4.
  • the methodic generation of the customer software solution starts with a graphical representation of the business process.
  • the model is constructed with business objects (e.g., business object 102) and business rules (e.g.. business rules 104) specific to a customer or an industry ( Figure 1).
  • a final step is the generation of the integration code from the new computer software systems into the third party software systems using predefined integration software components. It comprises mapping of data models/data structures of the new computer software system 402 and the third party computer software system 404 using the business objects designed in the business process ( Figure 4).
  • the Solution Environment contains the tools to compose the computer software system.
  • a unique methodology is used to make these tools work. This method begins with the business process definition, and by making use of the Solution Environment, generates the computer software system.
  • the methodology is graphically represented in Figure 5 to 11.
  • Figure 5 details the major steps taken in the methodology. Each of the blocks is further detailed in a following paragraph. The legend for looking at the following paragraphs is given in Figure 6.
  • Figure 7 When the to-be model is defined, a simulation of the model will lead to the optimal solution, optimizing this business process model.
  • One will define a list of business opportunities, define alternative scenarios based on these opportunities, simulate the scenario and validate to see if this is a suitable solution. Once validated and found optimal, this solution found will serve as the input into the next step, which system is to be selected to fit this Business Process.
  • FIG 8. An example business process is shown in Figure 8.
  • One level under order processing is the process of checking the order credit.
  • the example shows various elements of the model like the business processes and actions, the events, and resources.
  • the detailed modeling is the transition from the business process, obtained through the process of in Figure 7, towards defining what elements of the Solution Library need to be applied in order to compose, without programming, the custom software computer system.
  • Figure 10 describes the elements of the detailed modeling step.
  • Business Processes may describe business activities performed by the user, or by the computer software system.
  • a business process is made from a combination of other business processes.
  • a Business Object is a data structure to store dynamic information as an output of a business action. The information contained within a business object, an attribute, will be used as the input for business rules and business actions .
  • a business action is an action performed on a business object, which may change the state associated with that object.
  • the business rule defines a decision pattern that needs to be followed.
  • Attributes are the basic construct of the data structure definition.
  • An attribute defines an abstract data type.
  • Figure 12 shows some attributes to the object facility: its identifier, name and a deleted or not description.
  • Each data structure is composed of a number of optional logical groups of attributes called aspects.
  • the state model defines the dynamic behavior of the business object in terms of a set of states that the business object goes through during its life span.
  • An external event - either sent by the user or by the system - to the business object, triggers a transition defined in the state model associated with the target business object.
  • the transition that is triggered depends on the state that the business object is in, at the time the event is delivered. If the trigger rule conditions (associated with the transition) evaluate to true, the actions associated with the transition are executed and push the business object along its life-cycle. Each transition associated with the state of the business object is evaluated in turn until one is taken (conditions evaluate to true) or if no transition is taken, the event is discarded.
  • Figure 13 shows a state model for an order. A different view is how the order goes from its FROM state to its TO state. See Figure 14. DMO is the Detailed Manufacturing Order.
  • the User Interface is a finally defined with its user interactive screens.
  • Figure 15 shows a user interface screen, listing customer demand orders and proposed production to meet part of the order.
  • the Solution Library contains a set of software components.
  • the software components are resource elements, order elements, and process elements, and explained in detail hereafter.
  • a business application library is a pre-configured assembly of business patterns and business objects to form business process templates, industry templates, integration templates.
  • the library can be oriented towards industry-neutral demand and supply-related problems, such as: Production order planning, Production order scheduling ATP check
  • the library contains the following:
  • the software components are the business objects in the Solution Library. They include resource elements, order elements, and process elements and are related to each other in various ways. Those relationship defines the object hierarchy. These three objects are very abstract in the way they represent business objects and business processes of an enterprise.
  • the software components must be: - • Independent - meaning that the configuration of one component does not affect the configuration of others
  • Resource elements are the means to execute business activities, e.g. work centers, tools, raw materials, finished products, and waste. Resource elements may be grouped. There are various criteria for grouping resource elements, e.g. product groups and organizational units. Order elements are used as software components for decision communication and tracking in a real world where communicating partners are separated by aggregation and location differences in their view of the supply chain.
  • a process element is used to describe how one may carry out a business activity. Relative and/or conditional timing of the (sub) business activities involved is an important part of this description.
  • the business rules define how the process is executed, according to what rules.
  • a sales order comes in and is split into a manufacturing order and a purchase order.
  • the two kinds of physical orders are represented by abstract order objects, the department where the order splitting takes place is the resource, and the process element would hold information on how to split the order, according to business rules.
  • the resource used is the work center to process and order through a process element.
  • Predefined aspects and attributes Every software component can have various predefined aspects and attributes.
  • An attribute is data field, which contains data belonging to that object. Attributes can be grouped in a logical order to form aspects. For example and order has these aspects predefined to it.
  • the justification part of an order describes the reason for the existence of the order.
  • the justification section includes references to other orders that caused this order to be instantiated. It also contains the due date, the product and the quantity to be produced.
  • the decision part of an order element collects the decisions associated with the processing of an order. These decisions may include references to the predicted process that is linked to the order and decisions concerning the predicted due time of the order.
  • the progress part of an order element is used for keeping the tracking information that is reported from the fulfillment of the order. This information is propagated from one order to the superior order using the individual order justifications.
  • An example of the pre-defined attributes of an order are given here and described in
  • a sales order leads into a purchase order and an aggregate manufacturing order.
  • the order net is the network of orders that is generated based on then sales order, it is the dis-aggregation of an order into other orders.
  • the decision aspect of the sales order could contain information such as when this order needs to be delivered, or a reference to the process to be followed to fulfill the order on the manufacturing order.
  • the progress aspect holds the data related to the actual progress of the order such as the total quantity produced at a given time on the manufacturing order.
  • Business patterns complement the software components by providing generic functions, systems integration functions and industry specific functionality in a distributed environment.
  • Figure 19 shows the overall structure of the various elements covered under the software components, and how they are grouped in a hierarchical order. The Figure covers the business patterns, its components, and how business patterns build up business process templates.
  • Business patterns may be constructed from sub-business patterns. They interact with objects in the repository, with users, and with agents. The interfaces for these interactions are defined as roles within the business patterns.
  • the scripting language provides information that identifies the objects, the users and the agents that will play the roles defined in the business pattern. Communication between the roles and the players takes place using role adapters, which allow a 'plug and play' approach to business pattern use. This increases the reusability of the business pattern.
  • Conditions are also used to affect the behavior of the business pattern. These may be associated with the business pattern itself, the objects, the users or the agents associated with the roles of the business pattern. Typically, these conditions implement business rules or provide an algorithm that is specific to the context in which the business pattern is used.
  • Role adapters are used to adapt the interface on an object for a specific requirement.
  • the types of adaptation that a role adapter can provide include: Event transformation - when events generated by an object cannot be recognized by a recipient.
  • Terminology transformation - when a generic interface on an object must be presented according to the expectations of the problem domain (e.g. a resource element is presented as a work center).
  • a business pattern providing a generic order generation capability may be used in a wide variety of application contexts, such as planning, production, or warehouse management. This business pattern can be customized for each application through conditions that govern how the pattern will behave in the specific context. Order generation may involve the use of a 'create order' subpattern whose responsibility it is to create a new order representation and manage order ID generation. 'Create order' will use the order ID generation condition to allow customization of how order IDs are generated.
  • a Business Process template is a set of business patterns that implement a set of recognized business practices.
  • a business process template might be associated to a specific industry, it than becomes an industry specific business process template.
  • Business process templates may also serve as integration enablers of software systems, than they are integration derived business process templates.
  • Figure 20 is an overall view of the business process template composition. In a specific customer case the computer software system is composed out of extended business process templates.
  • Figure 23 is an exemplary screen shot of a process allowing the user to design a business object.
  • SSL is a general-purpose scripting language. It is used for the following purposes: • To model a Business Processes,
  • Chain of responsibility describes the behavior of a system that, if an object is unable to provide a given function or service, may pass the requirement to some other object. This object, in turn, may either handle the requirement or pass it on to another object.
  • This technique is very powerful when used in association with a hierarchy of objects, where a generic technique may be implemented at the root of the hierarchy and more specific techniques optionally implemented as the hierarchy expands and specializes.
  • Business Patterns may be organized within chain-of-responsibility relationships. This allows them to be looked up according to a hierarchy, thereby reducing the need for a user to define policies for every single object in the system.
  • Control Systems Wrappers must interface with any number of external control systems. Often, these systems communicate using their own proprietary mechanisms. To be able to communicate with them in a standard way, has defined a standard interface, called a wrapper that can take communication from one system and transpose it to the other system. Such interfaces are part of a particular solution (not the templates). However, the standard template defines a standard format that an interface to an external system must follow.
  • the objective of Business Process modeling is to derive event processes. Uses event processes to drive an object (such as an order) through the business activities defined in the Business Process. Event processes are represented as a state model for the object, and are realized by scripting together Business Patterns using Scripting Language (SSL).
  • Role adapters are used to adapt the interface on an object for a specific requirement.
  • the types of adaptation that a role adapter can provide include:
  • Event transformation when events generated by an object cannot be recognized by a recipient.
  • a scenario is a configuration device for configuring the operational behavior of deciding agents in an operational context. Scenarios are stored as predefined sets of configuration data. The right scenario in a particular context can be selected either automatically or by a human agent. Editing can only be done by a human agent.
  • Controls are the basic elements from which panels and screens are built.
  • EXAMPLE Type-in boxes, list boxes, scroll bars, etc.
  • Business process template A business process template is a set of Business Patterns.
  • the industry business process template would in many cases be built upon an industry-specific information.
  • the following shows how a custom computer software system is built from software components, business patterns, and an industry business process template.
  • demand-supply assignment - low-level method of a software component • order creation - business pattern production order creation - part of an industry template production order creation with a specific rule or condition - part of a custom computer software system Identifying Attribute
  • An identifying attribute is an attribute of an object that uniquely identifies the object that is used by an end user to identify the target object for some user interface function.
  • An order ID is an identifying attribute for an order.
  • Non-Identifying Attribute is an attribute of an object that is a non-unique key that helps identify an object. It is used by an end-user to identify the target object for some user interface function. Typically, these non-unique keys will result in a list of objects from which the user can select the target.
  • a customer ID is a non-identifying attribute for an order.
  • Panels are used to build screens. They consist of groups of interface software components called controls, which perform common tasks. Again, exploits commonality by providing a set of standard panels, which can be configured and used in many screens.
  • a tree-view panel could be used to view a hierarchy of objects, which could be a process description, or an order net. Screen
  • a screen is a high-level component that performs major elements of functionality in . Even though they operate in different functional contexts, screens often perform standard functions, like selecting objects, viewing hierarchies, and editing objects. Exploits this similarity by providing a library of standard screens which are parameterized, so that in template configuration, they can be adapted to different object classes with different rules. Modeling
  • a business event is a message generated by the system occurring as a result of a business trigger.
  • Other Business Processes may be launched by or waiting for the business event Business Object
  • a business object is an object in the database that is an input or an output of a Business Process. However, it is not necessary to identify all business objects, just the 'central' ones.
  • a business policy is a business step that describes in what way the execution of the same Business Process differs in different business units. It is a mechanism that allows the modeler to abstract Business Processes for different business units into a single model (e.g. orders are always split in Plant 1 but they are never split in Plant 2). A business policy may also be used to qualify the same referenced Business Process.
  • a Business Process is a step in either a business scenario or in a higher-level Business Process.
  • Business Processes may describe business activities performed by the user (user process), or by the system (system process).
  • a Business Process has a combination of other Business Processes.
  • a business rule is a business step that is a pause or a branch in the flow, and which is dependent upon something (a condition). This condition can be based on the state of a business object (e.g., the order is valid), or on the occurrence of a business event (e.g., an ATP result has arrived via workflow).
  • a condition can be based on the state of a business object (e.g., the order is valid), or on the occurrence of a business event (e.g., an ATP result has arrived via workflow).
  • a business scenario is a set of Business Processes to fulfill a particular purpose in a business unit.
  • a set of business scenarios describes all of the business activities of this business unit.
  • a business scenario contains at least one Business Process.
  • a business step is used to complement a Business Process. There are two kinds of business steps:
  • a business trigger is a business step that launches another Business Process, or generates a business event that causes another Business Process to do something.
  • a business unit is a unit of a business hierarchy.
  • Business units are organizations, physical locations, resources, or products.
  • Unit of Work The unit of work is a Business Process at the level of detail where, according to the methodology, the modeler stops drilling down. Technically, this corresponds to the level at which functionality can be performed by Business Patterns. Functionally, this is determined according to the following criteria: • The level of a screen or panel (subscreen) has been reached Single logical business activity
  • a use case is a particular situation that necessitates the slight variation of attributes to objects to address differences in business processes.
  • a state model is a description of the program an agent will follow. It is a mechanism the system builder uses to define the objects' specific steps and actions.
  • the present invention allows a user to define in a graphical way how to generate an application or template or custom solution based on a user defined Business Process Model, without programming.
  • the computerized system uses prefabricated software components. These components are described in the Solution Library.
  • the Solution Library includes a list of exclusive and completely exhaustive components (Business Patterns, data mapping models, state models). These components build up generic solutions for all business applications across the industry.
  • the prefabricated software components include order elements, resource elements and process elements, with a state table attached. They are composed into Business Patterns.
  • the Solution Library is aimed at facilitating the development and implementation of distributed business applications for industries.
  • Business applications include for example: available to promise, distributed master data, and integrated manufacturing execution for industries such as, automotive, process industries, services, etc.
  • the present invention provides an analysis of an optimal business process. Once the optimal business process is defined , a methodic mapping of preexisting computer software systems/third party software systems to the business process can demonstrate functionality gaps. A gap exists if the preexisting computer software system /third party system is unable to meet with the functional requirements dictated out of the business process. These gaps will be filled with components out of the Solution Library by : extending the Solution Library components to fulfil the specific industry and customer needs, through configuration, without programming, and by integration of existing solutions. Once the gaps are filled, the computer software system is operational and spans the user's entire business process. Accordingly, it is intended to embrace all such alternatives, modifications and variations as fall within the spirit and scope of the appended claims and equivalents.

Abstract

A method and apparatus that define in a graphical way how to generate an application or template or custom solution based on a user defined Business Process Model, without programming. The computerized system uses prefabricated software components. These components are described in the Solution Library. The Solution Library includes a list of exclusive and completely exhaustive components (Business Patterns, data mapping models, state models). These components build up generic solutions for all business applications across the industry. The prefabricated software components include order elements, resource elements and process elements, with a state table attached. They are composed into Business Patterns. The present invention provides an analysis of an optimal business process. Once the optimal business process is defined, a methodic mapping of preexisting computer software systems/third party software systems to the business process can demonstrate functionality gaps. A gap exists if preexisting computer software system/third party system is unable to meet with the functional requirements dictated out of the business process. These gaps will be filled with components out of the Solution Library by: extending the Solution Library components to fulfil the specific industry and customer needs, through configuration, without programming, and by integration of existing solutions. Once the gaps are filled, the computer software system is operational and spans the user's entire business process.

Description

Method and Apparatus for Business Modeling
BACKGROUND OF THE INVENTION
The present invention relates generally to computer programs and, specifically, to a method and apparatus for allowing a person to implement business computer software without having to write computer programs.
Today, competitive advantage belongs to companies that benefit from flexible and dynamic business processes. Unfortunately, many of today's supply chain solutions are unable to support a flexible and dynamic environment. The most popular software packages force customers to fit their business to the software. This requirement causes incredibly high implementation costs, upgrade costs, and clumsy modification of the customer's business. In other words, a customer's business is limited by the software.
To be flexible and dynamic, customers need something quite different. They need standard software that allows them to: easily shape the software to fit the specific needs of their company (not vice versa) and dynamically change the way they do business (on the fly) independent of software releases. Customers also need to successfully manage business processes across companies (partners) and systems, and to integrate the many systems with which they work to achieve supply chain success. The current generation of supply chain software simply cannot meet these needs.
In addition, companies today need to model supply chain processes for implementation, monitoring, and improvement; share supply chain processes and data across companies; model employees' work environments to meet their specific tasks and needs (that is, they need a scalable solution); generate supply chain solutions from models of their company-specific business processes; manage business processes across multiple software systems; be dynamic (in other words, be able to change or react very quickly); and have a supply chain solution that is standard, and yet, fits their company.
The following sections explain these requirements in more detail. For example, one large computer hardware manufacturer has a very specific way of handling direct ordering.
Their processes, however, are most likely different from processes at other companies in their industry. They need the freedom to run their business the way they want to and software that will support that freedom. Furthermore, individual company philosophies like "order today, get it tomorrow" demand very specific ordering and delivery processes that software should support, but not force on every company.
Companies also to be able to run what ifs to see the effects of changes or processes without implementing the changes. With what ifs, companies can inexpensively optimize the way they do business. Companies need to be able to concentrate on their business, not on the software that supports that business. This means that software must be transparent and efficiently allow them to run their businesses. Any software solution short of this requirement is unacceptable.
Companies need to share supply chain processes and data. Many companies have learned that one method of gaining competitive advantage is to partner with other companies that can handle specific tasks better than they themselves can. This means that companies today are open to partnership. This also means that business processes cross company lines. Crossing company lines can mean outsourcing processes, using an extended supply chain, or any number of additional possibilities. If business processes cross company lines, then data needs to be able to cross system lines as well. This means that any software solution today needs to be open to working with numerous technologies (for example, Internet, EDI, BAPIs). Partners or customers may not use the same systems and yet, need to be able to work with the data.
Companies need to customize employees' work environments. Even when many companies have business processes that are somewhat similar, the way the individual employees carry out those processes are probably quite different. For example, in a large company, one employee may enter sales orders, another might perform ATP checks, and yet another may create invoices. In a smaller company, however, one person may perform all of the above tasks. The employee at the larger company should not be forced to wade through unneeded data on the screen or series of screens. Similarly, the employee at the smaller company should not be forced to call three separate transactions.
Companies should have the opportunity to define the specific environments with which their employees work, thereby giving employees just what they need to be successful at their job. With such an environment, they can eliminate confusion, increase productivity, and reduce the chances of error. And, of course, companies should be able to do all of this without extreme pain or coding.
Companies need to be able to generate supply chain solutions from business models. If a company goes through the great effort of modeling its business processes down to the smallest details it would make the most sense if, from that model, they could automatically generate parts of its software solution. There is no reason that a company should ignore a model that it has toiled painstakingly over just to have to rework (configure) that model in a different system. Companies need to manage business processes across multiple software systems. One of the challenges with integration is that data structures between systems are often different.
In general, a company faces two challenges in a distributed environment: controlling data distribution and controlling process distribution. If, for example, a large beverage manufacturer distributes recipes, distributes work plans, and distributes material data, some parts of the data are stored and maintained centrally, and other parts of the data are decentralized. For example, the main mixture for cola may be centrally maintained, but the production or warehousing data may be maintained in multiple locations. As another example, jeans manufacturer executes production orders at the local level, but plans in a central system at the aggregation level. Currently, it would not have a global view of how many jeans, in which sizes, are actually finished and in stock..
Companies need to be dynamic. Only companies that can maintain flexible and dynamic business processes will hold a competitive advantage. Companies need to be able to change the way they do business at the drop of a hat, at the customer's whim, or in the face of unexpected challenges. If a business model changes, software has to be able to do the same. This is problematic if the software must be changed by a human being writing new code. Furthermore, a company should also be able to simulate the impacts of changes beforehand using what if scenarios. Coding such what-if scenarios takes time that companies often do not have and cannot afford.
One good thing about standard software is that companies don't have to develop it themselves. Many software packages force their users to run business their way, or only allow users to customize or modify their software by digging deep in the code — where they never know exactly what is affected.
SUMMARY OF THE INVENTION
A method and apparatus that define in a graphical way how to generate an application or template or custom solution based on a user defined Business Process Model, without programming. The computerized system uses prefabricated software components. These components are described in the Solution Library. The Solution Library includes a list of exclusive and completely exhaustive components (Business Patterns, data mapping models, state models). These components build up generic solutions for all business applications across the industry. The prefabricated software components include order elements, resource elements and process elements, with a state table attached. They are composed into Business Patterns. Due to their generic nature, these patterns can be applied to various industry domains from process industries to service business. An example would be the business pattern, split order. A sales order is split into a manufacturing order and a purchase order. In this process, the physical orders are represented by the "abstract" order objects. The resource element used can be the person doing this order split, or the system doing the split. The process element contains the rules according to which the split is done.
The Solution Library is aimed at facilitating the development and implementation of distributed business applications for industries. Business applications include for example: available to promise, distributed master data, and integrated manufacturing execution for industries such as, automotive, process industries, services, etc. The present invention provides an analysis of an optimal business process. Once the optimal business process is defined , a methodic mapping of preexisting computer software systems/ third party software systems to the business process can demonstrate functionality gaps. A gap exists if the preexisting computer software system /third party system is unable to meet with the functional requirements dictated out of the business process. These gaps will be filled with components out of the Solution Library by : extending the Solution Library components to fulfil the specific industry and customer needs, through configuration, without programming, and by integration of existing solutions. Once the gaps are filled, the computer software system is operational and spans the user's entire business process.
In accordance with the purpose of the invention, as embodied and broadly described herein, the invention relates to a method performed by a data processing system that allows a user to automatically generate a software computer system tailored to a particular business model, without programming by the user, comprising the steps of: facilitating the modeling of one or more business processes, business objects and business rules of the user to yield a business model having one or more business processes; optimizing the business model; if a business process does not correspond to a pre-existing computer software system, generating a new computer software system for the business process using a predefined software component library; and if a business process corresponds to pre-existing computer software system, then generating integration code from new computer software systems into the preexisting software systems using predefined integration software components.
In accordance with the purpose of the invention, as embodied and broadly described herein, the invention relates to a computerized method, comprising: providing mutually exclusive and completely exhaustive (MECE) software components for generating computer software systems for all business application across the industries, and providing software components for generating integration code into pre-existing software systems for commonly used pre-existing packaged software systems
Advantages of the invention will be set forth in part in the description which follows and in part will be obvious from the description or may be learned by practice of the invention. The objects and advantages of the invention will be realized and attained by means of the elements and combinations particularly pointed out in the appended claims and equivalents.
BRIEF DESCRIPTION OF THE DRAWINGS The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate several embodiments of the invention and, together with the description, serve to explain the principles of the invention.
Fig. 1 is a block diagram showing a model of a business process constructed with business objects and business rules specific to a customer or an industry. Fig. 2 is a block diagram showing what parts of the business process are not covered by a preexisting software system.
Fig. 3 is a block diagram showing a Business Process Modeling and Simulation environment, a Business Object Configuration environment, Cross software systems Integration and data mapping environment and a User Interface Building environment.
Fig. 4 is a block diagram showing the mapping of data models/data structures of the new computer software system and the preexisting software system using the business objects designed in the business process.
Fig. 5 is a flow chart showing the major steps taken in a preferred embodiment of the present invention.
Fig. 6 is a diagram showing an action and how it relates to a business process. Fig. 7 is a diagram showing a definition of a "to-be" model.
Fig. 8 is a diagram showing an example business process.
Fig. 9 is a diagram showing an example of a computer software system selected against requirements dictated by a business process.
Fig. 10 is a diagram showing the elements of a detailed modeling step.
Fig. 11 is a diagram showing dependencies between various system elements.
Fig. 12 lists exemplary attributes of the object facility.
Fig. 13 shows an exemplary state model for an order.
Fig. 14 shows an example of a different view of how the order goes from its FROM state to its TO state.
Fig. 15 shows a user interface screen, listing customer demand orders and proposed production to meet part of the order.
Fig. 16 shows an example of the pre-defined attributes of an order.
Fig. 17 is a table showing an extension of the order example, with some attributes and justification aspects for the order.
Fig. 18 shows an example of how extension of the data can be driven by some industry specifics.
Fig. 19 shows the overall structure of the various elements covered under the software components, and how they are grouped in a hierarchical order.
Fig. 20 is an overall view of the business process template composition.
Fig. 21(a) is a block diagram showing an exemplary data processing system implementing an embodiment of the present invention.
Fig. 22 shows an example of data mapping. Fig. 23 is an exemplary screen dump of a screen that facilitates the user's designing a business object.
DETAILED DESCRIPTION OF EMBODIMENTS
Reference will now be made in detail to several embodiments of the present invention, examples of which are illustrated in the accompanying drawings. Wherever practicable, the same reference numbers will be used throughout the drawings to refer to the same or like parts.
A. General Discussion
The present invention allows a business person or an inexperienced programmer to model a business process and design software for that business process. The following discussion relates to the general environment in which software in accordance with the present invention operates. Later discussion relates to specific examples of the present invention.
Fig. 21(a) is a block diagram showing an exemplary data processing system 2100 implementing an embodiment of the present invention. Data processing system 2100 communicates with the others via a network 2114. Network 2114 can be the Internet, a
WAN, a LAN, a wireless network, a cellular telephone network, a radio frequency network, or any other appropriate network on connection. System 2100 includes at least one processor
2102 and storage 2104 (such as a memory). Storage 2104 of system 2100 includes a variety of software and data structures, including business pattern(s) 2150, business process template(s) 2152, industry template(s) 2154, integration template(s) 2156, and at least one customer template 2158. Storage 2104 also includes software required to implement the methods and data structures described herein. The steps of the described embodiment of the present invention are performed when instructions of a computer program stored in storage 2104 (or similar storage) are performed by processor 2102 (or another appropriate processor).
System 2100 also includes at least one input device 2118, such as a keyboard, touchscreen, mouse, or the like. System 2100 also includes at least one output device 2120 such as a printer, display screen, or the like. System 2100 also includes a computer readable medium input device 2122 and a computer readable medium 2124. Computer readable medium 2124 can be any appropriate medium that has instructions and/or data structures and/or objects stored thereon. These instructions etc. are loaded from computer readable medium 2124 into storage area 2104. Instructions etc. can also be loaded into storage area 2104 in the form of a carrier wave or similar signal over network connection 2114. Thus, the instructions and data in storage 2104 can be loaded into storage via an input device, via a network, such as the internet, a LAN, or a WAN, or can be loaded from a computer readable medium such as a floppy disk, CD ROM, or other appropriate computer readable medium. The instructions can also be downloaded in the form of a carrier wave over a network connection.
System 2100 also includes an operating system (not shown). A person of ordinary skill in the art will understand that the storage/memory also contains additional information, such as application programs, operating systems, data, etc., which are not shown in the Figure for the sake of clarity. It also will be understood that data processing system 2100 (or any other data processing system described herein) can also include numerous elements not shown, such as additional data, software, and/or information in memory, disk drives, keyboards, display devices, network connections, additional memory, additional CPUs, LANs, input/output lines, etc.
It will be understood that the invention is not limited to any particular implementation or programming technique and that the invention may be implemented using any appropriate techniques for implementing the functionality described herein. The invention may be implemented in any appropriate operating system using any appropriate programming language or programming techniques and may be implemented as hardware, software, or any appropriate combination of hardware and/or software.
B. More Specific Discussion
A computerized system is provided which defines in a graphical way how to generate an application or template or custom solution based on a user defined Business Process Model, without programming. This system is called the Solution Environment (a preferred embodiment is called the "Skva Solution Environment"). The computerized system comprises the mapping of data models/data structures of the new computer software system and the pre-existing computer software system using the business objects designed in the business process (Figure 4) uses prefabricated software components in a methodic way. These components are described in the Solution Library. (Pre-existing computer software is sometimes called third party computer software, since some pre-existing software is available from third parties.)
The Solution Library includes a list of exclusive and completely exhaustive components (Business Patterns, data mapping models, state models). These components build up generic solutions for all business applications across the industry. Figure 22 shows an example of data mapping in which Enterprise Resource Planning (ERP) data and scheduling data are mapped to an object framework.
The prefabricated software components include order elements, resource elements and process elements, with a state table attached. They are composed into Business Patterns. Due to their generic nature, these patterns can be applied to various industry domains from process industries to service business. An example would be the business pattern, split order. A sales order is split into a manufacturing order and a purchase order. In this process, the physical orders are represented by the "abstract" order objects. The resource element used can be the person doing this order split, or the system doing the split. The process element contains the rules according to which the split is done.
The Solution Library is aimed at facilitating the development and implementation of distributed business applications for industries. Business applications include for example: available to promise, distributed master data, and integrated manufacturing execution for industries such as, automotive, process industries, services, etc. The composition of the solution is achieved by using the Solution Environment. This environment is a methodic analysis of the optimal business process. Once the optimal business process is defined , a methodic mapping of preexisting computer software systems software to the business process can demonstrate functionality gaps. A gap exists if the preexisting computer software system is unable to meet with the functional requirements dictated out of the business process. These gaps will be filled with components out of the Solution Library by extending the Solution Library components to fulfil the specific industry and customer needs, through configuration, without programming and by integration of existing solutions
Once the gaps are filled, the computer software system is operational, it now spans the entire business process.
Different industries seem to have specific requirements for specific business applications. Across the industries, we have found a list of completely exhaustive and mutually exclusive common Business Patterns and a single data model. These can be extended to meet the specifics in every industry and business application. Because the business patterns are exhaustive, they cover every possible business. Because they are exclusive, only one is appropriate in a given situation.
The solution environment comes with a unique methodology and set of unique tools that enable the building of a business application based on the customer's business process model. The business process model includes definition of busines hierarchies, business objects and business rules.
A solution is composed using business patterns. This composition is carried out with a unique methodology which includes the following steps: • Model the business process, business objects and business rules of a customer or industry. This model is the graphical representation of the way the end user executes his business process.
• Optimizing the business process model
• A solution gap analysis defines which parts of the business process are covered by preexisting software systems, and which parts are not covered.
• if the business processes are not found in a preexisting computer software system, generates the new computer software system from the business process using a predefined software component library
• if the business process is covered in a preexisting computer software system, then automatically generating the integration code from the new computer software system into the preexisting computer software system using predefined integration software components.
The Solution Environment, used in the methodology, provides the environment for the generation and configuration of the business application without the need for programming. The environment includes:
• Business Process Modeling and optimizing
• Business Object Configuration
• Cross preexisting software systems integration and data mapping
• Graphical user interface building The methodology makes further use of Business Patterns and Business Process
Templates as building blocks to fill the functionality gaps.
A graphical representation of the composition of computer software system is given through Figures 1 to 4. The methodic generation of the customer software solution starts with a graphical representation of the business process. The model is constructed with business objects (e.g., business object 102) and business rules (e.g.. business rules 104) specific to a customer or an industry (Figure 1).
In the business process 202, map the different business processes to software systems, and find out what parts of the business process are not covered 204 by a preexisting software/third party software system (Figure 2).
The functional gaps that will be discovered on Figure 2 must be filled with a software system. In order to fill the functionality gaps we offer business process templates, industry templates and integration templates. These are assembled and configured using the Solution Environment 302. This environment includes a Business Process Modeling and Simulation environment, a Business Object Configuration environment, Cross software systems Integration and data mapping environment and a User Interface Building environment (Figure 3).
A final step is the generation of the integration code from the new computer software systems into the third party software systems using predefined integration software components. It comprises mapping of data models/data structures of the new computer software system 402 and the third party computer software system 404 using the business objects designed in the business process (Figure 4).
1 The Solution Environment The Solution Environment contains the tools to compose the computer software system. A unique methodology is used to make these tools work. This method begins with the business process definition, and by making use of the Solution Environment, generates the computer software system. The methodology is graphically represented in Figure 5 to 11. Figure 5 details the major steps taken in the methodology. Each of the blocks is further detailed in a following paragraph. The legend for looking at the following paragraphs is given in Figure 6.
1.1 Model the 'to-be' Process
Further detailing the step described above is the definition of the "to-be" model,
Figure 7. When the to-be model is defined, a simulation of the model will lead to the optimal solution, optimizing this business process model. One will define a list of business opportunities, define alternative scenarios based on these opportunities, simulate the scenario and validate to see if this is a suitable solution. Once validated and found optimal, this solution found will serve as the input into the next step, which system is to be selected to fit this Business Process.
An example business process is shown in Figure 8. In this example an order comes in and is processed. One level under order processing is the process of checking the order credit. The example shows various elements of the model like the business processes and actions, the events, and resources.
1.2 System Selection
In order to map a business process into a computer software system, the following procedure is followed. In the different business processes of Figure 9 a computer software system is selected against requirements dictated by the business process. If the business processes are not found in a preexisting computer software system, generates the new computer software system from the business process using a predefined software component library.
If the business process is covered in a preexisting computer software system/third party software system, then automatically generates the integration code from the new computer software system into the third party computer software system using predefined integration software components
1.3 Detailed Modeling
The detailed modeling is the transition from the business process, obtained through the process of in Figure 7, towards defining what elements of the Solution Library need to be applied in order to compose, without programming, the custom software computer system. Figure 10 describes the elements of the detailed modeling step.
Different terms are used in Figure 10. In the following we will define these terms. For convenience the terms are marked bold, such will bring them forward in the text.
Business Process and Business Object
Business Processes may describe business activities performed by the user, or by the computer software system. A business process is made from a combination of other business processes. A Business Object is a data structure to store dynamic information as an output of a business action. The information contained within a business object, an attribute, will be used as the input for business rules and business actions . A business action is an action performed on a business object, which may change the state associated with that object. The business rule defines a decision pattern that needs to be followed.
These different elements are displayed in Figure 11, which also highlights their dependency. Attributes are the basic construct of the data structure definition. An attribute defines an abstract data type. For example, Figure 12 shows some attributes to the object facility: its identifier, name and a deleted or not description. Each data structure is composed of a number of optional logical groups of attributes called aspects.
The state model defines the dynamic behavior of the business object in terms of a set of states that the business object goes through during its life span. An external event - either sent by the user or by the system - to the business object, triggers a transition defined in the state model associated with the target business object. The transition that is triggered depends on the state that the business object is in, at the time the event is delivered. If the trigger rule conditions (associated with the transition) evaluate to true, the actions associated with the transition are executed and push the business object along its life-cycle. Each transition associated with the state of the business object is evaluated in turn until one is taken (conditions evaluate to true) or if no transition is taken, the event is discarded.
Figure 13 shows a state model for an order. A different view is how the order goes from its FROM state to its TO state. See Figure 14. DMO is the Detailed Manufacturing Order.
The User Interface is a finally defined with its user interactive screens. Figure 15 shows a user interface screen, listing customer demand orders and proposed production to meet part of the order.
4 SOFTWARE COMPONENTS
4.1 Abstract
The Solution Library contains a set of software components. The software components are resource elements, order elements, and process elements, and explained in detail hereafter. A business application library is a pre-configured assembly of business patterns and business objects to form business process templates, industry templates, integration templates. The library can be oriented towards industry-neutral demand and supply-related problems, such as: Production order planning, Production order scheduling ATP check
Maintenance scheduling, Production order execution and confirmation. The library contains the following:
Base objects and methods organized into software components. Reusable domain-level business process software components:
Business Patterns Groups of business patterns assembled into industry templates, business process templates, and integration templates
4.2 Software components definition
The software components are the business objects in the Solution Library. They include resource elements, order elements, and process elements and are related to each other in various ways. Those relationship defines the object hierarchy. These three objects are very abstract in the way they represent business objects and business processes of an enterprise.
The software components must be: -Independent - meaning that the configuration of one component does not affect the configuration of others
- Mutually exclusive - meaning that there is no conceptual overlap between software components. Thus, there is exactly one object in the Solution Library responsible for storing a particular piece of information or carrying out a specific function. Completely Exhaustive - meaning that there is always one part in the Solution library responsible for all anticipated kinds of objects and business activities.
1.1.1 Software components list
Resource elements are the means to execute business activities, e.g. work centers, tools, raw materials, finished products, and waste. Resource elements may be grouped. There are various criteria for grouping resource elements, e.g. product groups and organizational units. Order elements are used as software components for decision communication and tracking in a real world where communicating partners are separated by aggregation and location differences in their view of the supply chain.
A process element is used to describe how one may carry out a business activity. Relative and/or conditional timing of the (sub) business activities involved is an important part of this description. The business rules define how the process is executed, according to what rules.
As an example, a sales order comes in and is split into a manufacturing order and a purchase order. The two kinds of physical orders (manufacturing and purchase) are represented by abstract order objects, the department where the order splitting takes place is the resource, and the process element would hold information on how to split the order, according to business rules. In this example, the resource used is the work center to process and order through a process element. 1.0.0 Predefined aspects and attributes Every software component can have various predefined aspects and attributes. An attribute is data field, which contains data belonging to that object. Attributes can be grouped in a logical order to form aspects. For example and order has these aspects predefined to it.
Order justification :
The justification part of an order describes the reason for the existence of the order. The justification section includes references to other orders that caused this order to be instantiated. It also contains the due date, the product and the quantity to be produced.
Order decision :
The decision part of an order element collects the decisions associated with the processing of an order. These decisions may include references to the predicted process that is linked to the order and decisions concerning the predicted due time of the order.
Order progress:
The progress part of an order element is used for keeping the tracking information that is reported from the fulfillment of the order. This information is propagated from one order to the superior order using the individual order justifications. An example of the pre-defined attributes of an order are given here and described in
Figure 16. A sales order leads into a purchase order and an aggregate manufacturing order.
So the order justification part would contain the information with respect to the order net work that exist, as is the case in Figure 16. The order net is the network of orders that is generated based on then sales order, it is the dis-aggregation of an order into other orders.
The decision aspect of the sales order could contain information such as when this order needs to be delivered, or a reference to the process to be followed to fulfill the order on the manufacturing order.
The progress aspect holds the data related to the actual progress of the order such as the total quantity produced at a given time on the manufacturing order.
1.0.0 Aspects and attributes for a particular solution
On a purchase order for example, one will define specific attributes for a specific computer system. The order example has been extended in the table in Figure 17, with some attributes and justification aspects for the order. Extension of the data can be driven by some industry specifics as described in Figure 18.
1.0 Business Patterns
Business patterns complement the software components by providing generic functions, systems integration functions and industry specific functionality in a distributed environment. Figure 19 shows the overall structure of the various elements covered under the software components, and how they are grouped in a hierarchical order. The Figure covers the business patterns, its components, and how business patterns build up business process templates.
Business patterns may be constructed from sub-business patterns. They interact with objects in the repository, with users, and with agents. The interfaces for these interactions are defined as roles within the business patterns. To execute the business pattern, the scripting language provides information that identifies the objects, the users and the agents that will play the roles defined in the business pattern. Communication between the roles and the players takes place using role adapters, which allow a 'plug and play' approach to business pattern use. This increases the reusability of the business pattern. Conditions are also used to affect the behavior of the business pattern. These may be associated with the business pattern itself, the objects, the users or the agents associated with the roles of the business pattern. Typically, these conditions implement business rules or provide an algorithm that is specific to the context in which the business pattern is used.
Role adapters are used to adapt the interface on an object for a specific requirement. The types of adaptation that a role adapter can provide include: Event transformation - when events generated by an object cannot be recognized by a recipient.
Terminology transformation - when a generic interface on an object must be presented according to the expectations of the problem domain (e.g. a resource element is presented as a work center). Data transformation - when generic data is presented in a specific way to meet the needs of the data consumer (e.g. a user needs to see text, numeric values, currency values etc. according to a specific language and country requirements).
For example, a business pattern providing a generic order generation capability may be used in a wide variety of application contexts, such as planning, production, or warehouse management. This business pattern can be customized for each application through conditions that govern how the pattern will behave in the specific context. Order generation may involve the use of a 'create order' subpattern whose responsibility it is to create a new order representation and manage order ID generation. 'Create order' will use the order ID generation condition to allow customization of how order IDs are generated.
4.4 Business Process Templates
A Business Process template is a set of business patterns that implement a set of recognized business practices. A business process template might be associated to a specific industry, it than becomes an industry specific business process template. Business process templates may also serve as integration enablers of software systems, than they are integration derived business process templates. Figure 20 is an overall view of the business process template composition. In a specific customer case the computer software system is composed out of extended business process templates. Figure 23 is an exemplary screen shot of a process allowing the user to design a business object.
5 General Terminology
Scripting Language (SSL)
SSL is a general-purpose scripting language. It is used for the following purposes: To model a Business Processes,
To describe an agent behavior, and
To define a descriptive Business Processes.
Chain of Responsibility
Chain of responsibility describes the behavior of a system that, if an object is unable to provide a given function or service, may pass the requirement to some other object. This object, in turn, may either handle the requirement or pass it on to another object.
This technique is very powerful when used in association with a hierarchy of objects, where a generic technique may be implemented at the root of the hierarchy and more specific techniques optionally implemented as the hierarchy expands and specializes.
Business Patterns may be organized within chain-of-responsibility relationships. This allows them to be looked up according to a hierarchy, thereby reducing the need for a user to define policies for every single object in the system.
Control Systems Wrapper
Control Systems Wrappers must interface with any number of external control systems. Often, these systems communicate using their own proprietary mechanisms. To be able to communicate with them in a standard way, has defined a standard interface, called a wrapper that can take communication from one system and transpose it to the other system. Such interfaces are part of a particular solution (not the templates). However, the standard template defines a standard format that an interface to an external system must follow.
Event Process
The objective of Business Process modeling is to derive event processes. Uses event processes to drive an object (such as an order) through the business activities defined in the Business Process. Event processes are represented as a state model for the object, and are realized by scripting together Business Patterns using Scripting Language (SSL
Role Adapter
Role adapters are used to adapt the interface on an object for a specific requirement. The types of adaptation that a role adapter can provide include:
Event transformation - when events generated by an object cannot be recognized by a recipient.
Terminology transformation - when a generic interface on an object must be presented according to the expectations of the problem domain (e.g. a resource element is presented as a work center). Data transformation - when generic data is presented in a specific way to meet the needs of the data consumer (e.g. a user needs to see text, numeric values, currency values etc. according to a specific language and country requirements). Scenario
A scenario is a configuration device for configuring the operational behavior of deciding agents in an operational context. Scenarios are stored as predefined sets of configuration data. The right scenario in a particular context can be selected either automatically or by a human agent. Editing can only be done by a human agent.
Templates
Control
Controls, sometimes referred to as 'widgets', are the basic elements from which panels and screens are built.
EXAMPLE: Type-in boxes, list boxes, scroll bars, etc.
Business process template A business process template is a set of Business Patterns. The industry business process template would in many cases be built upon an industry-specific information. The following shows how a custom computer software system is built from software components, business patterns, and an industry business process template. demand-supply assignment - low-level method of a software component order creation - business pattern production order creation - part of an industry template production order creation with a specific rule or condition - part of a custom computer software system Identifying Attribute
An identifying attribute is an attribute of an object that uniquely identifies the object that is used by an end user to identify the target object for some user interface function.
EXAMPLE: An order ID is an identifying attribute for an order.
Non-Identifying Attribute A non-identifying attribute is an attribute of an object that is a non-unique key that helps identify an object. It is used by an end-user to identify the target object for some user interface function. Typically, these non-unique keys will result in a list of objects from which the user can select the target.
EXAMPLE: A customer ID is a non-identifying attribute for an order.
Panel
Panels are used to build screens. They consist of groups of interface software components called controls, which perform common tasks. Again, exploits commonality by providing a set of standard panels, which can be configured and used in many screens.
EXAMPLE: A tree-view panel could be used to view a hierarchy of objects, which could be a process description, or an order net. Screen
A screen is a high-level component that performs major elements of functionality in . Even though they operate in different functional contexts, screens often perform standard functions, like selecting objects, viewing hierarchies, and editing objects. Exploits this similarity by providing a library of standard screens which are parameterized, so that in template configuration, they can be adapted to different object classes with different rules. Modeling
Business Event
A business event is a message generated by the system occurring as a result of a business trigger. Other Business Processes may be launched by or waiting for the business event Business Object
A business object is an object in the database that is an input or an output of a Business Process. However, it is not necessary to identify all business objects, just the 'central' ones.
EXAMPLE: Production order and sales order.
Business Policy
A business policy is a business step that describes in what way the execution of the same Business Process differs in different business units. It is a mechanism that allows the modeler to abstract Business Processes for different business units into a single model (e.g. orders are always split in Plant 1 but they are never split in Plant 2). A business policy may also be used to qualify the same referenced Business Process.
Business Process
A Business Process is a step in either a business scenario or in a higher-level Business Process. Business Processes may describe business activities performed by the user (user process), or by the system (system process). A Business Process has a combination of other Business Processes.
Business Process Modeling
The description of a Business Process, typically tracing the flow of business documents, such as orders, in terms of the individual steps performed, and the alternative paths that the document may take. Often, there is an 'as-is* model, covering the existing process, and a 'to- be' model, covering the newly designed or reengineered process. Business Process Simulation
The use of computerized simulation tools to simulate a Business Process model in order to verify its accuracy, to measure various business metrics such as response times, resource utilization, and to perform what-if analysis.
Business Rule
A business rule is a business step that is a pause or a branch in the flow, and which is dependent upon something (a condition). This condition can be based on the state of a business object (e.g., the order is valid), or on the occurrence of a business event (e.g., an ATP result has arrived via workflow).
Business Scenario
A business scenario is a set of Business Processes to fulfill a particular purpose in a business unit. A set of business scenarios describes all of the business activities of this business unit. A business scenario contains at least one Business Process.
Business Step
A business step is used to complement a Business Process. There are two kinds of business steps:
Business triggers (including workflow notifications)
Business rules (including waits)
Business Trigger
A business trigger is a business step that launches another Business Process, or generates a business event that causes another Business Process to do something.
Business Unit
A business unit is a unit of a business hierarchy. Business units are organizations, physical locations, resources, or products. Unit of Work The unit of work is a Business Process at the level of detail where, according to the methodology, the modeler stops drilling down. Technically, this corresponds to the level at which functionality can be performed by Business Patterns. Functionally, this is determined according to the following criteria: The level of a screen or panel (subscreen) has been reached Single logical business activity
Activity that is performed by one user (or the system automatically) at one point in time
Must be the same size or smaller than a transaction (where a user would say OK or Cancel)
The lowest level of user involvement ('what' not 'how') The level where the system does not give the user a choice
Use Case
A use case is a particular situation that necessitates the slight variation of attributes to objects to address differences in business processes.
EXAMPLE:
In the order entry use area, there may be separate use cases for new orders, reorders, EDI orders, changes to orders, etc.
State Model
A state model is a description of the program an agent will follow. It is a mechanism the system builder uses to define the objects' specific steps and actions.
It includes the following software components:
The specific fixed or optional steps (called states) in an object's life cycle, The specific events that can be expected when an order object is in a specific state, Any specific conditions which must be fulfilled before certain actions are taken,
The specific actions that the computer software system must perform when the conditions are fulfilled. One very important action that must be specified is what the new state of the object will be after the actions are completed, and The exceptions that may arise when executing the actions and what is the new state.
However, not every type of agent behavior can be described by a state model. State models are only used in special types of agents, i.e. agents that track or guide objects through their state life cycle after they have been created by other agents. In summary, the present invention allows a user to define in a graphical way how to generate an application or template or custom solution based on a user defined Business Process Model, without programming. The computerized system uses prefabricated software components. These components are described in the Solution Library. The Solution Library includes a list of exclusive and completely exhaustive components (Business Patterns, data mapping models, state models). These components build up generic solutions for all business applications across the industry. The prefabricated software components include order elements, resource elements and process elements, with a state table attached. They are composed into Business Patterns. Due to their generic nature, these patterns can be applied to various industry domains from process industries to service business. The Solution Library is aimed at facilitating the development and implementation of distributed business applications for industries. Business applications include for example: available to promise, distributed master data, and integrated manufacturing execution for industries such as, automotive, process industries, services, etc.
The present invention provides an analysis of an optimal business process. Once the optimal business process is defined , a methodic mapping of preexisting computer software systems/third party software systems to the business process can demonstrate functionality gaps. A gap exists if the preexisting computer software system /third party system is unable to meet with the functional requirements dictated out of the business process. These gaps will be filled with components out of the Solution Library by : extending the Solution Library components to fulfil the specific industry and customer needs, through configuration, without programming, and by integration of existing solutions. Once the gaps are filled, the computer software system is operational and spans the user's entire business process. Accordingly, it is intended to embrace all such alternatives, modifications and variations as fall within the spirit and scope of the appended claims and equivalents.

Claims

WHAT IS CLAIMED IS:
1. A method performed by a data processing system that allows a user to automatically generate a software computer system tailored to a particular business model, without programming by the user, comprising the steps of: facilitating the modeling of one or more business processes, business objects and business rules of the user to yield a business model having one or more business processes; optimizing the business model; if a business process does not correspond to a pre-existing computer software system, generating a new computer software system for the business process using a predefined software component library; and if a business process corresponds to pre-existing computer software system, then generating integration code from new computer software systems into the pre-existing software systems using predefined integration software components.
2. The method according to claim 1 wherein said facilitating the modeling of the business process includes facilitating designing of business processes, business objects, business hierarchies and business rules.
3. The method according to claim 1 wherein optimizing the business model includes: simulating business process alternatives, and identifying the optimal business process in terms of improving the companies key success factors.
4. The method according to claim 1 wherein generating the new computer software system from the business process using a predefined solution library includes generating business objects, generating business hierarchies, generating state models, and generating user interfaces.
5. The method according to claim 1 wherein generating the integration code from the new computer software systems into the third party software systems using predefined integration software components includes generating the mapping of data models/data structures of the new computer software system and the third party computer software system using the business objects designed in the business process
6. A computerized method, comprising: providing mutually exclusive and completely exhaustive (MECE) software components for generating computer software systems for all business application across the industries, and providing software components for generating integration code into preexisting software systems for commonly used pre-existing packaged software systems
7. The method according to claim 6, wherein the mutually exclusive and completely exhaustive software components for generating computer software systems for all business application across the industries includes the following software components: business process templates, industry templates, and integration templates.
8. The method according to claim 7, wherein said business process templates includes: business objects, object attributes, relationships between objects, configurable behavior of the objects defined by the business object state models, display panels to visualize the business objects, and business patterns that provide the software functions of the template.
9. The method according to claim 7, wherein said industry templates includes: business objects, object attributes, relationships between objects, configurable behavior of the objects defined by the business object state models, display panels to visualize the business objects, and business patterns that provide the software functions of the template.
10. The method according to claim 7, wherein said industry templates includes: industry specific business objects, industry specific object attributes, industry specific relationships between objects, configurable behavior of the industry specific objects defined by the industry specific business object state models, industry specific display panels to visualize the business objects, and industry specific business patterns that provide the software functions of the template.
11. The method according to claim 7, wherein said integration templates includes: business objects, object attributes, relationships between objects, configurable behavior of the objects defined by the business object state models, display panels to visualize the business objects, and business patterns that provide the software functions of the template.
12. The method according to claim 7, wherein said integration templates includes: integration derived business objects, integration derived object attributes, integration derived relationships between objects, integration derived configurable behavior of the objects defined by the integration derived business object state models, integration derived display panels to visualize the business objects, and integration derived business patterns that provide the software functions of the template.
13. An apparatus that allows a user to automatically generate a software computer system tailored to a particular business model, without programming by the user, comprising: a software portion configured to facilitate the modeling of one or more business processes, business objects and business rules of the user to yield a business model having one or more business processes; a software portion configured to optimize the business model; a software portion configured to, if a business process does not correspond to a pre-existing computer software system, generate a new computer software system for the business process using a predefined software component library; and a software portion configured to, if a business process corresponds to preexisting computer software system, then generate integration code from new computer software systems into the pre-existing software systems using predefined integration software components.
PCT/US1999/027883 1999-11-24 1999-11-24 Method and apparatus for business modeling WO2001038976A1 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2001540463A JP2003516569A (en) 1999-11-24 1999-11-24 Business modeling method and apparatus
AU20294/00A AU2029400A (en) 1999-11-24 1999-11-24 Method and apparatus for business modeling
EP99963965A EP1234232A1 (en) 1999-11-24 1999-11-24 Method and apparatus for business modeling
PCT/US1999/027883 WO2001038976A1 (en) 1999-11-24 1999-11-24 Method and apparatus for business modeling

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US1999/027883 WO2001038976A1 (en) 1999-11-24 1999-11-24 Method and apparatus for business modeling

Publications (1)

Publication Number Publication Date
WO2001038976A1 true WO2001038976A1 (en) 2001-05-31

Family

ID=22274137

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US1999/027883 WO2001038976A1 (en) 1999-11-24 1999-11-24 Method and apparatus for business modeling

Country Status (4)

Country Link
EP (1) EP1234232A1 (en)
JP (1) JP2003516569A (en)
AU (1) AU2029400A (en)
WO (1) WO2001038976A1 (en)

Cited By (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003048995A1 (en) * 2001-12-04 2003-06-12 Ravi Shankar Method of concurrent visualization of process module outputs
WO2003102763A2 (en) * 2002-05-29 2003-12-11 Enigmatec Corporation Generation of executable processes for distribution
EP1492000A2 (en) * 2003-06-25 2004-12-29 Hyfinity Limited System and associated methods for software assembly
US6947951B1 (en) * 2000-04-07 2005-09-20 Gill Harjinder S System for modeling a business
US7073164B1 (en) * 2001-06-07 2006-07-04 I2 Technologies Us, Inc. Software deployment system and method
US7152053B2 (en) 2000-05-09 2006-12-19 Fair Isaac Corporation Approach for re-using business rules
US7213232B1 (en) * 2001-06-07 2007-05-01 12 Technologies, Inc. System and method for configuring software using a business modeling tool
US7359768B2 (en) 2004-10-29 2008-04-15 International Business Machines Corporation Route input system
US20080140472A1 (en) * 2006-12-12 2008-06-12 Dagan Gilat Method and Computer Program Product for Modeling an Organization
US7389217B2 (en) * 2001-06-07 2008-06-17 International Business Machines Corporation Method for delivering a technical framework
JP2008536210A (en) * 2005-03-21 2008-09-04 デクステラ・インコーポレイテッド Module application for mobile data systems
US7490331B2 (en) 2003-03-04 2009-02-10 International Business Machines Corporation Mapping to and from native type formats
GB2453437A (en) * 2007-10-03 2009-04-08 Britesoft Solutions Customizable application system
US7613671B2 (en) 2005-02-15 2009-11-03 Fair Isaac Corporation Approach for re-using business rules
US7653525B2 (en) 2001-06-07 2010-01-26 International Business Machines Corporation Enterprise service delivery technical architecture
EP2223277A1 (en) * 2007-12-20 2010-09-01 Hewlett-Packard Development Company, L.P. Model based deployment of computer based business process on dedicated hardware
US8051154B2 (en) 2001-06-07 2011-11-01 International Business Machines Corporation Enterprise service delivery technical framework
CN102663569A (en) * 2012-05-07 2012-09-12 广东优迈信息通信技术有限公司 Visualized workflow engine system
US8312419B2 (en) 2008-10-30 2012-11-13 Hewlett-Packard Development Company, L.P. Automated lifecycle management of a computer implemented service
US8407663B2 (en) 2008-04-01 2013-03-26 Microsoft Corporation Upgrading simple applications to full scale solutions
CN103617047A (en) * 2013-12-16 2014-03-05 北京中电普华信息技术有限公司 Method, device and processor for developing business processes
US8904341B2 (en) 2007-04-30 2014-12-02 Hewlett-Packard Development Company, L.P. Deriving grounded model of business process suitable for automatic deployment
US9224110B2 (en) * 2007-03-08 2015-12-29 Jda Software Group, Inc. Sub-problem optimization of supply chain planning problems
US11386265B2 (en) 2020-12-15 2022-07-12 International Business Machines Corporation Facilitating information technology solution templates
US11645595B2 (en) 2020-12-15 2023-05-09 International Business Machines Corporation Predictive capacity optimizer

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103413205A (en) * 2013-08-26 2013-11-27 国家电网公司 Quick develop and design method and device for SAP workflow
CN113543210B (en) * 2021-06-28 2022-03-11 北京科技大学 5G-TSN cross-domain QoS and resource mapping method, equipment and computer readable storage medium

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0722140A1 (en) * 1994-07-12 1996-07-17 Jr East Japan Information Systems Co., Ltd. Method of writing program for specific business
EP0895156A1 (en) * 1997-07-30 1999-02-03 Knowledge Modeling Institute Inc. Apparatus for automatically applying and preparing software

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0722140A1 (en) * 1994-07-12 1996-07-17 Jr East Japan Information Systems Co., Ltd. Method of writing program for specific business
EP0895156A1 (en) * 1997-07-30 1999-02-03 Knowledge Modeling Institute Inc. Apparatus for automatically applying and preparing software

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
KIEM-PHONG VO: "IFS: A TOOL TO BUILD APPLICATION SYSTEMS", IEEE SOFTWARE,US,IEEE COMPUTER SOCIETY. LOS ALAMITOS, vol. 7, no. 4, 1 July 1990 (1990-07-01), pages 29 - 36, XP000137895, ISSN: 0740-7459 *

Cited By (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6947951B1 (en) * 2000-04-07 2005-09-20 Gill Harjinder S System for modeling a business
US7277875B2 (en) 2000-05-09 2007-10-02 Fair Isaac Corporation User selectable approach for generating modifiable rules
US7152053B2 (en) 2000-05-09 2006-12-19 Fair Isaac Corporation Approach for re-using business rules
US7389217B2 (en) * 2001-06-07 2008-06-17 International Business Machines Corporation Method for delivering a technical framework
US7885804B2 (en) 2001-06-07 2011-02-08 International Business Machines Corporation Computer program product and system for delivering a technical framework
US7073164B1 (en) * 2001-06-07 2006-07-04 I2 Technologies Us, Inc. Software deployment system and method
US7653525B2 (en) 2001-06-07 2010-01-26 International Business Machines Corporation Enterprise service delivery technical architecture
US7213232B1 (en) * 2001-06-07 2007-05-01 12 Technologies, Inc. System and method for configuring software using a business modeling tool
US8051154B2 (en) 2001-06-07 2011-11-01 International Business Machines Corporation Enterprise service delivery technical framework
WO2003048995A1 (en) * 2001-12-04 2003-06-12 Ravi Shankar Method of concurrent visualization of process module outputs
WO2003102763A2 (en) * 2002-05-29 2003-12-11 Enigmatec Corporation Generation of executable processes for distribution
WO2003102763A3 (en) * 2002-05-29 2004-09-23 Enigmatec Corp Generation of executable processes for distribution
US7490331B2 (en) 2003-03-04 2009-02-10 International Business Machines Corporation Mapping to and from native type formats
EP1492000A3 (en) * 2003-06-25 2007-06-20 Hyfinity Limited System and associated methods for software assembly
EP1492000A2 (en) * 2003-06-25 2004-12-29 Hyfinity Limited System and associated methods for software assembly
US7774747B2 (en) 2003-06-25 2010-08-10 Hyfinity Limited System and associated methods for software assembly
US7359768B2 (en) 2004-10-29 2008-04-15 International Business Machines Corporation Route input system
US7613671B2 (en) 2005-02-15 2009-11-03 Fair Isaac Corporation Approach for re-using business rules
JP2008536210A (en) * 2005-03-21 2008-09-04 デクステラ・インコーポレイテッド Module application for mobile data systems
US20080140472A1 (en) * 2006-12-12 2008-06-12 Dagan Gilat Method and Computer Program Product for Modeling an Organization
US9224110B2 (en) * 2007-03-08 2015-12-29 Jda Software Group, Inc. Sub-problem optimization of supply chain planning problems
US10614397B2 (en) 2007-03-08 2020-04-07 Blue Yonder Group, Inc. Sub-problem optimization of supply chain planning problems
US10235647B2 (en) 2007-03-08 2019-03-19 Jda Software Group, Inc. Sub-problem optimization of supply chain planning problems
US8904341B2 (en) 2007-04-30 2014-12-02 Hewlett-Packard Development Company, L.P. Deriving grounded model of business process suitable for automatic deployment
GB2453437A (en) * 2007-10-03 2009-04-08 Britesoft Solutions Customizable application system
CN101946258B (en) * 2007-12-20 2013-05-29 惠普开发有限公司 Model based deployment of computer based business process on dedicated hardware
CN101946258A (en) * 2007-12-20 2011-01-12 惠普开发有限公司 Model based deployment of computer based business process on dedicated hardware
EP2223277A4 (en) * 2007-12-20 2012-02-29 Hewlett Packard Development Co Model based deployment of computer based business process on dedicated hardware
EP2223277A1 (en) * 2007-12-20 2010-09-01 Hewlett-Packard Development Company, L.P. Model based deployment of computer based business process on dedicated hardware
US8407663B2 (en) 2008-04-01 2013-03-26 Microsoft Corporation Upgrading simple applications to full scale solutions
US8312419B2 (en) 2008-10-30 2012-11-13 Hewlett-Packard Development Company, L.P. Automated lifecycle management of a computer implemented service
CN102663569A (en) * 2012-05-07 2012-09-12 广东优迈信息通信技术有限公司 Visualized workflow engine system
CN103617047A (en) * 2013-12-16 2014-03-05 北京中电普华信息技术有限公司 Method, device and processor for developing business processes
US11386265B2 (en) 2020-12-15 2022-07-12 International Business Machines Corporation Facilitating information technology solution templates
US11645595B2 (en) 2020-12-15 2023-05-09 International Business Machines Corporation Predictive capacity optimizer

Also Published As

Publication number Publication date
EP1234232A1 (en) 2002-08-28
AU2029400A (en) 2001-06-04
JP2003516569A (en) 2003-05-13

Similar Documents

Publication Publication Date Title
EP1234232A1 (en) Method and apparatus for business modeling
US10019239B2 (en) Systems and methods for enhancing software products through integrated development environment running on host computer
US7818714B2 (en) Integration of process and workflows into a business application framework
US8996494B2 (en) Systems and methods for modeling costed entities and performing a value chain analysis
US8321832B2 (en) Composite application modeling
Webber et al. Modeling variability in software product lines with the variation point model
AU2001249273B2 (en) Method and system for top-down business process definition and execution
US7716278B2 (en) Context and action-based application design
US20020143653A1 (en) Configuration system and methods
US8726234B2 (en) User-customized extensions for software applications
US20100121740A1 (en) Data driven orchestration of business processes
US20060015479A1 (en) Contextual navigation and action stacking
CN105373523A (en) Workflow solution method based on user-defined form and Activiti
KR102237877B1 (en) Intelligent software auto development system with real-time collaboration support and method thereof
US8843836B2 (en) Model driven content development
AU2001249273A1 (en) Method and system for top-down business process definition and execution
WO2007050110A2 (en) Method and model for enterprise system development and execution
Kosanke et al. CIMOSA modelling processes
US11315208B2 (en) Conceptual representation of business processes for cross-domain mapping
EP2249295A2 (en) Using composite systems to improve functionality
Beedle Pattern based reengineering
EP2249294A2 (en) Using abstraction layers to facilitate communication between systems
Mohan et al. A state machine based approach for a process driven development of web-applications
Mili et al. Classifying business processes for domain engineering
Allen A practical framework for applying UML

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AL AM AT AU AZ BA BB BG BR BY CA CH CN CU CZ DE DK EE ES FI GB GE GH GM HR HU ID IL IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT UA UG UZ VN YU ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
ENP Entry into the national phase

Ref country code: JP

Ref document number: 2001 540463

Kind code of ref document: A

Format of ref document f/p: F

WWE Wipo information: entry into national phase

Ref document number: 1999963965

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 1999963965

Country of ref document: EP

WWW Wipo information: withdrawn in national office

Ref document number: 1999963965

Country of ref document: EP

REG Reference to national code

Ref country code: DE

Ref legal event code: 8642