<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet type='text/xsl' href='http://tharakadev.spaces.live.com/mmm2008-07-24_12.50/rsspretty.aspx?rssquery=en-US;http%3a%2f%2ftharakadev.spaces.live.com%2fcategory%2fResearch%2ffeed.rss' version='1.0'?><rss version="2.0" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:msn="http://schemas.microsoft.com/msn/spaces/2005/rss" xmlns:live="http://schemas.microsoft.com/live/spaces/2006/rss" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:cf="http://www.microsoft.com/schemas/rss/core/2005" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Tharaka Devadithya's space: Research</title><description /><link>http://tharakadev.spaces.live.com/?_c11_BlogPart_BlogPart=blogview&amp;_c=BlogPart&amp;partqs=catResearch</link><language>en-US</language><pubDate>Mon, 14 Apr 2008 21:56:19 GMT</pubDate><lastBuildDate>Mon, 14 Apr 2008 21:56:19 GMT</lastBuildDate><generator>Microsoft Spaces v1.1</generator><docs>http://www.rssboard.org/rss-specification</docs><ttl>60</ttl><cf:parentRSS>http://tharakadev.spaces.live.com/blog/feed.rss</cf:parentRSS><live:type>blogcategory</live:type><live:identity><live:id>5555804332650269538</live:id><live:alias>tharakadev</live:alias></live:identity><cf:listinfo><cf:group ns="http://schemas.microsoft.com/live/spaces/2006/rss" element="typelabel" label="Type" /><cf:group ns="http://schemas.microsoft.com/live/spaces/2006/rss" element="tag" label="Tag" /><cf:group element="category" label="Category" /><cf:sort element="pubDate" label="Date" data-type="date" default="true" /><cf:sort element="title" label="Title" data-type="string" /><cf:sort ns="http://purl.org/rss/1.0/modules/slash/" element="comments" label="Comments" data-type="number" /></cf:listinfo><item><title>Data Models</title><link>http://tharakadev.spaces.live.com/Blog/cns!4D1A2E9AC9320B62!598.entry</link><description>&lt;div&gt;
&lt;div&gt;Data Models &lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;Graph &lt;br&gt;- DBMS with graph data model for knowledge handling (&lt;a href="http://portal.acm.org/citation.cfm?id=42071&amp;amp;dl=acm&amp;amp;coll=&amp;amp;CFID=15151515&amp;amp;CFTOKEN=6184618"&gt;link&lt;/a&gt;) 
&lt;li&gt;E-R Model - &lt;a href="http://en.wikipedia.org/wiki/Entity-relationship_model"&gt;Wikipedia&lt;/a&gt; &lt;br&gt;- The entity-relationship model—toward a unified view of data (&lt;a href="http://portal.acm.org/citation.cfm?id=320440"&gt;link&lt;/a&gt;) 
&lt;li&gt;Network Model - &lt;a href="http://en.wikipedia.org/wiki/Network_model"&gt;Wikipedia&lt;/a&gt;&lt;br&gt;- Network (CODASYL) Data Model (&lt;a href="http://coronet.iicm.edu/wbtmaster/allcoursescontent/netlib/ndm1.htm"&gt;link&lt;/a&gt;)
&lt;li&gt;XQuery and XPath data model (&lt;a href="http://publib.boulder.ibm.com/infocenter/db2luw/v9/index.jsp?topic=/com.ibm.db2.xquery.doc/xqrdatam.html"&gt;link&lt;/a&gt;) &lt;/ul&gt;&lt;/div&gt;
&lt;div&gt;CLASSIC: a structural data model for objects (&lt;a href="http://portal.acm.org/citation.cfm?id=66932"&gt;link&lt;/a&gt;)&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;Wikipedia - Data Models (&lt;a href="http://en.wikipedia.org/wiki/Data_model"&gt;link&lt;/a&gt;) and Data Modelling (&lt;a href="http://en.wikipedia.org/wiki/Data_modeling"&gt;link&lt;/a&gt;)&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;Database Models - &lt;a href="http://en.wikipedia.org/wiki/Database_model"&gt;Wikipedia&lt;/a&gt; (&lt;a href="http://unixspace.com/context/databases.html"&gt;Unixspace&lt;/a&gt;)&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;Data Modeling 101 (&lt;a href="http://www.agiledata.org/essays/dataModeling101.html"&gt;link&lt;/a&gt;)&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=5555804332650269538&amp;page=RSS%3a+Data+Models&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=tharakadev.spaces.live.com&amp;amp;GT1=tharakadev"&gt;</description><comments>http://tharakadev.spaces.live.com/Blog/cns!4D1A2E9AC9320B62!598.entry#comment</comments><guid isPermaLink="true">http://tharakadev.spaces.live.com/Blog/cns!4D1A2E9AC9320B62!598.entry</guid><pubDate>Tue, 20 Feb 2007 10:49:53 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://tharakadev.spaces.live.com/blog/cns!4D1A2E9AC9320B62!598/comments/feed.rss</wfw:commentRss><wfw:comment>http://tharakadev.spaces.live.com/Blog/cns!4D1A2E9AC9320B62!598.entry#comment</wfw:comment><dcterms:modified>2007-04-25T22:34:43Z</dcterms:modified></item><item><title>Miscellaneous Research Topics</title><link>http://tharakadev.spaces.live.com/Blog/cns!4D1A2E9AC9320B62!191.entry</link><description>&lt;h3&gt; Data Acquisition&lt;/h3&gt;&lt;p&gt;&lt;a href="http://scholar.google.com/url?sa=U&amp;amp;q=http://www.isys.ucl.ac.be/vldb04/eProceedings/contents/pdf/RS16P1.PDF" title="http://scholar.google.com/url?sa=U&amp;amp;q=http://www.isys.ucl.ac.be/vldb04/eProceedings/contents/pdf/RS16P1.PDF" rel=nofollow&gt;Model-Driven Data Acquisition in Sensor Networks&lt;/a&gt; - Paper from MIT/Berkeley

&lt;ul&gt;&lt;li&gt; Incorporates statistical models of real-world processes into a sensornet query processing architecture.
&lt;/ul&gt;&lt;br&gt;&lt;h3&gt; Data Transformations&lt;/h3&gt;&lt;a href="http://domino.research.ibm.com/comm/research_projects.nsf/pages/virtualxml.dfdl.html/$FILE/DFDL.html" title="http://domino.research.ibm.com/comm/research projects.nsf/pages/virtualxml.dfdl.html/$FILE/DFDL.html" rel=nofollow&gt;Data Format Description Language (DFDL) Overview&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=5555804332650269538&amp;page=RSS%3a+Miscellaneous+Research+Topics&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=tharakadev.spaces.live.com&amp;amp;GT1=tharakadev"&gt;</description><comments>http://tharakadev.spaces.live.com/Blog/cns!4D1A2E9AC9320B62!191.entry#comment</comments><guid isPermaLink="true">http://tharakadev.spaces.live.com/Blog/cns!4D1A2E9AC9320B62!191.entry</guid><pubDate>Mon, 21 Aug 2006 22:01:52 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://tharakadev.spaces.live.com/blog/cns!4D1A2E9AC9320B62!191/comments/feed.rss</wfw:commentRss><wfw:comment>http://tharakadev.spaces.live.com/Blog/cns!4D1A2E9AC9320B62!191.entry#comment</wfw:comment><dcterms:modified>2006-08-21T22:03:37Z</dcterms:modified></item><item><title>Reflective Middleware</title><link>http://tharakadev.spaces.live.com/Blog/cns!4D1A2E9AC9320B62!190.entry</link><description>&lt;p&gt;&lt;a href="http://www.ime.usp.br/~kon/papers/cacm02.pdf" title="http://www.ime.usp.br/~kon/papers/cacm02.pdf" rel=nofollow&gt;The Case for Reflective Middleware&lt;/a&gt;

&lt;ul&gt;&lt;li&gt; A multimedia streaming or videoconferencing application can
obtain dramatic improvements in its quality of service by selecting a
network transport protocol that suits the underlying network
infrastructure (e.g., wireless LAN, wired LAN, or long distance
Internet) and the available bandwidth.
&lt;li&gt; Reconfigure the application to show the video in the larger display.
&lt;li&gt; Select networking protocols, security policies, encoding
algorithms, and various other mechanisms to optimize system performance
for different contexts and situations.
&lt;/ul&gt;
&lt;p&gt;&lt;br&gt;
&lt;a href="http://portal.acm.org/citation.cfm?id=1028613.1028627" title="http://portal.acm.org/citation.cfm?id=1028613.1028627" rel=nofollow&gt;Research directions in reflective middleware: the Lancaster experience&lt;/a&gt; - &lt;a href="http://portal.acm.org/ft_gateway.cfm?id=1028627&amp;amp;type=pdf&amp;amp;coll=GUIDE&amp;amp;dl=GUIDE&amp;amp;CFID=70005171&amp;amp;CFTOKEN=49238465" title="http://portal.acm.org/ft gateway.cfm?id=1028627&amp;amp;type=pdf&amp;amp;coll=GUIDE&amp;amp;dl=GUIDE&amp;amp;CFID=70005171&amp;amp;CFTOKEN=49238465" rel=nofollow&gt;paper&lt;/a&gt;

&lt;ul&gt;&lt;li&gt; Component frameworks - middleware platform is composed of a
set of frameworks each of which represents some aspect of the required
functionality or structure. E.g.,
&lt;ul&gt;&lt;li&gt; protocol frameworks
&lt;li&gt; dispatching of incoming calls
&lt;li&gt; resource management
&lt;li&gt; scheduling
&lt;/ul&gt;
&lt;li&gt; These component frameworks accept ‘plug-in’ components that add or extend behaviour.
&lt;li&gt; Component frameworks are themselves components, thus facilitating the construction of &lt;b&gt;nested structures&lt;/b&gt;.
&lt;li&gt; Reflection is then used to support introspection and adaptation of the underlying component/component framework structures.
&lt;/ul&gt;
&lt;p&gt;&lt;br&gt;
&lt;a href="http://csdl2.computer.org/persagen/DLAbsToc.jsp?resourcePath=/dl/proceedings/&amp;amp;toc=comp/proceedings/wetice/2004/2183/00/2183toc.xml&amp;amp;DOI=10.1109/ENABL.2004.69" title="http://csdl2.computer.org/persagen/DLAbsToc.jsp?resourcePath=/dl/proceedings/&amp;amp;toc=comp/proceedings/wetice/2004/2183/00/2183toc.xml&amp;amp;DOI=10.1109/ENABL.2004.69" rel=nofollow&gt;Towards A Component-Based Middleware Framework for Configurable and Reconfigurable Grid Computing&lt;/a&gt; - &lt;a href="http://csdl.computer.org/dl/proceedings/wetice/2004/2183/00/21830291.pdf" title="http://csdl.computer.org/dl/proceedings/wetice/2004/2183/00/21830291.pdf" rel=nofollow&gt;paper&lt;/a&gt;

&lt;ul&gt;&lt;li&gt; Grid middleware platforms have significant limitations as a Grid middleware support infrastructure.
&lt;/ul&gt;
&lt;ol&gt;&lt;li&gt; Extremely limited, in comparison to object-based middleware platforms (e.g. RM-ODP and CORBA)
&lt;li&gt; Little or no support for QoS specification and realisation
&lt;li&gt; Does not include results from from advanced middleware research (reflective and component-based middleware technologies)
&lt;/ol&gt;
&lt;ul&gt;&lt;li&gt; provision of generic services. E.g., CORBA supports generic reusable services like 
&lt;ul&gt;&lt;li&gt; fault tolerance
&lt;li&gt; persistent state
&lt;li&gt; automated logging
&lt;li&gt; load-balancing
&lt;li&gt; transactional object invocation
&lt;li&gt; event distribution
&lt;/ul&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;br&gt;
&lt;i&gt;&lt;b&gt;Resources&lt;/b&gt;&lt;/i&gt;

&lt;ul&gt;&lt;li&gt; Google: reflective OR reflection middleware OR programming grid - &lt;a href="http://www.google.com/search?hl=en&amp;amp;q=reflective+OR+reflection+middleware+OR+programming+grid&amp;amp;btnG=Google+Search" title="http://www.google.com/search?hl=en&amp;amp;q=reflective OR reflection middleware OR programming grid&amp;amp;btnG=Google Search" rel=nofollow&gt;results&lt;/a&gt;
&lt;li&gt; scholar.google.com: reflective OR reflection middleware grid - &lt;a href="http://scholar.google.com/scholar?q=reflective+OR+reflection+middleware+grid&amp;amp;ie=UTF-8&amp;amp;oe=UTF-8&amp;amp;hl=en&amp;amp;btnG=Search" title="http://scholar.google.com/scholar?q=reflective OR reflection middleware grid&amp;amp;ie=UTF-8&amp;amp;oe=UTF-8&amp;amp;hl=en&amp;amp;btnG=Search" rel=nofollow&gt;results&lt;/a&gt;
&lt;/ul&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=5555804332650269538&amp;page=RSS%3a+Reflective+Middleware&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=tharakadev.spaces.live.com&amp;amp;GT1=tharakadev"&gt;</description><comments>http://tharakadev.spaces.live.com/Blog/cns!4D1A2E9AC9320B62!190.entry#comment</comments><guid isPermaLink="true">http://tharakadev.spaces.live.com/Blog/cns!4D1A2E9AC9320B62!190.entry</guid><pubDate>Mon, 21 Aug 2006 21:54:57 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://tharakadev.spaces.live.com/blog/cns!4D1A2E9AC9320B62!190/comments/feed.rss</wfw:commentRss><wfw:comment>http://tharakadev.spaces.live.com/Blog/cns!4D1A2E9AC9320B62!190.entry#comment</wfw:comment><dcterms:modified>2006-08-21T21:54:57Z</dcterms:modified></item><item><title>Binary Protocols</title><link>http://tharakadev.spaces.live.com/Blog/cns!4D1A2E9AC9320B62!189.entry</link><description>&lt;p&gt;&lt;a href="http://blogs.msdn.com/johnmil/archive/2005/12/11/Web_Services_vs_Binary_Protocols.aspx" title="http://blogs.msdn.com/johnmil/archive/2005/12/11/Web Services vs Binary Protocols.aspx" rel=nofollow&gt;Choosing Technology: Web Services vs. Binary Protocols&lt;/a&gt;
- John L. Miller's web log&lt;br&gt;
&lt;br&gt;
&lt;a href="http://www-128.ibm.com/developerworks/webservices/library/ws-tip-noattach.html" title="http://www-128.ibm.com/developerworks/webservices/library/ws-tip-noattach.html" rel=nofollow&gt;Web services programming tips and tricks: Send binary data without using attachments&lt;/a&gt;

&lt;ul&gt;&lt;li&gt; inlining the binary data using xsd:hexBinary
&lt;/ul&gt;
&lt;p&gt;&lt;br&gt;
&lt;a href="http://www.xml.com/pub/a/2003/02/26/binaryxml.html" title="http://www.xml.com/pub/a/2003/02/26/binaryxml.html" rel=nofollow&gt;XML, SOAP and Binary Data&lt;/a&gt;

&lt;ul&gt;&lt;li&gt; Current approaches
&lt;ul&gt;&lt;li&gt; SOAP with Attachments (SwA)
&lt;li&gt; WS-Attachments
&lt;/ul&gt;
&lt;li&gt; Alternatives to text encoding
&lt;ul&gt;&lt;li&gt; XInclude
&lt;li&gt; WBXML
&lt;/ul&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;br&gt;
&lt;a href="http://www.w3.org/TR/wbxml" title="http://www.w3.org/TR/wbxml" rel=nofollow&gt;WAP Binary XML Content Format&lt;/a&gt;

&lt;ul&gt;&lt;li&gt; W3C specification
&lt;/ul&gt;
&lt;p&gt;&lt;br&gt;
&lt;a href="http://www.zapthink.com/report.html?id=ZAPFLASH-11162004" title="http://www.zapthink.com/report.html?id=ZAPFLASH-11162004" rel=nofollow&gt;Will Binary XML Solve XML Performance Woes?&lt;/a&gt;
- Ronald Schmelzer&lt;br&gt;
&lt;br&gt;
&lt;a href="http://www.xmlconference.org/xmlusa/2004/slides/leventhal/Is Now the Time for Binary XML Report on current W3C Activity.pdf" title="http://www.xmlconference.org/xmlusa/2004/slides/leventhal/Is Now the Time for Binary XML Report on current W3C Activity.pdf" rel=nofollow&gt;Is Now the Time for Binary XML&lt;/a&gt;

&lt;ul&gt;&lt;li&gt; Presentation at &lt;a href="http://www.xmlconference.org/xmlusa/2004" title="http://www.xmlconference.org/xmlusa/2004" rel=nofollow&gt;XML 2004 Conference&lt;/a&gt;
&lt;/ul&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=5555804332650269538&amp;page=RSS%3a+Binary+Protocols&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=tharakadev.spaces.live.com&amp;amp;GT1=tharakadev"&gt;</description><comments>http://tharakadev.spaces.live.com/Blog/cns!4D1A2E9AC9320B62!189.entry#comment</comments><guid isPermaLink="true">http://tharakadev.spaces.live.com/Blog/cns!4D1A2E9AC9320B62!189.entry</guid><pubDate>Mon, 21 Aug 2006 21:45:29 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://tharakadev.spaces.live.com/blog/cns!4D1A2E9AC9320B62!189/comments/feed.rss</wfw:commentRss><wfw:comment>http://tharakadev.spaces.live.com/Blog/cns!4D1A2E9AC9320B62!189.entry#comment</wfw:comment><dcterms:modified>2006-08-21T21:45:29Z</dcterms:modified></item><item><title>Related work in C++ Reflection</title><link>http://tharakadev.spaces.live.com/Blog/cns!4D1A2E9AC9320B62!187.entry</link><description>&lt;p&gt;&lt;a href="http://seal-reflex.web.cern.ch/seal-reflex/presentations.html"&gt;SEAL Reflex&lt;/a&gt;&lt;ul&gt;&lt;li&gt; Paper - The SEAL C++ Reflection System, S. Roiser, CHEP '04, Interlaken, Switzerland, Sept. 27th, 2004 (&lt;a href="http://indicodev.cern.ch//materialDisplay.py?contribId=222&amp;amp;sessionId=6&amp;amp;materialId=paper&amp;amp;confId=0" title="http://indicodev.cern.ch//materialDisplay.py?contribId=222&amp;amp;sessionId=6&amp;amp;materialId=paper&amp;amp;confId=0" rel=nofollow&gt;pdf&lt;/a&gt;, &lt;a href="http://seal.web.cern.ch/seal/documents/222_SEAL_Cpp_Reflection_Roiser.ppt" title="http://seal.web.cern.ch/seal/documents/222 SEAL Cpp Reflection Roiser.ppt" rel=nofollow&gt;ppt&lt;/a&gt;)&lt;/ul&gt;&lt;p&gt;&lt;a href="http://www.vollmann.com/pubs/meta/meta/meta.html" title="http://www.vollmann.com/pubs/meta/meta/meta.html" rel=nofollow&gt;&lt;br&gt;Metaclasses and Reflection in C++&lt;/a&gt;&lt;ul&gt;&lt;li&gt;Not sure whether this always require you to insert meta-information
into existing classes? The examples, suggest that, but the site doesn't
explicitly mention it.&lt;/ul&gt;&lt;br&gt;&lt;a href="http://portal.acm.org/citation.cfm?id=217838.217868" title="http://portal.acm.org/citation.cfm?id=217838.217868" rel=nofollow&gt;A metaobject protocol for C++&lt;/a&gt; - Paper
&lt;p&gt;&lt;br&gt;
&lt;a href="http://www.csg.is.titech.ac.jp/~chiba/openc++.html" title="http://www.csg.is.titech.ac.jp/~chiba/openc  .html" rel=nofollow&gt;OpenC++&lt;/a&gt;
&lt;p&gt;&lt;br&gt;
&lt;a href="http://www.garret.ru/~knizhnik/cppreflection/docs/reflect.html" title="http://www.garret.ru/~knizhnik/cppreflection/docs/reflect.html" rel=nofollow&gt;Reflection for C++&lt;/a&gt;

&lt;ul&gt;&lt;li&gt; Two approaches
&lt;ul&gt;&lt;li&gt; Use debug information - needs to always compile in debug mode, might work only with gcc
&lt;li&gt; Programmer needs to provide meta information - intrusive
&lt;/ul&gt;
&lt;li&gt; Contains a good comparison of different approaches
&lt;/ul&gt;
&lt;p&gt;&lt;br&gt;
&lt;a href="http://sourceforge.net/projects/cppreflect" title="http://sourceforge.net/projects/cppreflect" rel=nofollow&gt;C++ Reflection&lt;/a&gt; - &lt;a href="http://cppreflect.sourceforge.net/" title="http://cppreflect.sourceforge.net" rel=nofollow&gt;Homepage&lt;/a&gt;

&lt;ul&gt;&lt;li&gt; A library to provide full reflection for C++ through template metaprogramming techniques
&lt;li&gt; programmes have to annotate classes to make them reflexive
&lt;/ul&gt;
&lt;p&gt;&lt;br&gt;
&lt;a href="http://public.kitware.com/pipermail/gccxml/2005-September/000654.html" title="http://public.kitware.com/pipermail/gccxml/2005-September/000654.html" rel=nofollow&gt;C++ Reflection Using GCCXML?&lt;/a&gt; - Discussion
&lt;p&gt;&lt;br&gt;
&lt;a href="http://reflection.sourceforge.net/" title="http://reflection.sourceforge.net" rel=nofollow&gt;C++ Reflection and Service Library&lt;/a&gt;

&lt;ul&gt;&lt;li&gt; Uses a visitor to collect information from classes
&lt;li&gt; intrusive
&lt;/ul&gt;
&lt;p&gt;&lt;br&gt;
&lt;a href="http://www.csg.is.titech.ac.jp/~chiba/oopsla98/proc/cover.pdf" title="http://www.csg.is.titech.ac.jp/~chiba/oopsla98/proc/cover.pdf" rel=nofollow&gt;OOPSLA'98&lt;/a&gt;
&lt;p&gt;&lt;br&gt;
&lt;a href="http://gcc.gnu.org/projects/cxx-reflection" title="http://gcc.gnu.org/projects/cxx-reflection" rel=nofollow&gt;Compile Time Reflection for C++&lt;/a&gt;

&lt;ul&gt;&lt;li&gt; Part of the effort of providing support for compile time reflection in C++
&lt;li&gt; No details about desgin/implementation on the web page
&lt;li&gt; Example of such a feature - the type traits proposal by John Maddock (Boost)
&lt;/ul&gt;
&lt;p&gt;&lt;br&gt;
&lt;a href="http://www.di.unipi.it/~attardi/Paper/Reflection01.pdf" title="http://www.di.unipi.it/~attardi/Paper/Reflection01.pdf" rel=nofollow&gt;Template Metaprogramming an Object Interface to Relational Tables&lt;/a&gt; - Short paper
&lt;p&gt;&lt;br&gt;
&lt;a href="http://cd-docdb.fnal.gov/cgi-bin/RetrieveFile?docid=724&amp;amp;version=1&amp;amp;filename=n1775.pdf" title="http://cd-docdb.fnal.gov/cgi-bin/RetrieveFile?docid=724&amp;amp;version=1&amp;amp;filename=n1775.pdf" rel=nofollow&gt;A Case for Reflection&lt;/a&gt;
&lt;p&gt;&lt;br&gt;
&lt;a href="http://adsabs.harvard.edu/abs/2004cs........1024M" title="http://adsabs.harvard.edu/abs/2004cs........1024M" rel=nofollow&gt;A system for reflection in C++&lt;/a&gt;
&lt;p&gt;&lt;br&gt;
&lt;a href="http://www.pccluster.org/score/db/paper-E/1996/reflection96/ishikawa/ishikawa.pdf" title="http://www.pccluster.org/score/db/paper-E/1996/reflection96/ishikawa/ishikawa.pdf" rel=nofollow&gt;Design and Implementation of Metalevel Architecture in C++ – MPC++ Approach&lt;/a&gt; - paper

&lt;ul&gt;&lt;li&gt; Meta-level architecture in C++
&lt;li&gt; Provides
&lt;ul&gt;&lt;li&gt; reification
&lt;li&gt; reflection
&lt;/ul&gt;
&lt;li&gt; Compile-time metalevel processing
&lt;li&gt; Modifies and extends C++ syntax and semantics
&lt;/ul&gt;
&lt;p&gt;&lt;br&gt;
&lt;a href="http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?arnumber=671360" title="http://ieeexplore.ieee.org/xpl/freeabs all.jsp?arnumber=671360" rel=nofollow&gt;Non-intrusive object introspection in C++: architecture and application&lt;/a&gt; - &lt;a href="http://www.iis.sinica.edu.tw/papers/cmwang/449-F.pdf" title="http://www.iis.sinica.edu.tw/papers/cmwang/449-F.pdf" rel=nofollow&gt;paper&lt;/a&gt;

&lt;ul&gt;&lt;li&gt; A separate meta object is defined for each class that completely captures information of the class for introspection purposes.
&lt;li&gt; Maintains static offsets to class members
&lt;li&gt; Friend functions are inserted into classes to obtain offsets of private members - instrusive
&lt;li&gt; The meta class for class (Klass) must store 
&lt;ul&gt;&lt;li&gt; the name of the class
&lt;li&gt; pointers to meta objects of its base classes
&lt;li&gt; methods to get names
&lt;li&gt; memory offsets of all its data members
&lt;li&gt; methods to get names and implementations of all its member functions (i. e., getMethod)
&lt;/ul&gt;
&lt;li&gt; All objects are treated as pointers of type (void *)
&lt;/ul&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=5555804332650269538&amp;page=RSS%3a+Related+work+in+C%2b%2b+Reflection&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=tharakadev.spaces.live.com&amp;amp;GT1=tharakadev"&gt;</description><comments>http://tharakadev.spaces.live.com/Blog/cns!4D1A2E9AC9320B62!187.entry#comment</comments><guid isPermaLink="true">http://tharakadev.spaces.live.com/Blog/cns!4D1A2E9AC9320B62!187.entry</guid><pubDate>Mon, 21 Aug 2006 21:31:08 GMT</pubDate><slash:comments>1</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://tharakadev.spaces.live.com/blog/cns!4D1A2E9AC9320B62!187/comments/feed.rss</wfw:commentRss><wfw:comment>http://tharakadev.spaces.live.com/Blog/cns!4D1A2E9AC9320B62!187.entry#comment</wfw:comment><dcterms:modified>2006-08-21T21:43:23Z</dcterms:modified></item></channel></rss>