Skip to main content
    • by 
    •   62  
      Information SystemsComputer ScienceComputer ArchitectureSoftware Engineering
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
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  and +1
    •   18  
      LanguagesObject Oriented ProgrammingType TheoryTheory
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
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
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 use multi-stage programming, monads and Ocaml's advanced module system to demonstrate how to eliminate all abstraction overhead from generic programs while avoiding any inspection of the resulting code. We demonstrate this clearly with... more
    • by 
    •   15  
      Software DevelopmentAbstractionLinear AlgebraCompiler
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
    • by 
    •   7  
      Object Oriented ProgrammingMetamodellingDesign PatternsThesis
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-AspectJ (MAJ) is a language for generating AspectJ programs using code templates. MAJ itself is an extension of Java, so users can interleave arbitrary Java code with AspectJ code templates. MAJ is a structured metaprogramming tool:... more
    • by 
    •   11  
      Information SystemsDomain Specific LanguagesComputer SoftwareGeneric Programming
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
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
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
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
The success of learning objects (LO) is limited by the ability to integrate them into coherent teaching courses in order to enable the educational goal-oriented creation of competency. LO sequences must be defined that are adapted to... more
    • by 
    •   10  
      Software EngineeringEducational TechnologyAdaptive ControlTeaching
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
    • by 
    •   17  
      Software EngineeringSoftware DevelopmentSoftware ArchitectureUser Interface
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
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
Efficiency and flexibility are often mutually exclusive features in a code. This still prompts a large part of the Scientific Computing community to use traditional procedural language. In the last years, however, new programming... more
    • by 
    •   13  
      Object Oriented ProgrammingFinite element methodAbstractionFinite Element
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
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
The Adaptive Object-Model (AOM) architectural pattern has been significantly documented in literature, but there is not yet enough documentation explaining how to design and build a full AOMbased system. A AOM framework would need to... more
    • by 
    •   3  
      MetamodellingDesign PatternsMetaprogramming
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
This is an extended abstract for a poster that presents a new approach that employs metaprogramming to generate optimized code for algorithms in Linear Algebra.
    • by 
    •   2  
      Linear AlgebraMetaprogramming
* € (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