Synthesis-Based Loose Programming

In this paper we present loose programming, an approach designed to enable process developers to design their application-specific processes in an intuitive style. Key to this approach is the concept of loose specification, a graphical formalism that allows developers to express their processes just by sketching them as kinds of flow graphs without caring about types, precise knowledge about the available process components or the availability of resources. They only have to specify the rough process flow graphically in terms of ontologically defined `semantic' entities. These loose specifications are then concretized to fully executable process code automatically by means of a combination of 1) data-flow analysis, ensuring the availability of the required resources, 2) temporal logic-based process synthesis, resolving type conflicts and taking care of correct component instantiation, and 3) model checking, to ensure global intents and invariants expressed in temporal logic.

[1]  Wil M. P. van der Aalst,et al.  DecSerFlow: Towards a Truly Declarative Service Flow Language , 2006, WS-FM.

[2]  Tiziana Margaria,et al.  Bio-jETI: a framework for semantics-based service composition , 2009, BMC Bioinformatics.

[3]  E. Allen Emerson,et al.  Model Checking and the Mu-calculus , 1996, Descriptive Complexity and Finite Models.

[4]  Tiziana Margaria,et al.  An Approach to Intelligent Software Library Management , 1995, DASFAA.

[5]  Armando Solar-Lezama,et al.  The Sketching Approach to Program Synthesis , 2009, APLAS.

[6]  Paola Mello,et al.  Declarative specification and verification of service choreographiess , 2010, TWEB.

[7]  Carla Limongelli,et al.  A planner fully based on linear time logic , 2000 .

[8]  Eerke A. Boiten Loose Specification and Refinement in Z , 2002, ZB.

[9]  Fahiem Bacchus,et al.  Using temporal logics to express search control knowledge for planning , 2000, Artif. Intell..

[10]  Flemming Nielson,et al.  Principles of Program Analysis , 1999, Springer Berlin Heidelberg.

[11]  Dines Bjørner Software Engineering 1 - Abstraction and Modelling , 2006, Texts in Theoretical Computer Science. An EATCS Series.

[12]  Tiziana Margaria,et al.  Semantics-Based Composition of EMBOSS Services with Bio-jETI , 2009, SWAT4LS.

[13]  Peter Norvig,et al.  Artificial Intelligence: A Modern Approach , 1995 .

[14]  Tiziana Margaria,et al.  Module Connguration by Minimal Model Construction , 1993 .

[15]  Richard Fikes,et al.  STRIPS: A New Approach to the Application of Theorem Proving to Problem Solving , 1971, IJCAI.

[16]  Bernhard Steffen,et al.  Characteristic Formulae for Processes with Divergence , 1994, Inf. Comput..

[17]  Edmund M. Clarke,et al.  Model Checking , 1999, Handbook of Automated Reasoning.

[18]  Amir Pnueli,et al.  On the synthesis of a reactive module , 1989, POPL '89.

[19]  Tiziana Margaria,et al.  Verification, Diagnosis and Adaptation: Tool supported enhancement of the model-driven verification process , 2007, ISoLA.

[20]  John McCarthy,et al.  SOME PHILOSOPHICAL PROBLEMS FROM THE STANDPOINT OF ARTI CIAL INTELLIGENCE , 1987 .

[21]  Wil M. P. van der Aalst,et al.  DECLARE: Full Support for Loosely-Structured Processes , 2007, 11th IEEE International Enterprise Distributed Object Computing Conference (EDOC 2007).

[22]  James A. Hendler,et al.  HTN Planning: Complexity and Expressivity , 1994, AAAI.