A New Software Paradigm – The Object Process Graph (OPG) pat. 7,316,001
In the past fifty years, the computing industry has witnessed a billion fold increase in available computing power. Yet the fundamental paradigm for creating computer software has remained unchanged.
The vast majority of today’s software is still created using traditional programming languages that interact with a data repository.
Tools have been developed that make this task easier, but software development is still a slow, labor intensive process, prone to error with often unpredictable results.
GraphLogic has invented a revolutionary new way of creating computer software systems that fundamentally changes the process.
This patented invention, the Object Process Graph (OPG) pat. 7,316,001, represents a radical break from traditional software development and execution technologies.
It introduces new ideas that shatter the dominant software paradigm.
GraphLogic's core technology, the Object Process Graph, is a general purpose executable graph that incorporates every aspect of an application, including process, user interface, and database.
No programming language, tool, or database is required to handle any part of an application, no matter how large or complex.
A complete high-level visual programming environment is used to define an OPG. No code is ever generated – the graph is the code.
OPGs interface with traditional programming languages and databases through industry standard protocols.
This fusion of application aspects compresses the development cycle and results in a substantial increase in developer productivity over traditional development environments.
The dynamic graph structure allows developers to easily construct and modify program logic, database functionality, and user interfaces even while a program is running.
The design – which is the program – can proceed in lock step with both requirements gathering and testing.
Sophisticated security and change control features are an intrinsic part of the platform, allowing lock down and change control of all production environments.
Users with relatively little computer training can learn to create complex custom applications with the system.
No traditional programming languages or databases are required to build applications; however the technology can closely interface and integrate with legacy technologies using industry standard protocols.
Applications developed on GraphLogic's platform can integrate with any database (e.g. Oracle), or any application written in a traditional (e.g. java, C++) language.
In addition, since the platform was built in Java and designed for the web, applications will run on all industry standard operating systems, web browsers, and hardware.
The user interfaces definable within the Object Process Graph are rich, interactive interfaces with capabilities equal to consumer oriented web sites.
GraphLogic technology is completely unique in the industry. No one else has come close to creating a general purpose executable graph which synthesizes the process logic, user interface and database of an application.
Highlights of Object Process Graph Technology:
- General Purpose Executable Graph
- Fusion of all Application Aspects
- No Code or Code Generation
- Interfaces and Integrates Industry Standards
- Built on Top of Industry Standard Technology
The OPG Paradigm (top)
Synthesis of Program and Data:
To date, persistent data and program code have been treated separately and very differently in all general purpose computing architectures.
Object oriented methodologies synthesize transient data and program code; however, program code and persistent data still remain very distinct entities – the Java code of an object method is separate from the attribute values of a persistent object instance.
Such differences are maintained throughout all general purpose software architectures – persistent data is stored in a database (which may be relational or object oriented) – the program (e.g., Java or C++ code) is typically stored in an object or binary file.
Although some database systems provide a way to store program code in a database, the data and program code are typically kept in separate structures and in very different forms in such systems.
Some very specialized architectures have been developed that do achieve a complete synthesis of data and program – for example neural networks.
However, they have very specialized uses – no one would consider building a complete web based on-line ordering system just using neural networks.
The Object Process Graph (OPG) is the first general purpose computing architecture that completely synthesizes data and program.
An OPG is a graph object oriented database that stores all the process and computational logic, display properties, metadata and instance data of an application.
Both program logic and data are stored in the OPG as nodes and edges in a very similar form.
There are no binary or object files required to run an OPG system.
Program as Data: Program information – traditionally described with computer program code – is stored as nodes and edges within an OPG.
This provides a fine-grained modular structure that can grow and be updated in an incremental fashion. Consequently, it shares the characteristics of data that traditionally resides in a database.
The OPG can be changed at any time, including while the application is running. Changes are a natural part of an OPG system’s lifecycle.
Changes are implemented by adding, updating or deleting OPG nodes and edges or by changing their properties. This is similar to the lifecycle of a traditional database without the trauma of separate program code maintenance.
The OPG system, unlike any other general purpose software architecture created to date, is inherently flexible and adaptable – it’s designed for change.
Model as Program: An OPG is a high level model of a computer application system constructed and realized as a graph. Unlike other attempts to develop software systems via high level design models – the model is the program.
Thus no code generation is needed to translate a high level design model into program code, because the OPG is both the program and its model. Applications are run by directly executing their OPGs.
The OPG represents a fundamental paradigm shift in computer software architectures. Yet it is not a theoretical prototype sitting in an academic lab. It is a complete, practical system running enterprise scale applications at customer sites today.
It leads directly to the following competitive advantages over current software architectures.
OPG Practice (top)
Development Speed: Using OPGs, GraphLogic can create fully functional production-ready enterprise systems faster than most organizations can produce a requirements specifications document. GraphLogic creates fully functional systems – not prototypes – in weeks or even days as an integral part of customer requirements definition and refinement. Users begin working with an evolving OPG system almost immediately, which enable them to see, work with, and fully test the system functionality, which in turn enables them to better understand and define their system requirements. At the end of the requirements gathering process users have a fully functional production ready system, not merely a document (although GraphLogic can generate that also).
Flexibility: GraphLogic’s OPG technology allows developers or users (with appropriate security rights) to modify any aspect of an application, its user interface, database structure, programming logic, while the application is running. User and or developer generated modifications can be applied to either the base application for all users, a specific user's version of the application, or a specific run or execution of the application. This unique capability enables Object Process Graph users to create whole new types of computer applications not currently possible with existing technologies.
Functionality: GraphLogic created the Object Process Graph specifically to manage the complexity of large modern computer applications in a much more efficient manner and without the need for traditional programming. OPG technology combines implementation speed, flexibility, and reliability advantages with the ability to define the complex program and data structures required to implement modern applications. The result is a technology that makes it possible to construct systems that are not feasible to build with current technologies.
Reliability: Because traditional programming techniques are not used, GraphLogic is able to produce systems of substantially greater reliability than anything currently available. Additionally, because requirements gathering is performed with fully functional systems the likelihood that the system will not meet the users needs – the most common reason for major software development failures – is eliminated.
Development and Computing Platform (DCP) (top)
OPG technology is coupled with and integrated into another GraphLogic innovation – the Development and Computing Platform (DCP).
Software engineers are familiar with IDE’s – Integrated Development Environments – which provide an integrated set of software tools or systems designed to help manage the software development process.
GraphLogic has taken the IDE concept much further, creating DCP to encompass the entire process of developing and subsequently managing and maintaining applications as they are used in any size production environment.
DCP provides all the traditional IDE-like capabilities for creating Object Process Graphs, including change control, feature management, issue tracking, and automated testing, that one finds in a sophisticated, state of the art IDE (or the IDE functionality to which vendors continue to aspire).
However, DCP goes much further by providing additional capabilities such as the security, audit control, and transaction management required to manage production level systems. DCP is an essential part of all PointDragon™ products.
Following are some of its novel features.
WYSIWYG Editor: DCP provides a novel WYSIWYG (what you see is what you get) editor that allows one to completely define all user interfaces.
Unlike any other WYSIWYG editor in existence today, no manual integration or interfacing between the UI (user interface) being designed and the program logic and data model is necessary.
While the application is running you can rearrange and change the UI as you wish. This level of integration is possible because the DCP WYSIWYG interface editor directly updates the OPG, which contains all the process, data and display information needed to run the complete application.
Automated Testing: DCP also includes an integrated automated testing system that allows a user to test any changes made to an application.
Unlike general purpose Automated Testing systems in existence today, no manual integration or interfacing between the Automated Tester and the program logic, data model or user interface is necessary.
Make any change to your application with DCP and then with a single click of a link run through the entire application to test your changes.
This level of integration is possible because the Automated Tester directly updates the OPG, which contains all process, data and display information needed to run the complete application.
Security: DCP provides novel security and administration features that provide complete access control over every aspect of an application, every screen, every screen entry field and every database field. Moreover, all these features are part of the OPG itself so that the same tools used to define application specific OPG’s are also used to create sophisticated multilayer security systems as well – all without traditional programming.
Audit Control: DCP provides an unmatched audit and data change control system. GraphLogic’s Development and Computer Platform can log every change to any data within an application, as well as track and record access to any part of an application’s interface, and is able to do so at any level of granularity. DCP is also able to turn audit logging on or off for any specific data item. Moreover, like DCP’s other features, the audit capability is inherent to the OPG itself, so OPG tools can be used to create sophisticated interfaces to audit information – again, all without traditional programming.
Transaction Management: Drawing on the unique capabilities of the Object Process Graph, DCP provides complete control over an application during run time, allowing IT staff to quickly understand and correct any problems or errors that may occur while the application is running in production. Utilizing the concept of long-lived transactions to unify many short-lived transactions, DCP can manage, through rollbacks, deletions, recovery, and other process oriented manipulations the work being performed within the system by a given user over an extended period.
Built For Change
|