J. Object Technol.最新文献

筛选
英文 中文
Inspector Methods for State Abstraction 状态抽象的检查器方法
J. Object Technol. Pub Date : 2007-06-01 DOI: 10.5381/jot.2007.6.5.a1
B. Jacobs, F. Piessens
{"title":"Inspector Methods for State Abstraction","authors":"B. Jacobs, F. Piessens","doi":"10.5381/jot.2007.6.5.a1","DOIUrl":"https://doi.org/10.5381/jot.2007.6.5.a1","url":null,"abstract":"Most classes in an object-oriented program provide access to an object’s state through methods, so that client code does not depend on and cannot interfere with the object’s internal representation composed of fields and internal component objects. In order to extend the benefits of methods to specifications, method contracts may themselves be expressed using methods, hence providing support for state abstraction in specifications. In this paper, we propose an approach to the verification of programs that use inspector methods in method contracts and object invariants. Inspector methods must not have side-eects and must not throw exceptions, but they may have parameters, and they may depend on the state of objects passed as arguments. Our approach builds on the Boogie methodology for object invariants and ownership. Performing state abstraction in a programming language that allows aliasing through object references poses a framing problem. Specifically, client code needs to be able to tell whether modifying a given object or calling a given method may aect the value of a given inspector method call. We solve this by modeling inspector methods as functions that take as arguments only those parts of the heap on which they depend. Thanks to a novel logical encoding of the heap, we can do this without breaking information hiding, even in cases where inspector methods depend on internal component objects. The core of our approach has been implemented in a custom build of the Spec# program verifier.","PeriodicalId":383341,"journal":{"name":"J. Object Technol.","volume":"1914 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2007-06-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114910668","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}
引用次数: 12
Pattern-Oriented Design for Multi-Agent System: A Conceptual Model 面向模式的多智能体系统设计:一个概念模型
J. Object Technol. Pub Date : 2007-05-01 DOI: 10.5381/jot.2007.6.4.a1
R. Mohamad, S. Deris, H. Ammar
{"title":"Pattern-Oriented Design for Multi-Agent System: A Conceptual Model","authors":"R. Mohamad, S. Deris, H. Ammar","doi":"10.5381/jot.2007.6.4.a1","DOIUrl":"https://doi.org/10.5381/jot.2007.6.4.a1","url":null,"abstract":"Design patterns represent solutions to specific problem of developing one application that have evolved over time. They leverage the reuse level to the design phase by providing a common vocabulary of design, means of understanding designs and proven building blocks from which more complex applications are built. Much of the research work on design patterns in agent world has primarily focused on discovering and documenting patterns. To reap the benefits of deploying these proven design solutions, patterns should be used as a first-class modelling blocks in designing the agent application. This paper proposes a conceptual model based on patterns and agent abstraction.","PeriodicalId":383341,"journal":{"name":"J. Object Technol.","volume":"40 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2007-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126701118","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}
引用次数: 1
Agile Artifacts - Documenting, Tracking and Reporting: Trust The Source Luke! 敏捷工件——记录、跟踪和报告:相信源代码!
J. Object Technol. Pub Date : 2007-03-01 DOI: 10.5381/jot.2007.6.3.c4
Dave A. Thomas
{"title":"Agile Artifacts - Documenting, Tracking and Reporting: Trust The Source Luke!","authors":"Dave A. Thomas","doi":"10.5381/jot.2007.6.3.c4","DOIUrl":"https://doi.org/10.5381/jot.2007.6.3.c4","url":null,"abstract":"One of the obstacles to introducing Agile development into large software organizations is providing a means for the developers to work effectively using light weight practices and tools while at the same time ensuring that the management and company have the necessary visibility and documentation to ensure that they can manage and later maintain the software being developed. Unfortunately, many of the commercial tools are very draconian and inflict all sort of extra work and overhead on developers while at the same time not providing the promised benefits. This often results in tension between process and programmer [1] which can give the impression that the developers don't care about documentation or design and that the management cares only about the process artifacts rather than the code. In any large scale Agile process, artifacts include not only source code but also Requirements, often bundled into Features, Use Cases and Stories, and their associated Unit and Acceptance Tests. Complex Features and Stories are composites of smaller ones. Additional supporting artifacts include Models/Prototypes, Teams and their Backlogs. We describe a simple Literate Programming approach for capturing artifacts and associated automated tooling to support tracking, reporting and traceability. Traceability makes it possible to identify and understand the relationships between artifacts. For example, for a given requirement, one can answer questions like: Has the requirement been implemented? If so, by which developer(s)? Where in the code base will I find it? It is important to understand that the mappings between requirements, models, use cases and code are not one-to-one, nor are they always precise. They are a collection of statements about the software that can be used to model it for the purpose of understanding. In this article we describe a simple code-centric approach which we have found useful for many years. It can be implemented quickly using open source tools with","PeriodicalId":383341,"journal":{"name":"J. Object Technol.","volume":"29 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2007-03-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121505581","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}
引用次数: 1
Matching Objects Without Language Extension 没有语言扩展的对象匹配
J. Object Technol. Pub Date : 2006-11-01 DOI: 10.5381/jot.2006.5.8.a2
Joost Visser
{"title":"Matching Objects Without Language Extension","authors":"Joost Visser","doi":"10.5381/jot.2006.5.8.a2","DOIUrl":"https://doi.org/10.5381/jot.2006.5.8.a2","url":null,"abstract":"Pattern matching is a powerful programming concept which has proven its merits in declarative programming. The absence of pattern-matching in object-oriented programming languages is felt especially when tackling source code processing problems. But existing proposals for pattern matching in such languages rely on language extension, which makes their adoption overly intrusive. We propose an approach to support pattern matching in mainstream object-oriented languages without language extension. In this approach, a pattern is a first-class entity, which can be created, be passed as argument, and receive method invocations, just like any other object. We demonstrate how our approach can be used in conjunction with existing parser generators to perform pattern matching on various kinds of abstract syntax representation. We elaborate our approach to include concrete syntax patterns, and mixing of patterns and visitors for the construction of sophisticated syntax tree traversals.","PeriodicalId":383341,"journal":{"name":"J. Object Technol.","volume":"52 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2006-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127154520","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}
引用次数: 12
Game Development Using Design-by-Contract 基于契约设计的游戏开发
J. Object Technol. Pub Date : 2006-09-01 DOI: 10.5381/jot.2006.5.7.a3
R. Paige, Triston S. Attridge, P. Brooke
{"title":"Game Development Using Design-by-Contract","authors":"R. Paige, Triston S. Attridge, P. Brooke","doi":"10.5381/jot.2006.5.7.a3","DOIUrl":"https://doi.org/10.5381/jot.2006.5.7.a3","url":null,"abstract":"There are some application domains to which it appears intrinsically challenging to introduce the services offered by formal engineering methods. This paper is an evidence-based presentation that lightweight formal methods are effective in building realistic networked multiplayer games. The evidence is produced via a pilot study that uses Design-by-Contract, under realistic game development conditions, and encompasses both qualitative and empirical results.","PeriodicalId":383341,"journal":{"name":"J. Object Technol.","volume":"31 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2006-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122378576","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}
引用次数: 3
Static Verification of Code Access Security Policy Compliance of .NET Applications .NET应用程序代码访问安全策略遵从性的静态验证
J. Object Technol. Pub Date : 2006-04-01 DOI: 10.5381/JOT.2006.5.3.A2
Jan Smans, B. Jacobs, F. Piessens
{"title":"Static Verification of Code Access Security Policy Compliance of .NET Applications","authors":"Jan Smans, B. Jacobs, F. Piessens","doi":"10.5381/JOT.2006.5.3.A2","DOIUrl":"https://doi.org/10.5381/JOT.2006.5.3.A2","url":null,"abstract":"Stack inspection-based sandboxing originated as a security mechanism for safely executing partially trusted code. Today, it is widely used for the more general purpose of supporting the principle of least privilege in component-based software development. In this more general setting, the permissions required by a component to run properly, or the permissions needed by other components to successfully call methods in a given component are conceptually part of the interface specification of the component. Hence, correct documentation of this part of the interface is essential. In this paper, we propose formal component and method contracts for stack inspectionbased sandboxing, and we show that formal verification of these contracts is feasible with state-of-the-art program verification tools. Our contracts are significantly more expressive than existing type systems for stack inspection-based sandboxing. We describe our solution in the context of the sandboxing mechanism in the .NET Framework, called Code Access Security. Our system relies on the Spec# programming language and its accompanying static verification tool.","PeriodicalId":383341,"journal":{"name":"J. Object Technol.","volume":"102 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2006-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131649226","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}
引用次数: 22
Traceability Management through Use Cases when Developing Distributed Object Applications 在开发分布式对象应用程序时,通过用例进行跟踪管理
J. Object Technol. Pub Date : 2005-09-15 DOI: 10.5381/jot.2005.4.6.a3
N. Bencomo, A. Matteo
{"title":"Traceability Management through Use Cases when Developing Distributed Object Applications","authors":"N. Bencomo, A. Matteo","doi":"10.5381/jot.2005.4.6.a3","DOIUrl":"https://doi.org/10.5381/jot.2005.4.6.a3","url":null,"abstract":"The software life cycle of Distributed Object applications encompasses many activities, which go from requirements specification and leads to design and implementation taking into account aspects related to architectural issues. In such a life cycle, activities related to communication and integration mechanisms defined in Distributed Objects Technologies have to be executed. On the other hand, the support for software traceability has been established as an important task in the development life cycle of software systems. As the design is refined to a concrete implementation, it is important that concepts in analysis and design have a clear correspondence to implementation artifacts. This article describes activities and artifacts associated with Analysis, Design, Implementation and Deployment models when developing Distributed Object applications. In this sense, this work proposes a clear traceability from the Use Case model through Analysis, Design, Implementation and Deployment models. An example of the traceability is presented by means of a case study involving web access to Bank accounts. Keywords: use cases, distributed objects, traceability, and UML notation.","PeriodicalId":383341,"journal":{"name":"J. Object Technol.","volume":"35 9 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2005-09-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128308059","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}
引用次数: 5
The Theory of Classification Part 20: Modular Checking of Classtypes 分类理论第20部分:类类型的模块化检查
J. Object Technol. Pub Date : 2005-09-01 DOI: 10.5381/jot.2005.4.7.c1
A. Simons
{"title":"The Theory of Classification Part 20: Modular Checking of Classtypes","authors":"A. Simons","doi":"10.5381/jot.2005.4.7.c1","DOIUrl":"https://doi.org/10.5381/jot.2005.4.7.c1","url":null,"abstract":"A first-order type system has two things to commend it. Firstly, it is quite simple to implement a type-checker that can check types for exact correspondence, or for subtype compatibility with a given type. The type of the source object can be compared with that of the target variable to see if the former can be converted up to the latter, using subtyping rules like those we discussed in [1]. Secondly, code that has been checked once need never be checked again, or recompiled in new contexts. This is because the type system can never reveal more specific information about an object that is passed into a more general variable (which we have called the “type loss problem”), so the code need only be checked once over the most general type that it can accept.","PeriodicalId":383341,"journal":{"name":"J. Object Technol.","volume":"18 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2005-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"117128533","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}
引用次数: 0
E-Tester: a Contract-Aware and Agent-Based Unit Testing Framework for Eiffel E-Tester: Eiffel的基于合约和代理的单元测试框架
J. Object Technol. Pub Date : 2005-09-01 DOI: 10.5381/jot.2005.4.7.a4
J. Ostroff, R. Paige, David Makalsky, P. Brooke
{"title":"E-Tester: a Contract-Aware and Agent-Based Unit Testing Framework for Eiffel","authors":"J. Ostroff, R. Paige, David Makalsky, P. Brooke","doi":"10.5381/jot.2005.4.7.a4","DOIUrl":"https://doi.org/10.5381/jot.2005.4.7.a4","url":null,"abstract":"based on its use of agents for expressing tests and test cases. We compare E-Tester with JUnit and suggest several advantages it oers, with the additional aim of making recommendations for improving JUnit’s support for testing software with contracts. We also explain how it can be applied within a test-driven process for building reliable systems.","PeriodicalId":383341,"journal":{"name":"J. Object Technol.","volume":"23 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2005-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114546973","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}
引用次数: 5
The Theory of Classification Part 19: The Proliferation of Parameters 分类理论第十九部分:参数的扩散
J. Object Technol. Pub Date : 2005-07-01 DOI: 10.5381/jot.2005.4.5.c4
A. Simons
{"title":"The Theory of Classification Part 19: The Proliferation of Parameters","authors":"A. Simons","doi":"10.5381/jot.2005.4.5.c4","DOIUrl":"https://doi.org/10.5381/jot.2005.4.5.c4","url":null,"abstract":"We consider in more detail the kinds of manipulations performed upon polymorphic class-types. These are expressed using function-bounded type parameters of the form: ? <: F[?], where F is a type function, describing the shape of the interface that the type ?","PeriodicalId":383341,"journal":{"name":"J. Object Technol.","volume":"5 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2005-07-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130097196","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}
引用次数: 1
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
相关产品
×
本文献相关产品
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:604180095
Book学术官方微信
小红书