5

What is GOP and does it relate to either the maths or data structure definitions of graphs?

How does it compare to aop, oop, functional, logic or other paradigms?

Tim Matthews
  • 5,031
  • 8
  • 38
  • 45

2 Answers2

3

I have never heard about it before, but a quick Google search seems to suggest that it is basically workflow programming, where the workflows are represented as graphs.

Actually, from what I have read, I don't understand why it's not called state machine programming or rather flowchart programming, since that seems to be basically what it's doing.

For example, this here is an example of a working program in a graph-oriented programming language (in this case Windows Workflow Foundation), taken from MSDN:Windows Workflow Foundation Example http://I.MSDN.Microsoft.Com/ee342461.image006.jpg

Community
  • 1
  • 1
Jörg W Mittag
  • 363,080
  • 75
  • 446
  • 653
  • I'm not talking about finite automata. I mean "state machine" more in the general sense of a system which has a set of defined states and declarative rules for moving between them. – Jörg W Mittag Jan 09 '10 at 01:37
  • Would that include things like Simulink? http://www.mathworks.com/products/simulink/ – Tyler Jan 09 '10 at 01:46
  • I'm not familiar with Simulink, but it looks rather like Dataflow Programming. It seems to me that *graph-oriented programming* is a term that is specifically used only within the BPM community. – Jörg W Mittag Jan 09 '10 at 08:54
1

This is a good question. For us (GraphApps), GOP is a revolutionary way of building business applications. It is using a GOP in Java (which is not totally adapted to it but that can be used in GOP), GOP patterns, best practices and graph database.

We have 2 Products in preparation: a graph oriented designer (like UML designer but much better because purely graph oriented) and a very powerful Java framework that enforces GOP to benefit from the revolution brought by this new programming paradigm.

We will probably open source our code in the coming months. GOP solves many many issues in application development. It simplifies a lot the code and enable to manage a higher level of complexity. The resuability is also greatly enhanced.

At GraphApps, we believe this is a new programming paradigm that will be bigger than OOP. It is really incredible.

[UPDATE SEP 14 2016]

Here is the definition of Graph-Oriented Programming we are giving on our website.

Graph-Oriented Programming is a new programming paradigm that defines a graph-oriented way to build software. The Graph-Oriented softwares built with this programming paradigm use (directed attributed) graph databases on the backend side.

This programming paradigm is cumulating the benefits of several other programming paradigms: object-orientation, functional programming, design by contract, rule-based programming. However, it is consistent in itself and do not need to be aware of any other programming paradigms.

This programming paradigm enables to develop long lasting business applications that do not generate technical debt. It provides a different answer to the maintenance and evolutions issues, especially for applications that must manage evolving regulations or a high number of business rules. Applications can evolve structurally without having to retest everything and migrate the data.

orey
  • 11
  • 2
  • have you open sourced anything yet? – Erik Kaplun Jul 04 '16 at 22:35
  • 1
    We haven't yet. We can consider our 2 products as being in V1 phase since August 2016 (Designer and Web Framework).We are [documenting](http://graphapps.wordpress.com) progressively all the stuff and beginning a kind of roadshow because we need feedback from the market. It's possible we open source in the future or build proprietary software with our technology. – orey Sep 13 '16 at 22:48
  • More news on open source soon :) – orey Oct 21 '16 at 15:20
  • We developed an designer based on Eclipse and a complete web application framework in Java implementing all the principles and this was really great. But the owner of the code did not want to invest anymore nor to open source the code. So the code stays not accessible and I have no time to recode it. I hope the paper (I own it) will inspire people... – orey May 18 '19 at 16:12
  • And the conference slides are here: https://orey.github.io/papers/graph/staf-icgt2018/ – orey May 25 '19 at 12:14