Online ISSN
1751-8814
Print ISSN
1751-8806
IET Software
Volume 1, Issue 6, December 2007
Volumes & issues:
Volume 1, Issue 6
December 2007
-
- Author(s): A. Garcia and C. Lucena
- Source: IET Software, Volume 1, Issue 6, p. 217 –218
- DOI: 10.1049/iet-sen:20079030
- Type: Article
- + Show details - Hide details
-
p.
217
–218
(2)
- Author(s): L. Baresi ; D. Bianculli ; C. Ghezzi ; S. Guinea ; P. Spoletini
- Source: IET Software, Volume 1, Issue 6, p. 219 –232
- DOI: 10.1049/iet-sen:20070027
- Type: Article
- + Show details - Hide details
-
p.
219
–232
(14)
Web services support software architectures that can evolve dynamically. In particular, in this paper the focus is on architectures where services are composed (orchestrated) through a workflow described in the business process execution language (BPEL). It is assumed that the resulting composite service refers to external services through assertions that specify their expected functional and non-functional properties. On the basis of these assertions, the composite service may be verified at design time by checking that it ensures certain relevant properties. Because of the dynamic nature of web services and the multiple stakeholders involved in their provision, however, the external services may evolve dynamically, and even unexpectedly. They may become inconsistent with respect to the assertions against which the workflow was verified during development. As a consequence, validation of the composition must extend to run time. In this work, an assertion language, called assertion language for BPEL process interactions (ALBERT), is introduced; it can be used to specify both functional and non-functional properties. An environment which supports design-time verification of ALBERT assertions for BPEL workflows via model checking is also described. At run time, the assertions can be turned into checks that a software monitor performs on the composite system to verify that it continues to guarantee its required properties. A TeleAssistance application is provided as a running example to illustrate our validation framework. - Author(s): B. Cabral ; P. Sacramento ; P. Marques
- Source: IET Software, Volume 1, Issue 6, p. 233 –250
- DOI: 10.1049/iet-sen:20070017
- Type: Article
- + Show details - Hide details
-
p.
233
–250
(18)
The emergence of exception handling (EH) mechanisms in modern programming languages made available a different way of communicating errors between procedures. For years, programmers trusted in correct documentation of error codes returned by procedures to correctly handle erroneous situations. Now, they have to focus on the documentation of exceptions for the same effect. But to what extent can exception documentation be trusted? Moreover, is there enough documentation for exceptions? And in what way do these questions relate to the discussion on checked against unchecked exceptions? For a given set of Microsoft .NET applications, code and documentation were thoroughly parsed and compared. This showed that exception documentation tends to be scarce. In particular, it showed that 90% of exceptions are undocumented. Furthermore, programmers were demonstrated to be keener to document exceptions they explicitly throw while typically leaving exceptions resulting from method calls undocumented. This conclusion lead to another question: how do programmers use the EH mechanisms available in modern programming languages? More than 16 different .NET applications were examined in order to provide an answer. The major conclusion of this work is that exceptions are not being correctly used as an error-handling mechanism. These results contribute to the assessment of the effectiveness of the unchecked exceptions approach. - Author(s): F. Schmied and A. Cyment
- Source: IET Software, Volume 1, Issue 6, p. 251 –262
- DOI: 10.1049/iet-sen:20070013
- Type: Article
- + Show details - Hide details
-
p.
251
–262
(12)
Aspect-oriented programming (AOP), now practically a consolidated academic discipline, has yet to build more solid industrial foundations, especially in the realms of the .NET platform. It's believed that this situation is caused by the lack of a robust and user-friendly AOP tool for .NET comparable with the Java-based AspectJ. This work investigates the basic infrastructure required for building such a tool: aspect-oriented weaving with the common language runtime (CLR) environment. In this regard, a classification schema is built, analysing the attributes a hypothetical aspect weaver for .NET might have. It assesses the different classes of weavers that can be built on top of the CLR today and investigates what extensions to the platform would be needed in order to enable more sophisticated weaving technologies. Some typical use cases for the resulting AOP tools, and classify what attributes a corresponding weaver would need to have in order to fulfil these requirements. Finally, two existing aspect weaver implementations in terms of these very same attributes are analysed. - Author(s): L. Veiga ; P. Pereira ; P. Ferreira
- Source: IET Software, Volume 1, Issue 6, p. 263 –279
- DOI: 10.1049/iet-sen:20070015
- Type: Article
- + Show details - Hide details
-
p.
263
–279
(17)
The memory management of distributed objects, when done manually, is an error-prone task. It leads to memory leaks and dangling references, causing applications to fail. Avoiding such errors requires automatic memory management, called distributed garbage collection (DGC). Current DGC solutions are either not safe, not complete or not portable to widely used platforms such as .NET. As a matter of fact, most solutions either run on specialised environments or require modifications of the underlying virtual machine (e.g. rotor, common language runtime (CLR)), hindering its immediate and widespread utilisation. This study describes the design, architecture, implementation and performance measurements of a DGC algorithm for .NET that: (i) is complete, that is, capable of reclaiming both acyclic and cyclic garbage, while (ii) being portable in the sense that it neither requires the underlying virtual machine to be modified, nor source or byte-code modification. The distributed garbage collector was implemented on top of two implementations of the common language infrastructure (.NET virtual machine specification): CLR and shared source CLI, commonly known as Rotor. The implementation requires no modification of the environment, it makes use of the provided aspect-oriented functionalities, and the performance results are encouraging. - Author(s): A.W.B. Furtado ; A.L.M. Santos ; G.L. Ramalho
- Source: IET Software, Volume 1, Issue 6, p. 280 –293
- DOI: 10.1049/iet-sen:20070023
- Type: Article
- + Show details - Hide details
-
p.
280
–293
(14)
An environment targeted at computer games development industrialisation in the .NET platform is presented. A computer game product line definition and its architecture are specified and implemented by means of software factory assets, such as a visual designer based on a domain-specific language, semantic validators and code generators. The proposed approach is then illustrated and empirically validated by the creation of real world case studies. Finally, it is investigated how the proposed factory can be used as an edutainment platform for Computer Science 1 and 2 courses. The final intention is to empower game developers and designers to work more productively, with a higher level of abstraction and closer to their application domain. - Author(s): A.R. da Silva ; J. Saraiva ; D. Ferreira ; R. Silva ; C. Videira
- Source: IET Software, Volume 1, Issue 6, p. 294 –314
- DOI: 10.1049/iet-sen:20070012
- Type: Article
- + Show details - Hide details
-
p.
294
–314
(21)
The suggestion that in software development projects the emphasis must be on the project management (RE), requirements engineering, and design activities, and consequently efforts in production activities – such as traditional software programming and testing – should be minimised and performed as automatically as possible is discussed. The ProjectIT approach that integrates contributions from the RE and model-driven engineering communities is also discussed. The goal with requirement specification is not just in managing textual specifications, but also to obtain a consistent requirements document that is in conformance with a domain-specific language, and that can be re-used to increase the design and development activities in the context of model driven and code generation techniques. Furthermore, the feasibility and benefits of this approach by presenting a proof-of-concept case study are discussed, in which the orchestration of the concepts and concrete components related with the ProjectIT approach, the PIT-RSL, XIS and PIT-TSL languages and the ProjectIT-Studio CASE tool is emphasised. A practical demonstration of the approach including the description of the system requirements, the design of the system, the use of code generation techniques, and how they integrate to improve and accelerate the software engineering lifecycle is presented.
Editorial: On the interplay of .NET and contemporary software engineering techniques
Validation of web service compositions
Hidden truth behind .NET's exception handling today
Aspect-oriented weaving and the .NET common language runtime
Complete distributed garbage collection using DGC-consistent cuts and .NET AOP-support
Computer games software factory and edutainment platform for Microsoft .NET
Integration of RE and MDE paradigms: the ProjectIT approach and tools
Most viewed content for this Journal
Article
content/journals/iet-sen
Journal
5
Most cited content for this Journal
-
Progress on approaches to software defect prediction
- Author(s): Zhiqiang Li ; Xiao-Yuan Jing ; Xiaoke Zhu
- Type: Article
-
Systematic review of success factors and barriers for software process improvement in global software development
- Author(s): Arif Ali Khan and Jacky Keung
- Type: Article
-
Empirical investigation of the challenges of the existing tools used in global software development projects
- Author(s): Mahmood Niazi ; Sajjad Mahmood ; Mohammad Alshayeb ; Ayman Hroub
- Type: Article
-
Feature extraction based on information gain and sequential pattern for English question classification
- Author(s): Yaqing Liu ; Xiaokai Yi ; Rong Chen ; Zhengguo Zhai ; Jingxuan Gu
- Type: Article
-
Early stage software effort estimation using random forest technique based on use case points
- Author(s): Shashank Mouli Satapathy ; Barada Prasanna Acharya ; Santanu Kumar Rath
- Type: Article