<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent changes to Home</title><link>https://sourceforge.net/p/cbtf/wiki/Home/</link><description>Recent changes to Home</description><atom:link href="https://sourceforge.net/p/cbtf/wiki/Home/feed" rel="self"/><language>en</language><lastBuildDate>Fri, 25 Oct 2013 15:59:32 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/cbtf/wiki/Home/feed" rel="self" type="application/rss+xml"/><item><title>Discussion for Home page</title><link>https://sourceforge.net/p/cbtf/wiki/Home/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Component Based Tool Framework (CBTF) Project Technical Overview&lt;/p&gt;
&lt;p&gt;The goal of the CBTF project is to provide users and tool developers a tool development framework which expedites the ability to combine compatible reusable components into performance tools of differing levels of complexity. In other words, the CBTF project provides support for creating a compatible interface for components, finding compatible components and defining an interface API which facilitates communication between components. In the CBTF framework, a component is defined as a “black box” entity with zero or more inputs and zero or more outputs.&lt;/p&gt;
&lt;p&gt;This diagram shows the abstract “black box” view of a component and the concrete, implementation through an API, on the right side. The diagram also illustrates the definition of a component. Components are based on a data-flow model, accepting zero or more inputs, performing arbitrary processing, and emitting zero or more outputs. They are written using C++, inheriting from a base class that provides basic infrastructure. They provide metadata in form of the component’s type, version, and input/output names and types. All components are versioned and multiple versions the same component can co-exist. Finally, components can be packaged in a variety of different ways.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;The definition of components and the connection of components can be done using the light weight CBTF library by making the appropriate API calls to generate the single process component network. The diagram below gives a high level overview of how the CBTF library would facilitate the creation of a single process example tool from components built using the CBTF framework. Each network contains one or more component instances and connections between those component instances. Any topology is possible, from pipelines to graphs with cycles. Networks are recursive in the sense that the network is itself a component, with input and outputs, which can be instantiated and further connection to other networks. &lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Additionally, the single process component network can be generated automatically by specifying the component network definition and component connection using a network specification written in XML. The XML specification file contains all the necessary information about each of the components and how they are connected to each other. Using the CBTF XML and CBTF base libraries, a tool builder can create a tool from a set of components by specifying an XML specification file that defines the components and how they are connected. Specification of the component network in XML is now done manually, but it could be automated by the development of a GUI tool. A GUI tool is planned for creating the description file, as these files are verbose in nature.&lt;/p&gt;
&lt;p&gt;The distribution of the CBTF component network across nodes of a distributed system is also supported. The CBTF library named libcbtf-mrnet supports instantiation of component networks at various levels of a MRNet based tree network. The following diagram illustrates how single component or multiple component networks can be deployed at the backend, communication, and frontend node levels within the MRNet tree based network. &lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;The purpose of the diagram above is to show the definition distributed component networks. These are (currently) MRNet based. A complete component network is located on each node in the MRNet network. These component networks are connected via symbolically-named MRNet streams (shown in red) which can move data either up or down the MRNet network. As with non-distributed component networks, distributed component networks are recursively defined and specified via XML files. Finally, light-weight MRNet is supported by allowing messages with specific MRNet tags to be associated with named streams. &lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Jim Galarowicz</dc:creator><pubDate>Fri, 25 Oct 2013 15:59:32 -0000</pubDate><guid>https://sourceforge.netac1eecddc635c2348ea107133a6dcb219a650f1e</guid></item><item><title>Home modified by Jim Galarowicz</title><link>https://sourceforge.net/p/cbtf/wiki/Home/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Welcome to your wiki!&lt;/p&gt;
&lt;p&gt;This is the default page, edit it as you see fit. To add a new page simply reference it within brackets, e.g.: &lt;span&gt;[SamplePage]&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;The wiki uses &lt;a class="" href="/p/cbtf/wiki/markdown_syntax/"&gt;Markdown&lt;/a&gt; syntax.&lt;/p&gt;
&lt;p&gt;&lt;h6&gt;Project Members:&lt;/h6&gt;
&lt;ul class="md-users-list"&gt;
&lt;li&gt;&lt;a href="/u/jgalarowicz/"&gt;Jim Galarowicz&lt;/a&gt; (admin)&lt;/li&gt;
&lt;/ul&gt;&lt;br /&gt;
&lt;/p&gt;&lt;p&gt;&lt;span class="download-button-52026fa681b24b5632e85279" style="margin-bottom: 1em; display: block;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Jim Galarowicz</dc:creator><pubDate>Wed, 07 Aug 2013 16:02:47 -0000</pubDate><guid>https://sourceforge.netd6d09f8937ee378450866deb83225050e3bb08e6</guid></item></channel></rss>