24
Evolutionary Design Patterns for Software Development Growing Abstract Syntax Trees from Business Context Graphs Stefan Ianta Cofounder Servi.ca & Ianta Labs @v_ianta Self-assembling wires Stanford Complexity Group www.youtube.com/watch?v=PeHWqr9dz3c

Evolutionary Design Patterns for Software Development

Embed Size (px)

Citation preview

Evolutionary Design Patterns

for Software DevelopmentGrowing Abstract Syntax Trees

from

Business Context Graphs

Stefan Ianta

Cofounder Servi.ca & Ianta Labs

@v_ianta

Self-assembling wires

Stanford Complexity Group

www.youtube.com/watch?v=PeHWqr9dz3c

Summary

Service Compilers

Growing software from Business Models

Solving a Simple Workflow Problem

Q & A

servi.ca

EngineSearch

MarketSmart

Service Compilers

Business Models

Contexts

Change

Service

Microservices

Solutions

Innovations

Business Transformation

Google Model

Smart Market of Services

Software generation

Smart Markets of Service

servi.ca

Graph Reactor / Ianta Labs

Initial Business Context – Data & Code

ClientsRulesRivals

Code

MetaData

Plans

Data Team

Sales

Bank

Skills

CONTEXT

Graph Reactor / Ianta Labs

Final Business Context – Data & Code

ClientsRules

Rivals

Codes

Meta-Data

Plan

DataTeam

Sales

Money

Skills

CONTEXT

Graph Reactor / Ianta Labs

Change = Triple (Initial Context, Services, Final Context)

Change

Service = Triple (Initial Context Pattern, Microservices, Final Context Pattern)

Microservice = Triple (Input Query, Function, Output Query)

Graph Reactor / Ianta Labs

Project = Sum (Services)

Service 1

Service 2

Service n

Graph Reactor / Ianta Labs

Solution = Sequence (Services)

Service nService 1

Graph Reactor / Ianta Labs

Innovation = Agile Search (Solution) + Novelty Test

Service n

Service 1

Graph Reactor / Ianta Labs12

Microservice = Coding Service

Integer dimX = 3;

Antlr4 View Neo4j View

Graph Reactor / Ianta Labs13

Iterator Microservicefor (int i = 0; i < dimX; i++) {

p[i] = db.createNode(pixel);}

Antlr4 View Neo4j View

Graph Reactor / Ianta Labs

CRUD Solution Expansion

Graph Reactor / Ianta Labs15

Solution=

Path

Target Context

Metadata

Data

Software

Initial Context

Metadata

Data

Software

Software Development as a Solution Search Process

Initial Context / Code Target Context / CodeChanges

Transformation

Graph Reactor / Ianta Labs16

Search Engine Business Model

AdWordsAdvertisersPay Per ClickAdSense

Web MastersPay Per Click

Internet Pages SearchQuestion WordsOne question/search

Search Engines Do NOT Build Solutions

Internet Pages are Contributed by Millions of People

Graph Reactor / Ianta Labs17

Expanding Search Engine Model into an Solution Search Engine

AdWordsAdvertisersPay Per Click

AdSenseWeb MastersPay Per Click

Internet Pages SearchInternet UsersOne question/search

MicroservicesProgrammers

Pay Per Use

Cypher AnnotationsBusiness AnalystsPay Per Use

Budgeted ProjectsProduct ManagersPay Per Use

Graph Reactor / Ianta Labs18

Graph Reactor / Ianta Labs19

Workflow Solutions: Solving The 3 Recipients Problem

Graph Reactor / Ianta Labs22

Implementation Steps

• Translate existing APIs into Microservices / Coders + DevOps• Annotate microservices with Cypher queries / BAs• Define projects including test queries / Product Managers• Build a Service compiler or join a Service Smart Market – Servi.ca

Civilization advances by extending

the number of important

operations which we can perform

without thinking of them.

Alfred North Whitehead

Interested to join building a smart market of services?

Subscribe at Servi.ca!

Q & AStefan Ianta

@v_ianta

servi.ca

https://ca.linkedin.com/in/stefanianta