Sharing knowledge pertaining to software architectures becomes increasingly important. If this knowledge is not explicitly stored or communicated, valuable knowledge dissipates. H...
—Service-Oriented Computing (SOC) is an emerging paradigm for developing software systems that employ services. Presently there is already much research effort in the areas of se...
Mikhail Perepletchikov, Caspar Ryan, Keith Frampto...
Heuristics have long been recognised as a way to tackle problems which are intractable because of their size or complexity. They have been used in software engineering for purpose...
Neville Churcher, Sarah Frater, Cong Phuoc Huynh, ...
This paper explains some analyses that can be performed on a hierarchical finite state machine to validate that it performs as intended. Such a hierarchical state machine has tra...
Post-deployment maintenance and evolution can account for up to 75% of the cost of developing a software system. Software refactoring can reduce the costs associated with evolutio...
Erica Mealy, David A. Carrington, Paul A. Strooper...
Distributed applications that adapt as their environment changes are developed from selfmanaging, self-configuring and self-optimising behaviours. This requires constant monitorin...
Analyzing accidents is a vital exercise in the development of safety-critical software systems to prevent past accidents from reoccurring in the future. Current practices such as ...
Tariq Mahmood, Edmund Kazmierczak, Tim Kelly, Denn...