200 results found
D'ippolito N, braberman V, Kramer J, et al., 2014, Hope for the best, prepare for the worst: multi-tier control for adaptive systems, 36th International Conference on Software Engineering, Publisher: ACM, Pages: 688-699
Most approaches for adaptive systems rely on models, particularly behaviour or architecture models, which describe the system and the environment in which it operates. One of the difficulties in creating such models is uncertainty about the accuracy and completeness of the models. Engineers therefore make assumptions which may prove to be invalid at runtime. In this paper we introduce a rigorous, tiered framework for combining behaviour models, each with different associated assumptions and risks. These models are used to generate operational strategies, through techniques such controller synthesis, which are then executed concurrently at runtime. We show that our framework can be used to adapt the functional behaviour of the system: through graceful degradation when the assumptions of a higher level model are broken, and through progressive enhancement when those assumptions are satisfied or restored.
Sykes D, Corapi D, Magee J, et al., 2013, Learning Revised Models For Planning In Adaptive Systems, 35th IEEE/ACM International Conference on Software Engineering, Publisher: IEEE/ACM, Pages: 63-71
Sykes D, Magee J, Kramer J, 2011, FlashMob: Distributed adaptive self-assembly, Pages: 100-109, ISSN: 0270-5257
Autonomous systems need to support dynamic software adaptation in order to handle the complexity and unpredictability of the execution environment, and the changing needs of the end user. Although a number of approaches have been proposed, few address a key issue: that of distribution. In this paper we seek to overcome the limitations of centralised approaches. We build on our previous work on adaptive self-assembly within the three-layer model for autonomous systems to provide a decentralised technique for self-assembly. To achieve this in a fault-tolerant and scalable manner, we use a gossip protocol as a basis. While no central or leader node is aware of the full space of solutions, gossip ensures that agreement on a particular solution - in this case a component configuration - is reached in a logarithmic number of steps with respect to the size of the network. © 2011 ACM.
McVeigh A, Kramer J, Magee J, 2011, Evolve: Tool Support for Architecture Evolution, 33rd International Conference on Software Engineering (ICSE), Publisher: IEEE, Pages: 1040-1042
Lang F, Salauen G, Herilier R, et al., 2010, Translating FSP into LOTOS and networks of automata, FORMAL ASPECTS OF COMPUTING, Vol: 22, Pages: 681-711, ISSN: 0934-5043
Sykes D, Heaven W, Magee J, et al., 2010, Exploiting non-functional preferences in architectural adaptation for self-managed systems, Pages: 431-438
Among the many challenges of engineering dependable, self-managed, component-based systems is their need to make informed decisions about adaptive reconfigurations in response to changing requirements or a changing environment. Such decisions may be made on the basis of non-functional or QoS aspects of reconfiguration in addition to the purely functional properties needed to meet a goal. We present a practical approach for using non-functional information to guide a procedure for assembling, and subsequently modifying, configurations of software components, and compare the performance of two variants of the approach. In addition, we outline a scheme for monitoring non-functional properties in the running system such that more accurate information can be utilised in the next adaptation. © 2010 ACM.
Mens T, Magee J, Rumpe B, 2010, EVOLVING SOFTWARE ARCHITECTURE DESCRIPTIONS OF CRITICAL SYSTEMS, COMPUTER, Vol: 43, Pages: 42-48, ISSN: 0018-9162
Foster H, Uchitel S, Magee J, et al., 2010, An Integrated Workbench for Model-Based Engineering of Service Compositions, IEEE TRANSACTIONS ON SERVICES COMPUTING, Vol: 3, Pages: 131-144, ISSN: 1939-1374
Cheng BHC, Lemos RD, Garlan D, et al., 2010, Fifth Workshop on Software Engineering for Adaptive and Self-Managing Systems (SEAMS 2010)., Publisher: ACM, Pages: 447-448
Kramer J, Magee J, 2009, A Rigorous Architectural Approach to Adaptive Software Engineering, JOURNAL OF COMPUTER SCIENCE AND TECHNOLOGY, Vol: 24, Pages: 183-188, ISSN: 1000-9000
Heaven W, Sykes D, Magee J, et al., 2009, A Case Study in Goal-Driven Architectural Adaptation, Dagstuhl Seminar on Software Engineering for Self-Adaptive Systems, Publisher: SPRINGER-VERLAG BERLIN, Pages: 109-127, ISSN: 0302-9743
Foster H, Uchitel S, Kramer J, et al., 2009, Towards Self-management in Service-oriented Computing with Modes, 5th International Conference on Service-Oriented Computing (ICSOC 2007), Publisher: SPRINGER-VERLAG BERLIN, Pages: 338-350, ISSN: 0302-9743
Cheng BHC, de Lemos R, Garlan D, et al., 2009, SEAMS 2009: Software Engineering for Adaptive and Self-Managing Systems, 31st International Conference on Software Engineering (ICSE 2009), Publisher: IEEE, Pages: 463-+, ISSN: 0270-5257
Cheng BHC, de Lemos R, Giese H, et al., 2009, Software Engineering for Self-Adaptive Systems: A Research Roadmap, Publisher: Springer Berlin Heidelberg, Pages: 1-26, ISSN: 0302-9743
Sykes D, Heaven W, Magee J, et al., 2008, From goals to components: A combined approach to self-management, Proceedings - International Conference on Software Engineering, Pages: 105-112, ISSN: 0270-5257
Autonomous or semi-autonomous systems are deployed in environments where contact with programmers or technicians is infrequent or undesirable. To operate reliably, such systems should be able to adapt to new circumstances on their own. This paper describes our combined approach for adaptable software architecture and task synthesis from high-level goals, which is based on a three-layer model. In the uppermost layer, reactive plans are generated from goals expressed in a temporal logic. The middle layer is responsible for plan execution and assembling a configuration of domain-specific software components, which reside in the lowest layer. Moreover, the middle layer is responsible for selecting alternative components when the current configuration is no longer viable for the circumstances that have arisen. The implementation demonstrates that the approach enables us to handle non-determinism in the environment and unexpected failures in software components. Copyright 2008 ACM.
Foster H, Uchitel S, Kramer J, et al., 2008, Leveraging modes and UML2 for service brokering specifications, CEUR Workshop Proceedings, Vol: 389, Pages: 76-90, ISSN: 1613-0073
A Service-Oriented Computing (SoC) architecture consists of a number of collaborating services to achieve one or more goals. Traditionally, the focus of developing services (as components) has been on the static binding of these services within a single context and constrained in an individual manner. As service architectures are designed to more dynamic, where service binding and context changes with environmental disturbance, the task of designing and analysing such architectures becomes more complex. UML2 introduces an extended notation to define component binding interfaces, enhanced activity diagrams and sequence diagrams. We propose the use of Modes to abstract a selected set of services, their coordination and reconfiguration, and use models constructed in UML2 to describe brokering requirements which can be synthesised for input to service brokers. The approach is implemented through the use of a Modes Browser, which allows service engineers to view specifications to a prototype dynamic service brokering agent.
Letier E, Kramer J, Magee J, et al., 2008, Deriving event-based transition systems from goal-oriented requirements models, AUTOMATED SOFTWARE ENGINEERING, Vol: 15, Pages: 175-206, ISSN: 0928-8910
Kramer J, Magee J, 2008, Towards robust self-managed systems, Progress in Informatics, Pages: 1-4, ISSN: 1349-8614
Sykes D, Heaven W, Magee J, et al., 2007, Plan-directed architectural change for autonomous systems, Pages: 15-21
Autonomous systems operate in an unpredictable world, where communication with those people responsible for its software architecture may be infrequent or undesirable. If such a system is to continue reliable operation it must be able to derive and initiate adaptations to new circumstances on its own behalf. Much of the previous work on dynamic reconfigurations supposes that the programmer is able to express the possible adaptations before the system is deployed, or at least is able to add new adaptation strategies after deployment. We consider the challenges in providing an autonomous system with the capability to direct its own adaptation, and describe an initial implementation where change in the software architecture of an autonomous system is enacted as a result of executing a reactive plan. Copyright 2007 ACM.
Foster H, Uchitel S, Magee J, et al., 2007, WS-engineer: A model-based approach to engineering Web service compositions and choreography, Test and Analysis of Web Services, Pages: 87-119, ISBN: 9783540729112
In this chapter, we describe a model-based approach to the analysis of service interactions for web service choreography and their coordinated compositions. The move towards implementing web service choreography requires both design time verification and execution time validation of these service interactions to ensure that service implementations fulfil requirements of multiple interested partners before such compositions and choreographies are deployed for use. The approach employs several formal analysis techniques and perspectives, and applies these to the domain of web service choreographies and the compositional implementations that each role in these choreographies must satisfy. Our approach models the service interaction designs of choreographies (in the form of Message Sequence Charts), the service choreography descriptions (in WS-CDL - the Web Service Choreography Description Language) and the service composition processes (in BPEL4WS - the Business Process Language for Web Services). We translate models between UML and Web service specifications using the Finite State Process algebra notation. Where interactions deviate from choreography rules, the interaction sequences can be shown back to the user of the approach in an easy and accessible way, in the UML form. The described approach is supported by a suite of cooperating tools, formal modelling, simulation, animation and providing verification results from choreographed web service interactions. The tool suite and related papers are available for download at http://www.doc.ic.ac.uk/ltsa/eclipse/wsengineer. © Springer-Verlag Berlin Heidelberg 2007.
Foster H, Emmerich W, Kramer J, et al., 2007, Model checking service compositions under resource constraints, Pages: 225-234
When enacting a web service orchestration defined using the Business Process Execution Language (BPEL) we observed various safety property violations. This surprised us considerably as we had previously established that the orchestration was free of such property violations using existing BPEL model checking techniques. In this paper, we describe the origins of these violations. They result from a combination of design and deployment decisions, which include the distribution of services across hosts, the choice of synchronisation primitives in the process and the threading configuration of the servlet container that hosts the orchestrated web services. This leads us to conclude that model checking approaches that ignore resource constraints of the deployment environment are insufficient to establish safety and liveness properties of service orchestrations specifically, and distributed systems more generally. We show how model checking can take execution resource constraints into account. We evaluate the approach by applying it to the above application and are able to demonstrate that a change in allocation of services to hosts is indeed safe, a result that we are able to confirm experimentally in the deployed system. The approach is supported by a tool suite, known as WS-Engineer, providing automated process translation, architecture and model-checking views. Copyright 2007 ACM.
Kramer J, Magee J, 2007, Self-managed systems: An architectural challenge, Conference on Future of Software Engineering, Publisher: IEEE COMPUTER SOC, Pages: 259-+
Cheng BHC, de Lemos R, Fickas S, et al., 2007, SEAMS 2007: Software engineering for adaptive and self-managing systems, 29th International Conference on Software Engineering (ICSE 2007), Publisher: IEEE COMPUTER SOC, Pages: 152-+, ISSN: 0270-5257
Salauen G, Kramer J, Lang F, et al., 2007, Translating FSP into LOTOS and networks of automata, 6th International Conference on Integrated Formal Methods, Publisher: SPRINGER-VERLAG BERLIN, Pages: 558-578, ISSN: 0302-9743
Foster H, Uchitel S, Magee J, et al., 2006, LTSA-WS: A tool for model-based verification of Web service compositions and choreography, Pages: 771-774, ISSN: 0270-5257
In this paper we describe a tool for a model-based approach to verifying compositions of web service implementations. The tool supports verification of properties created from design specifications and implementation models to confirm expected results from the viewpoints of both the designer and implementer. Scenarios are modeled in UML, in the form of Message Sequence Charts (MSCs), and then compiled into the Finite State Process (FSP) process algebra to concisely model the required behavior. BPEL4WS implementations are mechanically translated to FSP to allow an equivalence trace verification process to be performed. By providing early design verification and validation, the implementation, testing and deployment of web service compositions can be eased through the understanding of the behavior exhibited by the composition. The approach is implemented as a plug-in for the Eclipse development environment providing cooperating tools for specification, formal modeling, verification and validation of the composition process.
McVeigh A, Kramer J, Magee J, 2006, Using resemblance to support component reuse and evolution, Pages: 49-56
The aim of a component-based approach to software is to allow the construction of a system by reusing and connecting together a number of existing components. To successfully reuse a component, alterations generally need to be made to it, particularly if the abstraction level is high. However, existing usage of a component means that it cannot be altered without affecting the systems that reuse it already. This leads to a dilemma which frustrates the goals of the compositional approach to reuse.To help resolve this dilemma, we introduce the resemblance construct, allowing a new component to be defined in terms of changes to a base component. This allows us to effectively alter a base component for reuse, without affecting the existing definition or any users of the component. We use an example to show how this and other constructs ameliorate the reuse problems of complex, possibly composite, components. Copyright 2006 ACM.
Foster H, Uchitel S, Magee JN, et al., 2006, WS-Engineer: A Tool for Model-Based Verification of Web Service Compositions and Choreography, IEEE International Conference on Software Engineering (ICSE 2006), Shanghai, China, May 2006.
Magee J, Kramer J, 2006, Concurrency: State Models & Java Programs, 2nd Edition, Publisher: John Wiley & Sons
Bonta E, Bernardo M, Magee J, et al., 2006, Synthesizing concurrency control components from process algebraic specifications, 8th International Conference on Coordination Models and Languages (COORDINATION 2006), Publisher: SPRINGER-VERLAG BERLIN, Pages: 28-43, ISSN: 0302-9743
Hirsch D, Kramer J, Magee J, et al., 2006, Address For Software Architecture, 3rd European Workshop on Software Architecture, Publisher: SPRINGER-VERLAG BERLIN, Pages: 113-+, ISSN: 0302-9743
This data is extracted from the Web of Science and reproduced under a licence from Thomson Reuters. You may not copy or re-distribute this data in whole or in part without the written consent of the Science business of Thomson Reuters.