STATEMATE: A Working Environment for the Development of Complex Reactive Systems
IEEE Transactions on Software Engineering
The universe model: an approach for improving the modularity and reliability of concurrent programs
SIGSOFT '00/FSE-8 Proceedings of the 8th ACM SIGSOFT international symposium on Foundations of software engineering: twenty-first century applications
Communications of the ACM
Invariant-based specification, synthesis, and verification of synchronization in concurrent programs
Proceedings of the 24th International Conference on Software Engineering
Computer
Separation of concerns for software evolution
Journal of Software Maintenance: Research and Practice - Special issue: Separation of concerns for software evolution
Designing and implementing a model of synchronization contracts in object-oriented languages
Designing and implementing a model of synchronization contracts in object-oriented languages
Verifiable Concurrent Programming Using Concurrency Controllers
Proceedings of the 19th IEEE international conference on Automated software engineering
JAC: declarative Java concurrency: Research Articles
Concurrency and Computation: Practice & Experience
Computer
ECharts for SIP servlets: a state-machine programming environment for VoIP applications
Proceedings of the 1st international conference on Principles, systems and applications of IP telecommunications
Communications of the ACM - Web science
Contract-based synchronization of IP telecommunication services: a case study
Proceedings of the 5th International Conference on Communication System Software and Middleware
Developing interactive multi-user VoIP applications using synchronization contracts with ECharts
IPTcomm '11 Proceedings of the 5th International Conference on Principles, Systems and Applications of IP Telecommunications
Hi-index | 0.00 |
Multi-threaded SIP servlet containers pose difficult synchronization problems to application developers. On the one hand, if a container automatically locks resources for servlets according to some fixed protocol, this protocol is not likely to be appropriate for all applications. It may degrade performance or even introduce deadlock in some applications. On the other hand, leaving application programmers to code synchronization---while flexible---is prone to error. The logic to both infer the resources a servlet requires and then to lock the required resources is complex and cross-cutting. This "synchronization logic" can easily obscure an application's "business logic." Interleaving synchronization code with business code makes an application difficult to maintain and extend. In this paper, we elaborate key dimensions of the thread synchronization problem for SIP servlet containers. We further propose a novel synchronization model for SIP servlet containers, which addresses these dimensions in a more comprehensive fashion than any existing model that we know of. Our synchronization model is highly flexible. It introduces abstractions to promote correctness, maintainabilty, and extensibility. We also describe a reference framework that implements these abstractions. To illustrate the benefits of our model, we describe a representative SIP application developed using this framework.