Since the introduction of object-orientedprogramming few programminglanguages have attempted to provide programmers with more than objects and classes, i.e., more than two levels. Those that did, almost exclusively ...
详细信息
Since the introduction of object-orientedprogramming few programminglanguages have attempted to provide programmers with more than objects and classes, i.e., more than two levels. Those that did, almost exclusively aimed at describing language properties - i. e., their metaclasses exert linguistic control on language concepts and mechanisms often in order to make the language extensible. In terms of supporting logical domain classification levels, however, they are still limited to two levels. In this paper we conservatively extend the object-orientedprogramming paradigm to feature an unbounded number of domain classification levels. We can therefore avoid the introduction of accidental complexity into programs caused by accommodating multiple domain levels within only two programming levels. We present a corresponding language design featuring "deep instantiation" and demonstrate its features with a running example. Finally, we outline the implementation of our compiler prototype and discuss the potentials of further developing our language design.
Current real-world software applications typically involve heavy use of relational and XML data and their query languages. Unfortunately object-orientedlanguages and database query languages are based on different se...
详细信息
Current real-world software applications typically involve heavy use of relational and XML data and their query languages. Unfortunately object-orientedlanguages and database query languages are based on different semantic foundations and optimization strategies. The resulting "ROX ( Relations, objects, XML) impedance mismatch" makes life very difficult for developers. Microsoft Corporation is developing extensions to the. NET framework to facilitate easier processing of non-object-oriented data models. Part of this project (known as "LINQ") includes various extensions to the. NET languages to leverage this support. In this paper we consider proposals for C-# 3.0, the next version of the C-# programming language. We give both an informal introduction to the new language features, and a precise formal account by defining a translation from C-# 3.0 to C-# 2.0. This translation also demonstrates how these language extensions do not require any changes to the underlying CLR.
Monitoring and checking object interactions is an important activity for testing/debugging scenario implementation in an object-oriented system. In our previous work, we proposed behavior view diagrams (BVD) as a grap...
详细信息
ISBN:
(纸本)9783540752080
Monitoring and checking object interactions is an important activity for testing/debugging scenario implementation in an object-oriented system. In our previous work, we proposed behavior view diagrams (BVD) as a graphical language for writing programs that automate such monitoring and checking process. In this paper, we illustrate the formal definition of the syntax and the semantics of an extended version of BVD that can also be used to describe multi-threaded scenarios. This formal definition provides a critical foundation both for understanding the language and for building its tool support.
Monitoring-orientedprogramming (MOP1) [21, 18, 22, 19] is a formal framework for software development and analysis, in which the developer specifies desired properties using definable specification formalisms, along ...
详细信息
Efficient data retrieval from databases is a significant issue of the design of persistent systems. We propose an aspect oriented persistent system named AspectualStore. AspectualStore opens up its data retrieval mech...
详细信息
This report summarizes the outcomes of the 9th Workshop on Aspect-oriented Modeling (AOM) held in conjunction with the 9th internationalconference on Model Driven Engineering languages and systems - MoDELS 2006 - in ...
详细信息
ISBN:
(纸本)9783540694885
This report summarizes the outcomes of the 9th Workshop on Aspect-oriented Modeling (AOM) held in conjunction with the 9th internationalconference on Model Driven Engineering languages and systems - MoDELS 2006 - in Genoa, Italy, on the 1st of October 2006. The workshop brought together approximately 25 researchers and practitioners from two communities: aspect-oriented software development and software model engineering. It provided a forum for discussing the state of the art in modeling crosscutting concerns at different stages of the software development process: requirements elicitation and analysis, software architecture, detailed design, and mapping to aspect-orientedprogramming constructs. This paper gives an overview of the accepted submissions and summarizes the results of the different discussion groups. Papers and presentation slides of the workshop are available at http://***/.
Conscientious software is a recently proposed paradigm for developing reliable, self-sustaining software systems. Conscientious software systems consist of an allopoietic part, which encapsulates application functiona...
详细信息
Conscientious software is a recently proposed paradigm for developing reliable, self-sustaining software systems. Conscientious software systems consist of an allopoietic part, which encapsulates application functionality, and an autopoietic part that is responsible for keeping the system alive by monitoring the application and adapting it to environmental changes. Practical application of the conscientious software paradigm requires solutions to two open problems: The design of suitable autopoietic programminglanguages and the proposal of concrete architectures for combining the autopoietic and allopoietic parts. In this paper, we tackle the second challenge, and propose a concrete, aspect-oriented architecture for realizing conscientious software. Here, we introduce epi-aspects, a construct for upgrading new and existing applications into conscientious software. This paper provides the architectural design of epi-aspects, an autopoietic simulator, and a concrete framework for developing epi-aspects in Java. The framework and the simulator are used to conduct a case study in which we develop and test a conscientious Java application.
A dynamic language promotes ease of use through flexible typing, a focus on high-level programming, and by streamlining the edit-compile-debug cycle. Live languages go beyond dynamic languages with more ease of use fe...
详细信息
A dynamic language promotes ease of use through flexible typing, a focus on high-level programming, and by streamlining the edit-compile-debug cycle. Live languages go beyond dynamic languages with more ease of use features. A live language supports live programming that provides programmers with responsive and continuous feedback about how their edits affect program execution. A live language is also based on high-level constructs such as declarative rules so that programmers can write less code. A live language could also provide programmers with responsive semantic feedback to enable time-saving services such as code completion. This paper describes the design of a textual live language that is based on reactive data-flow values known as signals and dynamic inheritance. Our language, Super-Glue, supports live programming with responsive semantic feedback, which we demonstrate with a working prototype.
Many web-applications can be characterized as "relational". In this paper we introduce and evaluate WebRB, a visual domain-specific language for building such applications. WebRB addresses the limitations of...
详细信息
Many web-applications can be characterized as "relational". In this paper we introduce and evaluate WebRB, a visual domain-specific language for building such applications. WebRB addresses the limitations of the conventional "imperative-embedding" approach typically used to build relational web-applications. We describe the WebRB language, present extended examples of its use, and discuss the WebRB visual editor, libraries, and runtime. We then evaluate WebRB by comparing it to alternative approaches, and demonstrate its effectiveness in building relational web-applications.
When considering the past or the future, dear apprentice, be mindful of the present. If, while considering the past, you become caught in the past, lost in the past, or enslaved by the past, then you have forgotten yo...
详细信息
When considering the past or the future, dear apprentice, be mindful of the present. If, while considering the past, you become caught in the past, lost in the past, or enslaved by the past, then you have forgotten yourself in the present. If, while considering the future, you become caught in the future, lost in the future, or enslaved by the future, then you have forgotten yourself in the present. Conversely, when considering the past, if you do not become caught, lost, or enslaved by the past, then you have remained mindful of the present. And if, when considering the future, you do not become caught, lost, or enslaved in the future, then you have remained mindful of the present.
暂无评论