declarative programming – a journey hervé gallaire xerox chief technology officer...

12
Declarative Programming – a Journey Hervé Gallaire Xerox Chief Technology Officer xerox.com/innovation

Post on 20-Jan-2016

212 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Declarative Programming – a Journey Hervé Gallaire Xerox Chief Technology Officer xerox.com/innovation

Declarative Programming – a JourneyHervé Gallaire

Xerox Chief Technology Officer

xerox.com/innovation

Declarative Programming – a JourneyHervé Gallaire

Xerox Chief Technology Officer

xerox.com/innovation

Page 2: Declarative Programming – a Journey Hervé Gallaire Xerox Chief Technology Officer xerox.com/innovation

2

The early daysThe early days

Berkeley 1966 Hexadecimal Programming …. (B. Lampson – of the

ALTO and Xerox PARC fame … later on) How to hate low level programming

Automata and Grammar: modeling (M. Harrison) Clean and beautiful

Formal Logic: computing and complexity (S. Cook) Introduced the theory of NP completeness

Declarative programming for ever Too much?

Page 3: Declarative Programming – a Journey Hervé Gallaire Xerox Chief Technology Officer xerox.com/innovation

3

Toulouse – CERT/SupAeroToulouse – CERT/SupAero 1972 – Logic and database- Syntex system

Inspiration: Levien and Maron – Rand Corp 1962-1966 Syntex: Relations and objects Syntex: declarative rules and deductive information – logic

engine Syntex: Natural Language querying Leading to Logic and Databases books – 1978 +

J. Minker Logic programming started 1976

A. Colmerauer, R. Kowalski

1974 – LAU multiprocessor system – 4 processors Unique assignment language – inspired by L. Tesler and H. Enea

1968 Execution - data-driven Declarative - equations

Page 4: Declarative Programming – a Journey Hervé Gallaire Xerox Chief Technology Officer xerox.com/innovation

4

CGE – Lab de MarcoussisCGE – Lab de Marcoussis

Creation of a new division 1982 – logic and functional systems

Prolog (and Lisp) machine - MAIA Tagged machine VLIW Very fast

Logic for verification of programs

Page 5: Declarative Programming – a Journey Hervé Gallaire Xerox Chief Technology Officer xerox.com/innovation

5

Munich – ECRC Munich – ECRC

Creation 1984 – Bull, ICL, Siemens 1984-1989+ Logic and declarative everywhere

Prolog system – SEPIA – ECLiPSe – Opium … Constraint Logic Programming system - CHIP Deductive Database – QSQ-Satchmo-EKS-Validity Parallel Logic Machine – ICM – PEPSys

A rich period for ideas ….. Declarative systems expansion

Cosytec

Page 6: Declarative Programming – a Journey Hervé Gallaire Xerox Chief Technology Officer xerox.com/innovation

6

Xerox – declarative programmingXerox – declarative programming

Constraint Logic Programming and Declarative Systems for Embedded Software Hybrid concurrent constraint programming model

Grammar and Finite State machines for Linguistic Processing FST engines Hierarchical grammars

Linear Logic for distributed middleware CLF – coordination language – scripting resource based programming -

encapsulation Proof nets for distributed computations modeling (transactions)

Aspect-Oriented Programming AspectJ Not logic-based – about describing aspects of programs that cut across

modules in object-oriented programming

Page 7: Declarative Programming – a Journey Hervé Gallaire Xerox Chief Technology Officer xerox.com/innovation

7

Control

Ca. 1990: monolithic system, central control

Ca. 2000: modular system, plug-and-play control

Control

Control Control Control Control

Changing the way products are put together.

Near future: hyper-modular system, reflective control

Control

Control Control ControlControl

Toward Reconfigurable Smart Systems

Page 8: Declarative Programming – a Journey Hervé Gallaire Xerox Chief Technology Officer xerox.com/innovation

8

Model-based print-engine schedulingModel-based print-engine schedulingProblem: 3-20 modules,

100s of capabilities Customer-configurable machines Scheduling complex interactions

Documentdescription Control

commands

MM ControlMM Control MM ControlMM Control MM ControlMM Control MM ControlMM Control

System Controller(Scheduler)

System ControllerSystem Controller

Standardized interfaces

Constraint SolverConstraint Solver

Machine modelMachine model

Modulemodels

Results: Auto-Configuration Configuration-independent,

optimized control Toolkit for reactive print engine

control in real time

port: in port: out

control:movework unit:sheet

resource:space

parameter:roller speed

timing: pathlength androller speed

• 85 processors• 192 sensors• 102 motors• 3.5 miles wiring• 5 M lines

Page 9: Declarative Programming – a Journey Hervé Gallaire Xerox Chief Technology Officer xerox.com/innovation

9

Hybrid ccHybrid cc

Hybrid: reactive (discrete) and continuous Reactive: evolves when environment evolves- events Continuous: driven e.g. by differential equations E.g. paper path has rollers (continuous) and control

(discrete) Hybrid cc is declarative

default cc (concurrent constraint programming) plus single temporal construct (hence) plus continuous constraints

a a holds nowif a then B if a holds now, then B holds nowif a else B if a will not hold now, then B holds nownew X in A there is an instance A[T/X] that holds nowA, B both A and B hold nowhence A A holds at every instant after now

Page 10: Declarative Programming – a Journey Hervé Gallaire Xerox Chief Technology Officer xerox.com/innovation

10

Intelligent systems: Content managementThe next frontierIntelligent systems: Content managementThe next frontier

MarketingMarketing

SalesSales

AccountingAccounting

GeneralServicesGeneralServices

ManufacturingManufacturing

HumanResources

HumanResources

SCM MRP

ERP

EnterpriseInformationEnterprise

Information

CRM

CustomerCall Center Customer

Call Center

Direct Mail Newsletters Product Marketing Brochures Product Specifications Market Attack Plans

Sales Manuals Proposals/RFPs Event Invitations Sales Collateral Parts Catalogs

Statements Invoices Reporting

Office Printing Commercial Print Publishing/Reprographics Forms Transactional Documents

Recruiting Collaterals Employee Benefit

Communications Employee

Education

Letters Vouchers Coupons Checks Sales Program

Information Product Literature

90% of customer communications are through documents.90% of customer communications are through documents.80% of knowledge workers’ activities are supported by documents80% of knowledge workers’ activities are supported by documents

90% of customer communications are through documents.90% of customer communications are through documents.80% of knowledge workers’ activities are supported by documents80% of knowledge workers’ activities are supported by documents

Product Drawings Work Orders Safety Data Sheets Change Orders Process Sheets Product Documentation

Page 11: Declarative Programming – a Journey Hervé Gallaire Xerox Chief Technology Officer xerox.com/innovation

11

Intelligent systems: Content managementThe next frontier in productivityIntelligent systems: Content managementThe next frontier in productivity

Content manipulation of all types of content – enabling process management Linguistic, Statistical & Learning technologies, XML enabled

Document Classification: The right document at the right place at the right time Categorization and Clustering

Document Tagging: Bringing structure to the document Authoring and Analysis

Document Mining: Discovering high value in textual documents

Integration of the non-structured and structured domains (transactional and non-transactional)

Decisions Transactions

The World of Documents The World of IT

Embedded Process CostResides Here

Embedded Process CostResides Here

Convergence Complexity

Page 12: Declarative Programming – a Journey Hervé Gallaire Xerox Chief Technology Officer xerox.com/innovation

12

Closing CommentsClosing Comments

Logic and declarative systems Major progress and still exciting future Specialized systems versus generic ones

Need to work on relevant problems Embedded systems Service composition Document and knowledge management …….

THANK YOU to all those I worked with over 30 years!