View
213
Download
0
Tags:
Embed Size (px)
Citation preview
Declarative Programming – a JourneyHervé Gallaire
Xerox Chief Technology Officer
xerox.com/innovation
Declarative Programming – a JourneyHervé 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?
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
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
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
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
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
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
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
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
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
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!