{"title":"Enhancing NetBeans with Transparent Fault Tolerance Using Meta-Level Architecture","authors":"Martin Rytter, B. Jørgensen","doi":"10.5381/jot.2010.9.5.a3","DOIUrl":"https://doi.org/10.5381/jot.2010.9.5.a3","url":null,"abstract":"In component-based systems, fault-tolerance concerns are typically handled by manually programmed fault containers. The purpose of fault containers is to prevent error propagation across component boundaries by means of redundant service providers. However, manually programmed fault containers are often subject to evolutionary pressure when components change. In this paper we present a meta-level architecture that eliminates the need for manually programmed fault containers. The meta-level achieves fault tolerance using dynamic fault containers, thereby reducing evolutionary pressure. We present an implementation and evaluation of our approach in context of the NetBeans Rich Client Platform.","PeriodicalId":383341,"journal":{"name":"J. Object Technol.","volume":"52 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130240938","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"From state- to delta-based bidirectional model transformations: the symmetric case","authors":"Z. Diskin, Yingfei Xiong, K. Czarnecki","doi":"10.5381/jot.2011.10.1.a6","DOIUrl":"https://doi.org/10.5381/jot.2011.10.1.a6","url":null,"abstract":"A bidirectional transformation (BX) keeps a pair of interrelated models synchronized. Symmetric BXs are those for which neither model in the pair fully determines the other. We build two algebraic frameworks for symmetric BXs, with one correctly implementing the other, and both being delta-based generalizations of known state-based frameworks. We identify two new algebraic laws--weak undoability and weak invertibility, which capture important semantics of BX and are useful for both state- and delta-based settings. Our approach also provides a flexible tool architecture adaptable to different user's needs.","PeriodicalId":383341,"journal":{"name":"J. Object Technol.","volume":"82 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-06-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124948669","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Modular verification of linked lists with views via separation logic","authors":"J. B. Jensen, L. Birkedal, P. Sestoft","doi":"10.1145/1924520.1924524","DOIUrl":"https://doi.org/10.1145/1924520.1924524","url":null,"abstract":"We present a separation logic specification and verification of linked lists with views, a data structure from the C5 collection library for C#. A view is a generalization of the well-known concept of an iterator. Linked lists with views form an interesting case study for verification since they allow mutation of multiple possibly-overlapping views of the same underlying list. For modularity, we present our specification in a fragment of higher-order separation logic and use abstract predicates to give a specification with respect to which clients can be proved correct. We introduce a novel mathematical model of lists with views, and formulate succinct modular abstract specifications of the operations on the data structure. To show that the concrete implementation realizes the specification, we use fractional permissions in a novel way to capture the sharing of data between views and their underlying list.\u0000 We conclude by suggesting directions for future research that arose from conducting this case study.","PeriodicalId":383341,"journal":{"name":"J. Object Technol.","volume":"520 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-06-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116265374","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Efficient compilation of .NET programs for embedded systems","authors":"Olivier Sallenave, R. Ducournau","doi":"10.1145/1925801.1925804","DOIUrl":"https://doi.org/10.1145/1925801.1925804","url":null,"abstract":"The overhead associated with object-oriented languages has been the major drawback in their adoption by the embedded world. In this paper, we propose a compilation approach based on the closed-world assumption (CWA) that should enable OO technologies such as .Net on small embedded systems. Our implementation is based on a type analysis algorithm, which extends RTA so that it eliminates some subtype tests due to array covariance, and coloring, which maintain single subtyping invariants under the CWA. The impact of our global optimizations has been evaluated on embedded applications written in C#. Preliminary results show a noticeable reduction of the code size, class hierarchy and object mechanisms such as virtual calls and subtype tests.","PeriodicalId":383341,"journal":{"name":"J. Object Technol.","volume":"42 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-06-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133137308","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Exploring the Relationship between UML Design Metrics for Web Applications and Maintainability","authors":"E. Ghosheh, S. Black, E. Kapetanios, Mark Baldwin","doi":"10.5381/jot.2010.9.3.a5","DOIUrl":"https://doi.org/10.5381/jot.2010.9.3.a5","url":null,"abstract":"Measures of software maintainability can be taken either late or early in the development process. Late measurements of software maintainability can be used for assessing the software system, and planning for future enhancements. On the other hand, early measures of software maintainability can help in allocating project resources efficiently, predicting the effort of maintenance tasks and controlling the maintenance process.","PeriodicalId":383341,"journal":{"name":"J. Object Technol.","volume":"49 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129802891","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Abdelsalam M. Maatuk, Muhammad Akhtar Ali, B. Rossiter
{"title":"Converting Relational Databases into Object-relational Databases","authors":"Abdelsalam M. Maatuk, Muhammad Akhtar Ali, B. Rossiter","doi":"10.5381/jot.2010.9.2.a3","DOIUrl":"https://doi.org/10.5381/jot.2010.9.2.a3","url":null,"abstract":"This paper proposes an approach for migrating existing Relational DataBases (RDBs) into Object-Relational DataBases (ORDBs). The approach is superior to existing proposals as it can generate not only the target schema but also the data instances. The solution takes an existing RDB as input, enriches its metadata representation with required semantics, and generates an enhanced canonical data model, which captures essential characteristics of the target ORDB, and is suitable for migration. A prototype has been developed, which migrates successfully RDBs into ORDBs (Oracle 11g) based on the canonical model. The experimental results were very encouraging, demonstrating that the proposed approach is feasible, efficient and correct.","PeriodicalId":383341,"journal":{"name":"J. Object Technol.","volume":"44 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-03-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"117137932","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Automatic Test Data Synthesis using UML Sequence Diagrams","authors":"A. Nayak, D. Samanta","doi":"10.5381/jot.2010.9.2.a2","DOIUrl":"https://doi.org/10.5381/jot.2010.9.2.a2","url":null,"abstract":"Model based testing techniques are used to generate test scenarios from a behavioral description of system under tests. For a large and complex system, there are usually \u0000a large number of scenarios and hence a large number of test paths also called test speci¯cations. To automate test execution, each test speci¯cation should be aug- \u0000mented with appropriate test input data. In this paper, we propose an approach of synthesizing test data from the information embedded in model elements such as class \u0000diagrams, sequence diagrams and OCL constraints. In our approach, we enrich a se- quence diagram with attribute and constraint information derived from class diagram and OCL constraints and map it onto a structured composite graph called SCG. The test speci¯cations are then generated from SCG. For each test speci¯cation, we follow \u0000a constraint solving system to generate test data.","PeriodicalId":383341,"journal":{"name":"J. Object Technol.","volume":"16 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-03-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126469949","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"First-Class Connectors to Support Systematic Construction of Hierarchical Software Architecture","authors":"A. Amirat, M. Oussalah","doi":"10.5381/jot.2009.8.7.a3","DOIUrl":"https://doi.org/10.5381/jot.2009.8.7.a3","url":null,"abstract":"To provide hierarchical description from different software architectural view points we need more than one abstraction hierarchy and connection mechanisms to support the interactions among components. Also, these mechanisms will support the refinement and traceability of architectural elements through the different levels of each hierarchy. Current methods and tools provide poor support for the challenge posed by developing system using hierarchical description. This paper describes an architecture-centric approach allowing the user to describe the logical architecture view where a physical architecture view is generated automatically for all application instances of the logical architecture.","PeriodicalId":383341,"journal":{"name":"J. Object Technol.","volume":"94 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2009-11-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116911011","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Resource Usage Protocols for Iterators","authors":"C. Haack, C. Hurlin","doi":"10.5381/jot.2009.8.4.a3","DOIUrl":"https://doi.org/10.5381/jot.2009.8.4.a3","url":null,"abstract":"We discuss usage protocols for iterator objects that prevent concurrent modifications of the underlying collection while iterators are in progress. We formalize these protocols in Java-like object interfaces, enriched with separation logic contracts. We present examples of iterator clients and proofs that they adhere to the iterator protocol, as well as examples of iterator implementations and proofs that they implement the iterator interface.","PeriodicalId":383341,"journal":{"name":"J. Object Technol.","volume":"24 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2009-06-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"134184788","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Developing Law-Governed Systems Using Aspects","authors":"C. Serban, S. Tyszberowicz, Y. Feldman, N. Minsky","doi":"10.5381/jot.2008.7.9.a2","DOIUrl":"https://doi.org/10.5381/jot.2008.7.9.a2","url":null,"abstract":"from the existence of explicitly stated architectural principles. Such principles should specify the global rules that are to govern the structure and dynamic behavior of a system, providing a framework in which the system can be reasoned about and maintained. However, such a framework is of little use unless the architectural principles are automatically enforced during system development, guaranteeing compliance at all stages of the development. A Law-Governed System is a system that is developed and operates under an enforced set of architectural principles, called the law of the system. This paper describes an implementation of Law-Governed Systems that is able to cope with the highly dynamic features encountered in modern programming languages, such as reection and dynamic loading. We employ Aspect-Oriented Programming techniques as our main tool for this implementation.","PeriodicalId":383341,"journal":{"name":"J. Object Technol.","volume":"18 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2008-12-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133254558","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}