this paper describes the design and implementation of a query engine that provides extended SQL-based access to the data managed by an object-oriented database system. this query engine allows extended SQL queries to ...
详细信息
Network protocol stacks are an important ingredient of today's infrastructure software. For instance, all state-of-the-art operating systems for PCs and the server market come with a TCP/IP stack. the design of pr...
详细信息
ISBN:
(纸本)9781450306478
Network protocol stacks are an important ingredient of today's infrastructure software. For instance, all state-of-the-art operating systems for PCs and the server market come with a TCP/IP stack. the design of protocol stacks and their layered structure has been studied for decades. However, in practice, implementations often do not follow the clean textbook design consequently. this especially holds for the domain of embedded TCP/IP stacks where minimal resource consumption is crucial. In this work we present an analysis that explains the reason for this dilemma. We have also developed a very simple solution that is based on common aspect-oriented programminglanguage features: Upcall Dispatcher Aspects. In a case study this concept has been repeatedly applied as an AspectC++ idiom in the implementation of the CiAO TCP/IP stack, which we compared to several traditional implementations. Besides reflecting a clean design at the implementation level, our protocol stack, which mainly targets the domain of resource-constrained embedded systems, even outperforms the other solutions with respect to resource consumption and various "-ilities". Copyright 2011 acm.
the proceedings contain 36 papers. the topics discussed include: application of domain analysis to object-oriented systems;applying object-oriented software engineering methods to the development of call center softwa...
ISBN:
(纸本)0897917219
the proceedings contain 36 papers. the topics discussed include: application of domain analysis to object-oriented systems;applying object-oriented software engineering methods to the development of call center software: a case study;using objects to manage in-memory data intensive expert systems;the navigation toolkit project revisited;performance of a OODB in a online 7x24x365 manufacturing operation;why C++ is not just an object-oriented programminglanguage;patterns: cult to culture?;OOPSLA'95 doctoral symposium;implementing a real -time, embedded, telecommunication switching system in SmallTalk;object oriented project management;OO process and metrics for effort estimation;semantic integration in complex systems: collective behavior in business rules and software transactions;workshop on design patterns for concurrent, parallel and distributed object-oriented systems;the object engine: foundation for next generation architectures;subjectivity in object-oriented systems workshop summary;objects and relational databases;object database behavior, benchmarks, and performance workshop addendum;workshop on adaptable and adaptive software;and legacy systems and object technology workshop summary.
A number of effective error detection tools have been built in recent years to check if a program conforms to certain design rules, An important class of design rules deals with sequences of events associated with a s...
详细信息
A number of effective error detection tools have been built in recent years to check if a program conforms to certain design rules, An important class of design rules deals with sequences of events associated with a set of related objects. this paper presents a language called PQL (Program Query language) that allows programmers to express such questions easily in an application-specific context. A query looks like a code excerpt corresponding to the shortest amount of code that would violate a design rule. Details of the target application's precise implementation are abstracted away. the programmer may also specify actions to perform when a match is found, such as recording relevant information or even correcting an erroneous execution on the fly. We have developed both static and dynamic techniques to find solutions to PQL queries, Our static analyzer finds all potential matches conservatively using a context-sensitive, flow-insensitive, inclusion-based pointer alias analysis, Static results are also useful in reducing the number of instrumentation points for dynamic analysis. Our dynamic analyzer instruments the source program to catch all violations precisely as the program runs and to optionally perform user-specified actions. We have implemented the techniques described in this paper and found 206 errors in 6 large real-world open-source Java applications containing a total of nearly 60,000 classes. these errors are important security flaws, resource leaks, and violations of consistency invariants. the combination of static and dynamic analysis proves effective at addressing a wide range of debugging and program comprehension queries. We have found that dynamic analysis is especially suitable for preventing errors such as security vulnerabilities at runtime. Copyright 2005 acm.
Linearity is a multi-faceted and ubiquitous notion in the analysis and the development of programminglanguage concepts. We study linearity in a denotational perspective by picking out programs that correspond to line...
详细信息
ISBN:
(纸本)9781450308656
Linearity is a multi-faceted and ubiquitous notion in the analysis and the development of programminglanguage concepts. We study linearity in a denotational perspective by picking out programs that correspond to linear functions between coherence spaces. We introduce a language, named SlPCF(star), that increases the higher-order expressivity of a linear core of PCF by means of new operators related to exception handling and parallel evaluation. SlPCF(star) allows us to program all the finite elements of the model and, consequently, it entails a full abstraction result that makes the reasoning on the equivalence between programs simpler. Denotational linearity provides also crucial information for the operational evaluation of programs. We formalize two evaluation machineries for the language. the first one is an abstract and concise operational semantics designed withthe aim of explaining the new operators, and is based on an infinite-branching search of the evaluation space. the second one is more concrete and it prunes such a space, by exploiting the linear assumptions. this can also be regarded as a base for an implementation.
the talk extends the Laws of programming [1] by four laws governing concurrent composition of programs. this operator is associative and commutative and distributive through union; and it has the same unit (do nothing...
详细信息
ISBN:
(纸本)9781450327848
the talk extends the Laws of programming [1] by four laws governing concurrent composition of programs. this operator is associative and commutative and distributive through union; and it has the same unit (do nothing) as sequential composition. Furthermore, sequential and concurrent composition distribute through each other, in accordance with an exchange law; this permits an implementation of concurrency by partial interleaving.
暂无评论