WO2000063773A1 - Architecture adaptable de composants - Google Patents
Architecture adaptable de composants Download PDFInfo
- Publication number
- WO2000063773A1 WO2000063773A1 PCT/US2000/010251 US0010251W WO0063773A1 WO 2000063773 A1 WO2000063773 A1 WO 2000063773A1 US 0010251 W US0010251 W US 0010251W WO 0063773 A1 WO0063773 A1 WO 0063773A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- software
- platform
- network
- components
- objects
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
Definitions
- This invention relates generally to application development, and more specifically to WEB- site development.
- a major deficiency with the paradigm approach is that there is limited amount of leverage; once the user invests time in developing one class, a fair amount of time is still required in order to customize that class to perform additional functions-
- a class is instantiated, which means creating an object from an existing class, a fair amount of work is still required on the part of the user.
- Another drawback to the paradigm approach is that once an object has been created and instantiated, developing them to work together requires a substantial investment in time on the part of the user, and the result is still extremely error prone and difficult to do. Therefore, the cost of creating these applications is very high and requires a very large technical skills set in order to make it work. Then the knowledge is basically lost because those things are unique and customized for a very specific purpose. Because it is more complex, it takes a longer amount of time for a user to create these linkages through messages and the like.
- An object of the present invention is to provide a software development platform that stores application knowledge in a reuseable manner.
- Another object of the present invention is to provide a software development platform that can create a large number of software applications.
- Yet another object of the present invention is to provide a software development platform that generates a sofeware application, record specifications of the components used to create the software application which can be used to maintain the application and generate different applications.
- Another object of the present invention is to provide a software development platform that creates records of components used to create software applications, and where the recorded components can be aggregated to create other software applications.
- a further object of the present invention is to provide a method of developing software applications for a large number of software applications.
- Still another object of the present invention is to provide a method of developing software applications and record specifications of the components used to create the software applications which can be used to maintain the application and generate different applications-
- Another object of the present invention is to provide a method of developing software applications that creates records of components used to create software applications, and where the recorded components can be aggregated to create other software applications-
- a software development platform that includes an engine. Also included is a plurality of software objects, each software object having more than one capability.
- a method for producing a software program includes an engine and a plurality of software objects form a network of software components. Knowledge about a software application is decomposed into components. The components are then generalized and stored in the network.
- Figure 1 is a schematic diagram of an ADO database useful with the present invention.
- Figure 2(a) is a schematic diagram of a network of communications useful with the present invention.
- Figure 2(b) is a flow diagram illustrating the flow of behaviors and capabilities in the Figure 2(a) network.
- Figure 3 is a flow diagram illustrating set theory of the present invention.
- Figure 4(a) is a flow chart illustrating a large number of ADO's with unique behavior are put together and combined together.
- Figure 4(b) illustrates the creation of genre applications.
- FIG. 5 illustrates an assimilation process of the present invention.
- Figure 6 is a flow chart illustrating the achievement of platform independence of the present invention-
- Figure 7 is a flow chart illustrating component isolation of the present invention.
- the present invention solves the above deficiencies by providing a system that requires very little manual intervention to get very, very different specific results by storing in the system the knowledge required to build a wide variety of applications without a great deal of manual intervention.
- One embodiment of the present invention is a software development platform with an engine.
- a plurality of software objects are also included.
- Each software object has more than one capability.
- Each software object can have more than one dynamic capability, be capable of dynamically interacting with the other software objects and be an adaptable object.
- the plurality of software objects form a network of software components.
- the network combines the objects to produce interactive software applications.
- the objects combine dynamically based on a program specification to produce interactive computer applications.
- Each object can have an unfixed number of capabilities that are in general categories. Suitable general categories include but are not limited to a quick sort, a bubble sort, a list box display, a display of an order entry screen, a display of a product list, a communication protocal, an http object request and a remote program call.
- the network forms a combinatoric explosion of software application types- Software programs generated by the present invention can be monitored and rewirteen by modifying the program specification without rewritting the software code itself.
- the present invention is a method for producing a software program.
- a software development platform that includes an engine and a plurality of software objects form a network of software components is provided.
- Knowledge about a software application is decomposed into components.
- the components are generalized and stored the in the network.
- the method can also include, specifying broad associations between the components, introducing a program specification into the engine, the engine reading the application network and generating a software application, determing if an errror occurs in the software application, localizing an error to a specific software component, changing the software component that generates the error, and generating a software application without the error.
- the software application can be in communication with the network and monitored. New capabilities can be into the network to create new relationships generate a new software application with new features.
- a database ADO which connects to two or more website ADOs: web 1 and web 2.
- Website 1 has a database 1
- annd Website 2 has a different database.
- Additional Wedsites also have different databases- Separate instantiations of a class are created and given specific parameters in order to read from one database or another.
- the database object reads from any database so once the website queries the object it interfaces with the correct database object and vice versa.
- the database object adapts to virtually any schema or design of a database without instantiation, and the database object is self-instantiating or manual modification; it adapts to the different schemas so that the database object only needs to be created once, and then a wider amount of webs can attach to it.
- an ADO is indicated as a circle. Also included are 6 lines showing the communication as well as the different spaces- Each ADO has a set of inherited behaviors that it receives from parent space and propagated behaviors that it sends to child space. Each ADO receives capabilities from child space and sends them to parent space. Targets are also indicated and include items including but not limtied to database schema and visuals.
- Each ADO object resides in a network of connections, forming what is called a directed acyclic graph or DAG.
- Figure 2(a) shows the two components of the DAG, the child's space portion of the graph and the parent's space portion of the graph. Another area shown is the target space.
- the target space defines the range of behaviors that the ADO can have. One or more edges from the parent space send a behavior to the ADO which then allows it to select a specific instantiation from target space. Once the ADO recognizes an inherited behavior the ADO then knows how to instantiate itself- The ADO also notes how to send more information down to additional ADOs below it.
- this behavior causes an instantiation to occur with the ADO, and the ADO adapts for each inherited behavior.
- the ADO propagates down the new set of behavior. Once the propagation is complete, it returns back up the ADO chain. The ADO's instantiation or adaptation is then complete. Then it sends that adaptation back up the chain. This is a recursive process where all the nodes in the graph instantiate themselves, adapt and send behavior throughout the graph.
- the behavior can be inherited from the parent space- It will use that inherited behavior to instantiate itself in some way, then it will propagate additional behaviors down.
- each propagated inherent behavior is instantiated and sends additional messages down. This is like a waterfall approach of increasing knowledge when it reflects back. Propagation is similar to a wave. When propagation gets to the bottom of the graph, at the bottom of the child space, all the behavior propagates back up.
- behaviors propagate down, and capabilities are returned to the parent throughout the whole graph.
- a user can specify at a very high level of abstractionwhat is desired, for example, an auto parts site, or a spreadsheet application of any type
- a Set A is identified, where A is a behavior A propagates down to a new node identified as node 2 and goes into the target space to obtain a whole set of additional behaviors identified as behaviors B A and C ⁇ As the set of behaviors is propagated down, more specificity is created as it goes deeper into the graph because the target space and the links contain the knowledge of how to create an application For example, if a list box is desired, it knows that it is linked directly to certain elements in target space that are appropriate for list boxes, including the number of elements in the list box, where to obtain the information required to populate the list box and how to behave when clicked This information is retained in target space
- a user can specify a different behavior B, and that same list box will get different things from the target space and be a totally different list box.
- a large number of ADOs that have unique behavior are put together when a user starts out with a set of ADOs, Set 1, and combined together to produce a certain number of applications.
- a user can add an EDI ADO, and all of the applications generated can be EDI-capable immediately. Additionally, all applications previously generated can immediately be regenerated with this capability.
- the amount of time to create any given application falls off exponentially. Initially, the cost is higher to produce the first application, since all ADOs must be created from scratch. Once ADOs are created and wired together, the second and subsequent applications take less time and the amount of time to create an entire set of applications decreases dramatically.
- FIG. 5 shows assimilation.
- Assimilation is the process in which adaptable component architecture extends itself.
- a number of parent ADOs and parent space is shown using XML based EDI (electronic data interchange) using XML.
- AlDusers are tied together with XML and connected to be XML capable. Because all of these sites connect to the data, the database ADO can read almost any schema. It can translate that to XML using the XML ADO and a user can perform any type of communication with any outside vendor using XML. Later if the user wishes to retool the sites to a different interchange, for example Java instead of XML, then adding a Java ADO would obtain these new links.
- the ADOs can change to adapt to a wide range of things.
- the network itself can reconnect itself based on the behaviors that are propagated down. This provides the ability to rapidly assimilate new technologies. If a new technology appears, it can be added. By simply having certain behaviors, an ADO can aggregate all of these different capabilities and the propagation wave of behaviors goes down while the capabilities rise back up. Through that process, any new capability can be added, or it can assimilate any upcoming capability.
- the network itself is not limited in terms of what it can hold.
- Figure 6 illustrates how platform independence is achieved.
- the ADOs shown have been categorized into 3 groups: the TLADOs or top level ADOs, the median ADOs, and the atomic ADOs.
- the atomic ADOs are the only portion of the graph that is tied directly to a specific server platform. This is specifically directed to web implementation- One example is where the atomic ADOs all contain connections to advanced data objects which is specific to Microsoft IIS4 However, if it was desired to move to Tango or some other platform, we can simply swap out this set of atomic ADOs and put in a new set and change from IIS4 to Tango, or IBM's Net Commerce server.
- Figure 7 illustrates component isolation.
- the objects may message other objects and cause the system to become unstable, because a user does not know how to correctly reference some other parts of the system.
- the inl ⁇ raction between components are maintained in a graph.
- a new object is created and the need exists to link the object to target space in order to cause instantiation, it is maintained in the graph itself. This prevents instability and errors.
- Other systems can be created in order to insure that when an object is created, it knows the valid parameters ahead of time and thus the chance that the object will instantiate it2$f incorrectly lessens.
- Another aspect is that once all the other components are debugged, if this object fails, it does not cause the other objects to fail. A higher degree of error protection is obtained in this way.
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| AU43540/00A AU4354000A (en) | 1999-04-16 | 2000-04-14 | Adaptable component architecture |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US12990699P | 1999-04-16 | 1999-04-16 | |
| US60/129,906 | 1999-04-16 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2000063773A1 true WO2000063773A1 (fr) | 2000-10-26 |
Family
ID=22442148
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/US2000/010251 Ceased WO2000063773A1 (fr) | 1999-04-16 | 2000-04-14 | Architecture adaptable de composants |
Country Status (2)
| Country | Link |
|---|---|
| AU (1) | AU4354000A (fr) |
| WO (1) | WO2000063773A1 (fr) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| AU2003204108B1 (en) * | 2003-05-09 | 2004-11-11 | Majitek Pty Ltd | Interface for distributed objects and development platform therefor |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4734854A (en) * | 1985-10-08 | 1988-03-29 | American Telephone And Telegraph Company | System for generating software source code components |
| WO1997035254A1 (fr) * | 1996-03-19 | 1997-09-25 | Massachusetts Institute Of Technology | Systeme et procede informatiques servant a representer des descriptions de systemes logiciels et a generer des programmes informatiques executables et des configurations de systemes a partir de ces descriptions |
-
2000
- 2000-04-14 WO PCT/US2000/010251 patent/WO2000063773A1/fr not_active Ceased
- 2000-04-14 AU AU43540/00A patent/AU4354000A/en not_active Abandoned
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4734854A (en) * | 1985-10-08 | 1988-03-29 | American Telephone And Telegraph Company | System for generating software source code components |
| WO1997035254A1 (fr) * | 1996-03-19 | 1997-09-25 | Massachusetts Institute Of Technology | Systeme et procede informatiques servant a representer des descriptions de systemes logiciels et a generer des programmes informatiques executables et des configurations de systemes a partir de ces descriptions |
Non-Patent Citations (1)
| Title |
|---|
| CEBULKA K D: "WISE: AN INTELLIGENT INTERFACE FOR USER MODIFICATION OF APPLICATIONS", PROCEEDINGS OF THE INTERNATIONAL CONFERENCE ON SYSTEMS, MAN, AND CYBERNETICS,US,NEW YORK, IEEE, vol. -, 4 November 1990 (1990-11-04), pages 637 - 639, XP000215424, ISBN: 0-87942-597-0 * |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| AU2003204108B1 (en) * | 2003-05-09 | 2004-11-11 | Majitek Pty Ltd | Interface for distributed objects and development platform therefor |
| WO2004099982A1 (fr) * | 2003-05-09 | 2004-11-18 | Majitek International Pte Ltd | Interface pour objets distribues et plate-forme de developpement correspondante |
Also Published As
| Publication number | Publication date |
|---|---|
| AU4354000A (en) | 2000-11-02 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US7334216B2 (en) | Method and apparatus for automatic generation of information system user interfaces | |
| US7827527B1 (en) | System and method of application development | |
| CN1811702B (zh) | 用于向门户服务器应用环境自动部署门户应用的系统和方法 | |
| US7774747B2 (en) | System and associated methods for software assembly | |
| US7730446B2 (en) | Software business process model | |
| US6023578A (en) | Systems, methods and computer program products for generating an object oriented application for an object oriented environment | |
| US7447733B2 (en) | Method and apparatus creating network services | |
| US7366723B2 (en) | Visual query modeling for configurable patterns | |
| CN100555280C (zh) | 企业信息集成平台 | |
| US20050273758A1 (en) | System and method for building a component base architecture | |
| US6567819B1 (en) | Run time objects | |
| US20030069908A1 (en) | Software composition using graph types,graph, and agents | |
| De Lara et al. | Extending deep meta-modelling for practical model-driven engineering | |
| US20020161777A1 (en) | Universal data editor | |
| WO2003009177A1 (fr) | Procede de developpement d'applications de site web au moyen d'un modele objet destine a la gestion d'un contenu cessible sur internet | |
| US20060074942A1 (en) | Visual database modeling | |
| JP2002024079A (ja) | サーバ側制御オブジェクトを用いるデータ結合 | |
| CN101617292A (zh) | 面向生成器图形的编程和执行 | |
| Baizer | Living in the next-generation operating system | |
| JP2003196093A (ja) | ソフトウェアコンポーネントを統合するシステム及び方法 | |
| CN101894027A (zh) | 代码生成模式 | |
| Trappey et al. | An object-oriented bill of materials system for dynamic product management | |
| WO2003083718A1 (fr) | Procede et systeme pour creer un site web a structure hierarchique destine au commerce electronique | |
| WO2000063773A1 (fr) | Architecture adaptable de composants | |
| CN100416565C (zh) | 用于异质环境之间信息交换的自适应程序调用方法 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| AK | Designated states |
Kind code of ref document: A1 Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY CA CH CN CR CU CZ DE DK DM DZ EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG US UZ VN YU ZA 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) | ||
| REG | Reference to national code |
Ref country code: DE Ref legal event code: 8642 |
|
| 122 | Ep: pct application non-entry in european phase | ||
| NENP | Non-entry into the national phase |
Ref country code: JP |