Skip to main content
Design patterns, which encapsulate common solutions to the recurring design problems, have contributed to the increased reuse, quality and productivity in software design. We argue that hardware design patterns could be used for... more
    • by 
    •   17  
      Software EngineeringIntellectual PropertyProductivityDesign Patterns
Meta-programming languages provide infrastructure to generate and execute object programs at run-time. In a typed setting, they contain a modal type constructor which classifies object code. These code types generally come in two flavors:... more
    • by 
    •   10  
      Modal LogicComputer ScienceFunctional ProgrammingLambda Calculus
C++ template metaprogramming has been used with great success to build software applications and libraries. In practice, however, template metaprogramming suffers usability, reliability, and capability shortcomings, and it is not well... more
    • by 
    •   7  
      Computer ScienceSemanticsReflectionMetaprogramming
    • by 
    •   7  
      Object Oriented ProgrammingMetamodellingDesign PatternsThesis
We present a novel dynamic analysis technique that finds real deadlocks in multi-threaded programs. Our technique runs in two stages. In the first stage, we use an imprecise dynamic analysis technique to find potential deadlocks in a... more
    • by 
    •   50  
      LanguagesAlgorithmsType TheoryUsability
* € (D) sind gebundene Ladenpreise in Deutschland und enthalten 7% MwSt; € (A) sind gebundene Ladenpreise in Österreich und enthalten 10% MwSt. CHF und die mit ** gekennzeichneten Preise für elektronische Produkte sind unverbindliche... more
    • by 
    •   4  
      Functional ProgrammingCategory TheoryMetaprogrammingCommon Lisp
0 7 4 0 -7 4 5 9 / 1 0 / $ 2 6 . 0 0 © 2 0 1 0 I E E E
    • by 
    •   13  
      Information SystemsSoftware EngineeringProgramming LanguagesProgramming Paradigms
Design pattersn, which encapsulate common solutions to the recurring design problems, have contributed to the increased reuse, quality and productivity in software design. We argue that hardware design pattern could be used for... more
    • by 
    •   17  
      Software EngineeringIntellectual PropertyProductivityDesign Patterns
MetaJ is a programming environment that supports metaprogramming in the Java language. The environment is designed to allow extensions via plug-ins which permit the user to manipulate programs written in different languages. This... more
    • by 
    •   11  
      Computer ScienceJava ProgrammingJavaGeneric Programming
This article discusses an efficient implementation of tensors of arbitrary rank by using some of the idioms introduced by the recently published C++ ISO Standard (C++11). With the aims at providing a basic building block for... more
    • by 
    •   19  
      Object Oriented ProgrammingComputational MechanicsElectronicsMetal Forming
Due to the pervasiveness of diagrams in human communication and because of the increasing availability of graphical notations in Software Engineering, the study of diagrammatic notations is at the forefront of many research efforts. The... more
    • by 
    •   5  
      Software EngineeringModeling LanguageMetaprogrammingFormal Model
    • by 
    •   15  
      Computer ScienceSoftware EngineeringModeling LanguageUML
Mirror-based systems are object-oriented reflective architectures built around a set of design principles that lead to reflective APIs which foster a high degree of reusability, loose coupling with base-level objects and whose structure... more
    • by 
    •   6  
      ReflectionMetaprogrammingMassage Design PrincipleObject Oriented
Design pattersn, which encapsulate common solutions to the recurring design problems, have contributed to the increased reuse, quality and productivity in software design. We argue that hardware design pattern could be used for... more
    • by 
    •   17  
      Software EngineeringIntellectual PropertyProductivityDesign Patterns
Design pattersn, which encapsulate common solutions to the recurring design problems, have contributed to the increased reuse, quality and productivity in software design. We argue that hardware design pattern could be used for... more
    • by 
    •   17  
      Software EngineeringIntellectual PropertyProductivityDesign Patterns
Particular profiling tools are sometimes used as a prelude to coaching and training interventions. The rationale for this is that individuals may start to recognize and develop key understandings in advance of the coaching journey. Key... more
    • by 
    •   3  
      Coaching PsychologyCoachingMetaprogramming
Die Deutsche Nationalbibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie; detaillierte bibliografische Daten sind im Internet über http://dnb.d-nb.de abrufbar.
    • by 
    •   4  
      Functional ProgrammingCategory TheoryMetaprogrammingCommon Lisp
The term meta-programming refers to the ability of writing programs that have other programs as data and exploit their semantics.
    • by 
    •   3  
      MetaprogrammingTermination AnalysisMeta Programming
Cyclone is a type-safe programming language derived from C. The primary design goal of Cyclone is to let programmers control data representation and memory management without sacrificing type-safety. In this paper, we focus on the... more
    • by 
    •   6  
      Memory ManagementMetaprogrammingData representationType Inference
Meta-programming is a discipline of writing programs in a certain programming language that generate, manipulate or execute programs written in another language. In a typed setting, meta-programming languages usually contain a modal type... more
    • by 
    •   9  
      Modal LogicFunctional ProgrammingLambda CalculusMetaprogramming
We present a framework for code generation that allows programs to manipulate and generate code at the source level while the joining and splicing of executable code is carried out automatically at the intermediate code/VM level. The... more
    • by 
    •   11  
      ReflectionLanguage DesignFinite State AutomatonProgram Transformation
We present a novel dynamic analysis technique that finds real deadlocks in multi-threaded programs. Our technique runs in two stages. In the first stage, we use an imprecise dynamic analysis technique to find potential deadlocks in a... more
    • by 
    •   49  
      LanguagesAlgorithmsType TheoryUsability
We present the design and implementation of an infrastructure that enables monitoring of resources, services, and applications in a computational grid and provides a toolkit to help manage these entities when faults occur. This... more
    • by 
    •   7  
      MetaprogrammingClient-Server ArchitectureComputational GridDesign and Implementation
We describe a preliminary experiment using reflection to make simple programs evolved via Grammatical Evolution robust to mutations that result in coding errors. We use reflection in the domain of grammatical evolution to achieve a novel... more
    • by  and +1
    •   5  
      Fault Tolerant ComputingEvolutionary ComputationSoft ComputingSearch Based Software Engineering
Domain-specific programming is bound to play a central role in improving the productivity of writing software. This is because modern, intricate, general-purpose abstractions are rarely applicable directly to everyday programming.... more
    • by 
    •   7  
      Computer ScienceSoftware EngineeringProgramming LanguagesDomain Specific Languages
MetaJ is a programming environment that supports metaprogramming in the Java language. The environment is designed to allow extensions via plug-ins which permit the user to manipulate programs written in different languages. This... more
    • by 
    •   8  
      Java ProgrammingGeneric ProgrammingMetaprogrammingKey words
Session types allow communication protocols to be specified typetheoretically so that protocol implementations can be verified by static type-checking. We extend previous work on session types for distributed object-oriented languages in... more
    • by 
    •   20  
      LanguagesComputer ScienceObject Oriented ProgrammingType Theory
The C++ language has only a limited runtime type information system, which doesn't provide full reflection capabilities. We present a general mechanism to support reflection, exploiting template metaprogramming techniques. Two solutions... more
    • by 
    •   7  
      Relational DatabaseCase StudyMetaprogrammingSearch Engine
Design methodologies have as their objective the provision of a rational framework for the sequencing of choices in producing a design. Thus the so-called waterfall model establishes a sequence of stages-requirements, specifications,... more
    • by 
    •   6  
      Information SystemsObject Oriented ProgrammingExpert SystemsComputer Software
Although modular programming is a fundamental software development practice, software reuse within contemporary GPU kernels is uncommon. For GPU software assets to be reusable across problem instances, they must be inherently flexible and... more
    • by 
    •   13  
      PerformanceParallel ProcessingMicroarchitectureMetaprogramming
    • by 
    •   17  
      Software EngineeringSoftware DevelopmentSoftware ArchitectureUser Interface
Class sharing is a new language mechanism for building extensible software systems. Recent work has separately explored two different kinds of extensibility: first, family inheritance, in which an entire family of related classes can be... more
    • by 
    •   50  
      LanguagesAlgorithmsType TheoryUsability
Design pattersn, which encapsulate common solutions to the recurring design problems, have contributed to the increased reuse, quality and productivity in software design. We argue that hardware design pattern could be used for... more
    • by 
    •   17  
      Software EngineeringIntellectual PropertyProductivityDesign Patterns
This paper uses Template Haskell to automatically select appropriate skeleton implementations in the Eden parallel dialect of Haskell. The approach allows implementation parameters to be statically tuned according to architectural cost... more
    • by 
    •   9  
      Distributed ComputingParallel ComputingFunctional ProgrammingPerformance Analysis
Page 1. Modelling Specification Construction by Successive Approximations Nicole L~vy and Jeanine Souquibres LORIA, BP. 239, F-54506 Vandceuvre-les-Nancy {Nicole.Levy, Jeanine. Souquieres} @loria.fr Abstract. Software ...
    • by 
    •   6  
      Computer ScienceSoftware DevelopmentSoftware ReliabilityFormal Specification
SafeGen is a meta-programming language for writing statically safe generators of Java programs. If a program generator written in SafeGen passes the checks of the SafeGen compiler, then the generator will only generate well-formed Java... more
    • by 
    •   19  
      Proof TheorySoftware DevelopmentTheorem ProvingJava Programming
Maintaining the source code of large software systems is hard. One underlying cause is that existing modularisation mechanisms are inadequate to handle crosscutting concerns. We propose intentional source-code views as an intuitive and... more
    • by 
    •   13  
      Software MaintenanceLogic ProgrammingSoftware DevelopmentSoftware Evolution
    • by 
    •   62  
      Information SystemsComputer ScienceComputer ArchitectureSoftware Engineering
In domains, where great variability of requirements and products exists such as embedded system design domain, a product line (PL) approach is emerging as the most promising design paradigm. The key for the PL implementation is the use of... more
    • by 
    •   2  
      MetaprogrammingFeature Models
By using practical examples, this paper outlines the power of reflection mechanisms for logic programming systems in the domain of knowledge structuring. In particular, it presents an extension of Prolog, where separate databases can be... more
    • by 
    •   9  
      Logic ProgrammingKnowledge RepresentationReflectionProlog
Meta-programming is a discipline of writing programs in a certain programming language that generate, manipulate or execute programs written in another language. In a typed setting, meta-programming languages usually contain a modal type... more
    • by 
    •   9  
      Modal LogicFunctional ProgrammingLambda CalculusMetaprogramming
Maintaining the source code of large software systems is hard. One underlying cause is that existing modularisation mechanisms are inadequate to handle crosscutting concerns. We propose intentional source-code views as an intuitive and... more
    • by 
    •   5  
      Software MaintenanceLogic ProgrammingSoftware EvolutionImplementation Intentions