[go: up one dir, main page]

WO2000063773A1 - Architecture adaptable de composants - Google Patents

Architecture adaptable de composants Download PDF

Info

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
Application number
PCT/US2000/010251
Other languages
English (en)
Inventor
Ralph Garvin, Jr.
John Finkelstein
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Woosh! Inc
Original Assignee
Woosh! Inc
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 Woosh! Inc filed Critical Woosh! Inc
Priority to AU43540/00A priority Critical patent/AU4354000A/en
Publication of WO2000063773A1 publication Critical patent/WO2000063773A1/fr
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software 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

L'invention porte sur un procédé d'élaboration de programmes de logiciels consistant en une plate-forme de mise au point de logiciels comportant un automate et une série de logiciels formant un réseau de composants de logiciels. La connaissance relative à une application de logiciel se décompose en composants. Les composants sont alors généralisés puis stockés dans le réseau.
PCT/US2000/010251 1999-04-16 2000-04-14 Architecture adaptable de composants Ceased WO2000063773A1 (fr)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (2)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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