Factbites
 Where results make sense
About us   |   Why use us?   |   Reviews   |   PR   |   Contact us  

Topic: Reflective programming


Related Topics

In the News (Fri 4 Dec 09)

  
  Reflection (computer science) - Wikipedia, the free encyclopedia
In computer science, reflection is the process by which a computer program of the appropriate type can be modified in the process of being executed, in a manner that depends on abstract features of its code and its runtime behavior.
Reflective programming is a new programming paradigm, used as an extension to the object-oriented programming paradigm, to add self-optimization to application programs, and to improve their flexibility.
Interpreted programming languages, such as Ruby and PHP, are ideally suited to reflection, since their source code is never lost in the process of translation to machine language—the interpreter has the source readily available.
en.wikipedia.org /wiki/Reflection_(computer_science)   (1830 words)

  
 DSG - K-Components - Approach - Asynchronous Reflection
So, in contrast to existing reflective programming languages, reflective computation in the meta-level occurs in a separate thread of control and executes asynchronously to the execution of the base-level.
For example, before methods are invoked a reflective programming language with behavioural reflection and reified method invocation computation will jump to the meta-level and the semantics of method invocation will be determined before invoking the method.
In asynchronous reflection, the reflection operation is executed by a separate process, distinct from the process it is reflecting on.
www.dsg.cs.tcd.ie /index.php?category_id=126   (710 words)

  
 Reflective programming languages
Reflective programming languages have existed since the seminal work of Smith in the early eighties, yet the area lacks a widely accepted account of what is reflection and what are reflective languages.
A program written in a particular programming language is a syntactically well-formed sequence of symbols that expresses a computation, which semantics is described by mapping its syntactic constructs to formal descriptions using the programming language semantics, and gathering them together to express its computation.
Definition 2.6 Behavioral reflection, on the other hand, is concerned with the ability of the language to provide a complete reification of its own semantics and implementation (processor) as well as a complete reification of the data and implementation of the run-time system.
www2.parc.com /csl/groups/sda/projects/reflection96/docs/malenfant/ref96/node2.html   (1149 words)

  
 Reflection-Oriented Programming
Most accounts of reflection are in an interpreted framework and tend to assume the availability of particular pieces of the state of a program's interpretation, including the current source code expression.
In each case, the whole concept of reflection is knotted very tightly to interpretation---so tightly, in fact, that it is commonplace to assume the availability of original source code during the execution of reflective programs.
More precisely, we define reflection-oriented programming to be a programming style that uses any means available to extend the meta-level semantics of computation in order to avoid situations in which the local requirements of some program fragment lead to non-local rewriting of the program.
www.cs.indiana.edu /~jsobel/rop.html   (7703 words)

  
 [No title]
I believe that often a program must be written with different parts operating at different levels of abstraction, and that the language itself must have different levels of abstraction as well as supporting program modules that do.
While people often think of reflective and metalevel programming as ways to change languages, it is important to recognize that often the goal is to change the implementation of the language while preserving the old abstractions.
The metalevel programming system could be used to redefine the low-level code used for assignments, and add bookkeeping code that keeps track of which objects or areas of memory are "dirty" (modified since the last checkpoint), and write them out at the next checkpoint.
www.cs.utexas.edu /ftp/pub/garbage/schnotes/meta.txt   (4283 words)

  
 Reflection in Rewriting Logic: Metalogical Foundations and Metaprogramming Applications
Reflection, the capacity to represent our ideas and to make them the object of our own thoughts, has for many centuries been recognized as a key mark of human intelligence.
Clavel's book proposes a general theory of reflective logics and reflective declarative programming languages, that provides a conceptual foundation for judging the extent to which a computational system is reflective.
All these applications are developed using the Maude language, a reflective programming language and environment that implements rewriting logic and supports its reflective capabilities.
csli-publications.stanford.edu /site/1575862387.html   (306 words)

  
 "Actor reflection without meta-objects" (and Java)   (Site not responding. Last check: 2007-10-30)
We consider how reflection should be introduced into an actor language, where reflection is a mechanism for allowing a program to have access to the data structures of its own processor.
Reflection is an attempt to allow programs to have knowledge of their text and the context in which they are executed.
However, the supervisor is something that programs (scripts) usually do not have access to, and therefore it is not appropriate to see the supervisor as an interpreter, at least as the first step in introducing reflection into an actor language.
www.cs.indiana.edu /~tanaka/geb/Actref   (4185 words)

  
 Reflective Programming Languages - TunesWiki
This language extension is powerful enough to allow the implementation of arbitrary sublanguages, including new object systems, logic programming, etc. However, as far as object systems are concerned, Common Lisp already has the most sophisticated one, that is also customizable through a Meta-Object Protocol.
Standard Scheme is not very reflective, except that you may dynamically load files your metaprograms output (but then, the standard gives no guarantees on file access).
The interest of Scheme for reflection is that it is a simple, consistent, language core, that can be (and is) used as the basis for reflective systems, by using non-standard extensions.
tunes.org /wiki/Reflective_Programming_Languages   (245 words)

  
 9. Related Work
Reflective languages and environments could be used to implement the component configurator model.
KLM+97] is a novel programming paradigm in which different aspects of a program are coded in separate subprograms.
The level of reflection is much higher than in dynamicTAO since, in their Python system, it is possible to add or remove methods from objects and classes dynamically and even change the class of an object at runtime.
choices.cs.uiuc.edu /~f-kon/thesis/node15.html   (5993 words)

  
 Curl programming language - Wikipedia, the free encyclopedia
The Curl programming language (unrelated to cURL) is a reflective programming language designed to create interactive web content.
Curl is a markup language like HTML, that is, plain text will be shown as text and at the same time an object-oriented programming language that supports multiple inheritance.
The language can be used as an HTML replacement for the presentation of formatted text, but whose capabilities include those of scripting languages as well as to compiled, strongly-typed, object-oriented system programming.
en.wikipedia.org /wiki/Curl_programming_language   (265 words)

  
 Open Directory - Computers:Programming:Languages:Reflective   (Site not responding. Last check: 2007-10-30)
Reflection: a method or means to let a system maintain information about itself (meta-information), and to use such to alter its behavior, to change, adapt; something acting upon itself.
More concretely, reflection is also an ability (for users) to modify software (even system software) of the underlying system during runtime, without leaving that system.
Reflective programming languages are those that take advantage of such traits and abilities, to various ends.
dmoz.org /Computers/Programming/Languages/Reflective/desc.html   (327 words)

  
 JOT: Journal of Object Technology - Reflective Software Engineering - From MOPS to AOSD
The work on providing procedural reflection for Java and C++ was not lost on researchers at Xerox PARC who combined their interest in separation of concerns; compile-time reflection; and improved program development and maintenance to develop the concept of Aspect Oriented Programming (AOP).
Program generation and weaving which appears to obliterate the original program clearly violates encapsulation, the principal benefit of object orientation.
These tangled programs are largely responsible for holding companies hostage to legacy code and further they induce fear in new developers who see significant risk in attempting to enhance or repair defects in such complex systems.
www.jot.fm /issues/issue_2002_09/column1   (3170 words)

  
 SWCLOS: A Semantic Web Processor on Common Lisp Object System
Here the term "reflective" indicates not only the capability to dynamically identify a procedural method in context and invoke the method in run-time, but also the capability to modify the language's implementation without leaving the realm of the language [1].
Reflective Knowledge Representation (KR) and reflective programming has been explored in two decades [5, 6, and 7].
The lessons learned from the implementation on reflective programming languages should be helpful to implement RDFS and OWL reflection in the case that the processor is developed from scratch.
iswc2004.semanticweb.org /demos/32   (3041 words)

  
 reflection - Search Results | Wink   (Site not responding. Last check: 2007-10-30)
Reflection can also be used to adapt a given system dynamically to...
Reflection (computer science), a programming language feature for metaprogramming; Reflection, a piece of installation art by Shane Cooper also called...
The law of reflection states that when a ray of light reflects off a surface...
www.wink.com /reflection   (374 words)

  
 NAPOLI - Genova - Unit Desctiption
Also in network-aware programming one has to cope with these issues, but in addition one has to account for dynamicity and openness of the network environment and for mobility of agents.
The main idea behind the approach is a generalization of the separation of concern [HV95] principle of reflective programming: to separate all reflective features of a program from its application based data structures and algorithms.
We extend that principle to the implementation of reflective systems itself by concentrating on the mechanism supporting reflection into the run-time system of the language (the language itself is not intended to be innovative).
music.dsi.unifi.it /napoli/genova/researchge.html   (995 words)

  
 PHP - Wikipedia, the free encyclopedia
PHP (PHP: Hypertext Preprocessor) is an open source, reflective programming language.
PHP was originally designed as a small set of Perl scripts, followed by a rewritten set of CGI binaries written in the C programming language by the Danish-Canadian programmer Rasmus Lerdorf in 1994 to display his résumé and to collect certain data, such as how much traffic his page was receiving.
Criticisms of PHP include those general criticisms ascribed to other scripting programming languages and dynamically typed languages.
en.wikipedia.org /wiki/PHP   (1746 words)

  
 Manning: Java Reflection in Action
Reflection is a topic that many programmers know about but don't truly understand.
Reflection can provide simple ways to get out of complex problems, which makes it well worth knowing.
Reflection is one of those tools that you never knew you needed until you learn it...
www.manning.com /forman   (807 words)

  
 Computational Reflection and Meta-level Architectures
We believe that reflection is beneficial to programming languages, especially for parallel and distributed systems, and design several reflective programming languages.
Our interests on computational reflection are its theoretical aspects, reflective programming systems, and use of reflection for practical use.
In concurrent/distributed programming systems, like our ABCL family of languages, extensibility in both language constructs and run-time systems are beneficial for efficient execution.
web.yl.is.s.u-tokyo.ac.jp /pl/meta.html   (1715 words)

  
 JBoss.com - Javassist
It is a class library for editing bytecodes in Java; it enables Java programs to define a new class at runtime and to modify a class file before the JVM loads it.
Aspect Oriented Programming: Javassist can be a good tool for introducing new methods into a class and for inserting before/after/around advice at the both caller and callee sides.
Reflection: One of applications of Javassist is runtime reflection; Javassist enables Java programs to use a metaobject that controls method calls on base-level objects.
www.jboss.org /products/javassist   (433 words)

  
 DATAMAN - Delta Forth .NET
Forth is a procedural, stack-oriented, reflective programming language and programming environment.
It was initially developed by Chuck Moore at the US National Radio Astronomy Observatory in the early 1970s, formalized as a programming language in 1977, and standardized by ANSI in 1994.
Programming is done by extending the language with words (the term used for Forth subroutines), which become part of the language once defined.
www.dataman.ro /dforth   (566 words)

  
 [CfP] Dynamic Languages Day @ Brussels
Quite a lot his development is done in Smalltalk, extensively using the reflective facilities in that language to do research in language symbiosis, development environments and for rapid programming in gneral.
He is also associated with the Programming Technology Lab at the Vrije Universiteit Brussel, where he obtained a Ph.D. degree in Computer Sciences in 2005.
Johan's research is focusing on the use of metaprogramming in the context of generative programming techniques and aspect-oriented programming languages.
mail.python.org /pipermail/python-announce-list/2006-January/004619.html   (1443 words)

  
 Researches on Computational Reflection @ DISI
A reflective approach can be considered as the glue to join together distributed and object-based programming and to fill gaps in their integration.
Computational reflection thanks to its properties (separation of concerns, transparency, and layerization) is the perfect glue to integrate a security module into an existing application.
Reflective programming paradigm covers a programming abstraction which is not considered by other paradigms, like the functional, the procedural, the logic, and the object-oriented one.
www.disi.unige.it /person/CazzolaW/research.html   (1114 words)

  
 OOPSLA'05—Onward Presentations 2: Ambient and Organic
A simple reflective programming language kernel, called AmbientTalk, that meets these characteristics is subsequently presented.
The power of the reflective kernel is illustrated by using it to conceive a collection of high level tentative ambient-oriented programming language features.
Organic programming (OP) is our proposed and already emerging programming model which overcomes some of the limitations of current practice in software development in general and of object-oriented programming (OOP) in particular.
www.oopsla.org /2005/ShowEvent.do?id=50&showdetails=true   (357 words)

  
 Java-Channel - ROOT PORTAL
Reflective programming is a new object-oriented programming paradigm which is today of high interest in many application fields and research areas.
Although reflective features exist in some programming languages, many reflective versions of standard languages have emerged (OpenC++, Reflective Java, MetaJava, etc.) and are used for the development of applications and systems.
This workshop aims bring together developers of practical systems using reflective programming in various domains, to share experience and requirements.
www.java-channel.org /display.jsp?id=c_5348   (133 words)

  
 programming language in Programming. Page 1
procedural, stack-oriented, reflective programming language and programming environment.
1970s, formalized as a programming language in 1977, and standardized by...
was the first widely used programming language to embrace first class escape...
computers.seodor.com /Programming/programming%20language   (178 words)

  
 Oriented Aspect Methodologies Programming Computers
Colyer is an acknowledged international expert on Aspect Oriented Programming (AOP...
- In this two part article Ivar Jacobson describes how aspect oriented programming provides the missing link to providing use-case modularization all the way from requirements down to code.
- Free chapter from the book "Generative Programming" - covers basic concepts of AOP with examples in C++, Java, Smalltalk, and in AspectJ, Demeter, SOP and Composition Filters; and techniques for implementing weaving.
www.iaswww.com /ODP/Computers/Programming/Methodologies/Aspect-Oriented   (334 words)

  
 PODS 1993: 17-25
Jan Van den Bussche, Dirk Van Gucht, Gottfried Vossen: Reflective Programming in the Relational Algebra.
In reflective programming languages it is possible for a program to generate code that is integrated into the program's own execution.
Reflection is achieved by storing and manipulating relational algebra programs as relations in the database.
www.informatik.uni-trier.de /~ley/db/conf/pods/BusscheGV93.html   (425 words)

  
 Clavel, Manuel: Reflection in Rewriting Logic
This theory provides a conceptual foundation for judging the extent to which a computational system is reflective.
Manuel Clavel presents a proof of the reflective nature of rewriting logic and provides examples of the potential for reflective programming in a number of novel computer applications.
These applications are implemented in Maude, a reflective programming language and environment based on rewriting logic that can define, represent and execute a breadth of logics, languages and models of computation.
www.press.uchicago.edu /cgi-bin/hfs.cgi/00/14450.ctl   (234 words)

Try your search on: Qwika (all wikis)

Factbites
  About us   |   Why use us?   |   Reviews   |   Press   |   Contact us  
Copyright © 2005-2007 www.factbites.com Usage implies agreement with terms.