A tag-based approach for the design and composition of information processing applications

In the realm of component-based software systems, pursuers of the holy grail of automated application composition face many significant challenges. In this paper we argue that, while the general problem of automated composition in response to high-level goal statements is indeed very difficult to solve, we can realize composition in a restricted context, supporting varying degrees of manual to automated assembly for specific types of applications. We propose a novel paradigm for composition in flow-based information processing systems, where application design and component development are facilitated by the pervasive use of faceted, tag-based descriptions of processing goals, of component capabilities, and of structural patterns of families of application. The facets and tags represent different dimensions of both data and processing, where each facet is modeled as a finite set of tags that are defined in a controlled folksonomy. All data flowing through the system, as well as the functional capabilities of components are described using tags. A customized AI planner is used to automatically build an application, in the form of a flow of components, given a high-level goal specification in the form of a set of tags. End-users use an automatically populated faceted search and navigation mechanism to construct these high-level goals. We also propose a novel software engineering methodology to design and develop a set of reusable, well-described components that can be assembled into a variety of applications. With examples from a case study in the Financial Services domain, we demonstrate that composition using a faceted, tag-based application design is not only possible, but also extremely useful in helping end-users create situational applications from a wide variety of available components.

[1]  Axel van Lamsweerde,et al.  The KAOS Project: Knowledge Acquisition in Automated Specification of Software , 1991 .

[2]  Ning Gu,et al.  An ontology modeling method in semantic composition of Web services , 2004, IEEE International Conference on E-Commerce Technology for Dynamic E-Business.

[3]  R. Prieto-Diaz,et al.  Implementing faceted classification for software reuse , 1990, [1990] Proceedings. 12th International Conference on Software Engineering.

[4]  Martín Abadi,et al.  A Theory of Objects , 1996, Monographs in Computer Science.

[5]  Mike P. Papazoglou,et al.  A rule based approach to the service composition life-cycle , 2003, Proceedings of the Fourth International Conference on Web Information Systems Engineering, 2003. WISE 2003..

[6]  Ljerka Beus-Dukic,et al.  Semantic component selection - SemaCS , 2006, Fifth International Conference on Commercial-off-the-Shelf (COTS)-Based Software Systems (ICCBSS'05).

[7]  A. A.,et al.  Colon Classification , 1934, Nature.

[8]  Amit P. Sheth,et al.  Framework for Semantic Web Process Composition , 2003, Int. J. Electron. Commer..

[9]  Roy Grønmo,et al.  Web service composition in UML , 2004, Proceedings. Eighth IEEE International Enterprise Distributed Object Computing Conference, 2004. EDOC 2004..

[10]  Timothy W. Finin,et al.  A Planner for Composing Services Described in DAML-S , 2003 .

[11]  Jacek Kitowski,et al.  Knowledge Evolution Supporting Automatic Workflow Composition , 2006, 2006 Second IEEE International Conference on e-Science and Grid Computing (e-Science'06).

[12]  Roland Mittermeir,et al.  Storing and retrieving software components: a refinement based system , 1994, ICSE '94.

[13]  Jang-Eui Hong,et al.  A component composition model providing dynamic, flexible, and hierarchical composition of components for supporting software evolution , 2007, J. Syst. Softw..

[14]  Yijun Yu,et al.  Quality-Based Software Reuse , 2005, CAiSE.

[15]  Lirong Qiu,et al.  Semantic Web Services Composition Using AI Planning of Description Logics , 2006, 2006 IEEE Asia-Pacific Conference on Services Computing (APSCC'06).

[16]  Navendu Jain,et al.  Design, implementation, and evaluation of the linear road bnchmark on the stream processing core , 2006, SIGMOD Conference.

[17]  Eric Eide,et al.  Knit: component composition for systems software , 2000, OSDI.

[18]  Anton Riabov,et al.  Planning for Stream Processing Systems , 2005, AAAI.

[19]  Mark Pruett,et al.  Yahoo! pipes , 2007 .

[20]  David Mennie,et al.  An Architecture to Support Dynamic Composition of Service Components , 2000 .

[21]  Tiziana Margaria,et al.  LTL Guided Planning: Revisiting Automatic Tool Composition in ETI , 2007, 31st IEEE Software Engineering Workshop (SEW 2007).

[22]  Paul Brown,et al.  DAMIA - A Data Mashup Fabric for Intranet Applications , 2007, VLDB.

[23]  Simon J. Cox,et al.  Towards a Knowledge-Based Approach to Semantic Service Composition , 2003, SEMWEB.

[24]  Vagelis Hristidis,et al.  Syntactic Rule Based Approach toWeb Service Composition , 2006, 22nd International Conference on Data Engineering (ICDE'06).

[25]  Eric Bouillet,et al.  Wishful search: interactive composition of data mashups , 2008, WWW.

[26]  Andreas L. Opdahl,et al.  Facet Models for Problem Analysis , 1995, CAiSE.

[27]  Vijayan Sugumaran,et al.  A semantic-based approach to component retrieval , 2003, DATB.

[28]  Anton Riabov,et al.  A Planning Approach for Message-Oriented Semantic Web Service Composition , 2007, AAAI.

[29]  Tom Bylander,et al.  The Computational Complexity of Propositional STRIPS Planning , 1994, Artif. Intell..