Sequence Specification for Concurrent Object-Oriented Applications

Author(s):  
Yamin Wang ◽  
Ramakrishna V. Vishnuvajjala ◽  
Wei-Tek Tsai

Modeling synchronization among threads is important for the specification, design, and testing of concurrent object-oriented applications such as those written in Java. This paper proposes Synchronized Method Sequence Specification (SMtSS), a mechanism for specifying synchronization requirements among multiple threads sharing a common object. SMtSS identifies two kinds of synchronization among the sharing threads, internal and external ones, and explicitly specifies the synchronization scenarios. SMtSS also proposes notations for specifying different data integrity constraints on method executions. This paper also proposes specification-slicing techniques to obtain specific behavior of certain threads from SMtSS specifications. Finally, this paper discusses how SMtSS specifications can be useful in the design and testing of concurrent object-oriented applications in Java.

1996 ◽  
Vol 05 (04) ◽  
pp. 431-467 ◽  
Author(s):  
DANIELA FLORESCU ◽  
LOUIQA RASCHID ◽  
PATRICK VALDURIEZ

We consider Cooperative Information Systems (CIS) that are multidatabase systems (MDBMS), with a common object-oriented model, based on the ODMG standard, together with local databases that may be relational, object-oriented, or dedicated data servers. The MDBMS interface (or mediator interface) that describes this CIS could be different from the union of the local interfaces that describe each local database. In particular, the mediator interface may be defined by semantic knowledge that includes views over particular local databases, integrity constraints, and knowledge about data replication in local databases. We present a methodology for query reformulation which is based on the uniform representation of all semantic knowledge in the form of integrity assertions and mapping rules. A reformulation algorithm exploits this semantic knowledge, and performs semantic rewriting based on pattern-matching, to obtain a query on the union of the local interfaces. A decomposition algorithm then produces a composite query, and local sub-queries, one for each local interface. The reformulation is general enough to re-use the results of previously computed queries in the CIS. We have implemented this reformulation technique in our Flora compiler prototype which we used for validation and experimentation with O2 databases.


OOIS’94 ◽  
1995 ◽  
pp. 388-391
Author(s):  
M. P. Chastang ◽  
H. Briand ◽  
J. Nachouki

2020 ◽  
Vol 60 (1) ◽  
pp. 25-37
Author(s):  
Michal Bošanský ◽  
Bořek Patzák

The efficient codes can take an advantage of multiple threads and/or processing nodes to partition a work that can be processed concurrently. This can reduce the overall run-time or make the solution of a large problem feasible. This paper deals with evaluation of different parallelization strategies of assembly operations for global vectors and matrices, which are one of the critical operations in any finite element software. Different assembly strategies for systems with a shared memory model are proposed and evaluated, using Open Multi-Processing (OpenMP), Portable Operating System Interface (POSIX), and C++11 Threads. The considered strategies are based on simple synchronization directives, various block locking algorithms and, finally, on smart locking free processing based on a colouring algorithm. The different strategies were implemented in a free finite element code with object-oriented architecture OOFEM [1].


Sign in / Sign up

Export Citation Format

Share Document