Component-Based Software concepts have been arousing a great deal of interest in recent years. Due to their effectiveness in the design and development of software applications and due to their many advantages in term...
详细信息
ISBN:
(纸本)1932415300
Component-Based Software concepts have been arousing a great deal of interest in recent years. Due to their effectiveness in the design and development of software applications and due to their many advantages in terms of reusability, components can also be applied in database design. This paper aims to present a component-based approach to database systems. Components are introduced as logical partitions of the schema, a corresponding ODL extension being proposed. The paper also tackles transaction processing in terms of scope, which can now escalate component-wise up to the level of the entire schema. The main benefits are the reusability of the database design and a smooth information exchange. The integration of crosscutting concerns into the component database model using aspect- oriented techniques is also discussed.
objectoriented methods are now popular in many areas of computing, increasingly so in those areas associated with analysis and management science. The first system to incorporate many of the ideas of object orientati...
详细信息
The object-oriented model is very successful to represent various phenomena in our real world from an entity-category point of view. However, it is not sufficient to model the dynamic actions of autonomous entities un...
详细信息
Previous algorithms for interprocedural control flow analysis of higher-order and/or object-oriented languages have been described that perform propagation or constraint satisfaction and take O(N3) time (such as Shive...
详细信息
ISBN:
(纸本)9780897919791
Previous algorithms for interprocedural control flow analysis of higher-order and/or object-oriented languages have been described that perform propagation or constraint satisfaction and take O(N3) time (such as Shivers's 0-CFA and Heintze's set-based analysis), or unification and take O(Nα(N,N)) time (such as Steensgaard's pointer analysis), or optimistic reachability analysis and take O(N) time (such as Bacon and Sweeney's Rapid Type Analysis). We describe a general parameterized analysis framework that integrates propagation-based and unification-based analysis primitives and optimistic reachability analysis, whose instances mimic these existing algorithms as well as several new algorithms taking O(N), O(Nα(N,N)), O(N2), and O(N2α(N,N)) time;our O(N) and O(Nα(N,N)) algorithms produce more precise results than the previous algorithms with these complexities. We implemented our algorithm framework in the Vortex optimizing compiler, and we measured the cost and benefit of these interprocedural analysis algorithms in practice on a collection of substantial Cecil and Java programs.
Bisimilarity (also known as 'applicative bisimulation') has attracted a good deal of attention as an operational equivalence for λ-calculi. It approximates or even equals Morris-style contextual equivalence a...
详细信息
ISBN:
(纸本)9780897917698
Bisimilarity (also known as 'applicative bisimulation') has attracted a good deal of attention as an operational equivalence for λ-calculi. It approximates or even equals Morris-style contextual equivalence and admits proofs of program equivalence via co-induction. It has an elementary construction from the operational definition of a language. We consider bisimilarity for one of the typed object calculi of Abadi and Cardelli. By defining a labelled transition system for the calculus in the style of Crole and Gordon and using a variation of Howe's method we establish two central results: that bisimilarity is a congruence, and that it equals contextual equivalence. So two objects are bisimilar if no amount of programming can tell them apart. Our third contribution is to show that bisimilarity soundly models the equational theory of Abadi and Cardelli. This is the first study of contextual equivalence for an object calculus and the first application of Howe's method to subtyping. By these results, we intend to demonstrate that operational methods are a promising new direction for the foundations of object-orientedprogramming.
AOP languages are continuously evolving, for example (1) pointcut languages are becoming increasingly powerful with respect to the expressiveness of the pointcut language itself, (2) new program properties can be used...
详细信息
ISBN:
(纸本)159593300X
AOP languages are continuously evolving, for example (1) pointcut languages are becoming increasingly powerful with respect to the expressiveness of the pointcut language itself, (2) new program properties can be used as a selection criterion in pointcut designators, or (3) new types of program elements can be introduced by means of a crosscut specification. In this paper we investigate the consequences of these trends. To this end, we focus particularly on the u-sage of meta-data annotations: several recent (versions of) AOP languages support the use of annotations as a selection criterion in pointcut designators or the introduction of annotations, or both. We investigate the introduction of annotations through the use of expressive pointcut languages;explain why introduction of annotations is useful, and in particular, why and how annotations can be derived from other annotations. We explore the issues that arise due to the inter-dependencies between annotation introductions. We investigate when such dependencies may cause ambiguities, and we present an algorithm that resolves the dependencies when possible, and detects ambiguous cases that cannot be resolved. The solution we propose is implemented within the Compose* tool, which supports the introduction of meta-data annotations.
As scripts grow into full-fledged applications, programmers should want to port portions of their programs from scripting languages to languages with sound and rich type systems. This form of interlanguage migration e...
详细信息
ISBN:
(纸本)159593491X
As scripts grow into full-fledged applications, programmers should want to port portions of their programs from scripting languages to languages with sound and rich type systems. This form of interlanguage migration ensures type-safety and provides minimal guarantees for reuse in other applications, *** this paper, we present a framework for expressing this form of interlanguage migration. Given a program that consists of modules in the untyped lambda calculus, we prove that rewriting one of them in a simply typed lambda calculus produces an equivalent program and adds the expected amount of type safety, i.e., code in typed modules can't go wrong. To ensure these guarantees, the migration process infers constraints from the statically typed module and imposes them on the dynamically typed modules in the form of behavioral contracts.
This paper presents an integrated approach covering the fields of designing, validating and testing services and reusable service components. A methodology which applies concepts from the Reference Model for Open Dist...
详细信息
This paper presents an integrated approach covering the fields of designing, validating and testing services and reusable service components. A methodology which applies concepts from the Reference Model for Open Distributed Processing (ODP) is introduced. As an important part to bridge the gap from the design plane to the implementation plane a language mapping from ODL to C++ is described. A CORBA based environment is assumed to be the execution platform. To ensure that the service to be designed meets the requirements of a potential users, a validation stage has been included into the design methodology. After the validation of the SLD model abstract TTCN test cases are derived from it semi-automatically. This paper also contains a new method for automated testing of distributed services through executing these test cases in a CORBA based target environment.
This report summarizes the presentations and discussions of the Third Workshop on Models and Aspects Handling Crosscutting Concerns in MDSD, held in conjunction with the 21st European Conference on object-oriented Pro...
详细信息
Delegation is an important design concept in object-oriented languages. In contrast to inheritance, which relates classes to each other, delegation operates on the level of objects and thus provides more flexibility. ...
详细信息
暂无评论