Penn State University
Brandywine
An X-machine is a general computational machine that can model: (a) non-trivial data structures as a typed memory tuple and (b) the dynamic part of a system by employing transitions, which are not labeled with simple inputs but with... more
An X-machine is a general computational machine that can model: (a) non-trivial data structures as a typed memory tuple and (b) the dynamic part of a system by employing transitions, which are not labeled with simple inputs but with functions that operate on inputs and memory values. The X-machine formal method is valuable to software engineers since it is rather intuitive, while at the same time formal descriptions of data types and functions can be written in any known mathematical notation. These differences allow the X-machines to be more expressive and flexible than a Finite State Machine. In addition, a set of Xmachines can be viewed as components, which communicate with each other in order to specify larger systems. This paper describes a methodology as well as an appropriate notation, namely XMDL, for building communicating X-machines from existing stand-alone X-machine models. The proposed methodology is accompanied by an example model of a traffic light junction, which demonstrates the use of communicating Xmachines towards the incremental modeling of large-scale systems. It is suggested that through XMDL, the practical development of such complex systems can be split into two separate activities: (a) the modeling of stand-alone X-machine components and (b) the description of the communication between these components. The approach is disciplined, practical, modular and general in the sense that it subsumes the existing methods for communicating X-machines.
Formal modeling of complex systems is a non-trivial task, especially if a formal method does not facilitate separate development of the components of a system. This paper describes a methodology of building communicating Xmachines from... more
Formal modeling of complex systems is a non-trivial task, especially if a formal method does not facilitate separate development of the components of a system. This paper describes a methodology of building communicating Xmachines from existing stand-alone X-machine models and presents the theory that drives this methodology. A X-machine is a formal method that resembles a finite state machine but can model non-trivial data structures. This is accomplished by incorporating a typed memory tuple into the model as well as transitions labeled with functions that operate on inputs and memory values. A set of X-machines can exchange messages with each other, thus building a communicating system model. However, existing communicating X-machines theories imply that the components of a communicating system should be built from scratch. We suggest that modeling of complex systems can be split into two separate and distinct activities: (a) the modeling of stand-alone X-machine components and (b) the description of the communication between these components. This approach is based on a different view of the theory of communicating X-machines and it leads towards disciplined, practical, and modular development. The proposed methodology is accompanied by an example, which demonstrates the use of communicating X-machines towards the modeling of large-scale systems.
- by George Eleftherakis and +1
- •
- Informatics, Formal method
A X-machine is a general computational machine that can model non-trivial data structures as a typed memory tuple as well as the dynamic part of a system by employing transitions labeled with functions that operate on inputs and memory... more
A X-machine is a general computational machine that can model non-trivial data structures as a typed memory tuple as well as the dynamic part of a system by employing transitions labeled with functions that operate on inputs and memory values. The X-machine formal method is rather intuitive, while at the same time formal descriptions of data types and functions can be written in any known mathematical notation. A set of X-machines can be viewed as components, which communicate with each other. This paper describes a methodology of building communicating X-machines from existing stand-alone X-machine models. It is suggested that the development of complex systems can be split into two separate activities: (a) the modeling of standalone X-machine components and (b) the description of the communication between these components. The approach is disciplined, practical, modular and general in the sense that it subsumes the existing methodologies. The proposed methodology is accompanied by an example, which demonstrates the use of communicating X-machines towards the modeling of large-scale systems.
- by George Eleftherakis and +1
- •
Medical computerised systems which have a major effect on human lives (e.g. those used for diagnosis, therapy, surgery, in the intensive care units, etc) are considered as safety critical systems. Such systems are sometimes responsible... more
Medical computerised systems which have a major effect on human lives (e.g. those used for diagnosis, therapy, surgery, in the intensive care units, etc) are considered as safety critical systems. Such systems are sometimes responsible for major damages and injuries due to unpredicted malfunction. Misleading user requirements, errors in the specification and in the implementation are the usual reasons responsible for non-safe systems. This paper advocates the use of an integrated formal framework based on a computational machine (X-Machine), in the development of safety critical medical systems. This formal framework gives the ability to intuitively as well as formally model a system, then automatically check if the produced model has all the desired properties, and finally test if the implementation is equivalent to the specification by applying a complete set of test cases. Therefore, the use of this framework in the development of systems in safety critical medical domains can assure that the final product is valid with respect to the user requirements by revealing errors during the whole development life cycle and subsequently add to the confidence of their use. The proposed framework is accompanied by an example, which demonstrates the use of X-Machines in specification, testing and verification.
Recent advances in both the testing and verification of software based on formal specifications of the system to be built have reached a point where the ideas can be applied in a powerful way in the design of agent-based systems. The... more
Recent advances in both the testing and verification of software based on formal specifications of the system to be built have reached a point where the ideas can be applied in a powerful way in the design of agent-based systems. The software engineering research has highlighted a number of important issues: the importance of the type of modeling technique used; the careful design of the model to enable powerful testing techniques to be used; the automated verification of the behavioural properties of the system; the need to provide a mechanism for translating the formal models into executable software in a simple and transparent way. This paper introduces the use of the X-machine formalism as a tool for modeling biology inspired agents proposing the use of the techniques built around X-machine models for the construction of effective, and reliable agent-based software systems.
- by George Eleftherakis and +1
- •
The increased demand and complexity of services operating within open distributed environments has emphasized the need for systems that are adaptive, self-organizing and more robust. In order to address these issues some agent oriented... more
The increased demand and complexity of services operating within open distributed environments has emphasized the need for systems that are adaptive, self-organizing and more robust. In order to address these issues some agent oriented approaches have adopted ideas from natural systems as possible solutions. The introduction of biological properties, especially birth and death of agents as expected events, generates an extremely dynamic environment where it is difficult to maintain the overall connectivity of the overlay network and facilitate efficient discovery processes. In this paper we evaluate the performance of a selective discovery mechanism in a distributed bio-inspired multi-agent community through a simulation study. The primary focus of the study is on the impacts which death and (sexual/asexual) reproduction events have on the effectiveness of the discovery process in different overlay networks.
Tissue P systems represent a class of P systems in which cells are arranged in a graph rather than a hierarchical structure. On the other hand, communicating X-machines are state-based machines, extended with a memory structure and... more
Tissue P systems represent a class of P systems in which cells are arranged in a graph rather than a hierarchical structure. On the other hand, communicating X-machines are state-based machines, extended with a memory structure and transition functions instead of simple inputs, which communicate via message passing. One could use communicating X-machines to create models built out of components in a rather intuitive way. There are investigations showing how various classes of P systems can be modelled as communicating X-machines. In this paper, we define a set of principles to transform communicating Xmachines into Tissue P systems. We describe the rules that govern such transformations, present an example to demonstrate the feasibility of this approach and discuss ways to extend it to more general models, such as population P systems, which involve dynamic structures.
Social insect colonies present an interesting problem for formal modelling due to their outstanding characteristics, such as self-organisation and emergence. In this paper, we experiment with two different formal methods, Communicating... more
Social insect colonies present an interesting problem for formal modelling due to their outstanding characteristics, such as self-organisation and emergence. In this paper, we experiment with two different formal methods, Communicating X-machines and Population P Systems, which can be used separately to model biologically inspired. systems. The case of Pharaoh's ants is used as a vehicle of study. We discuss the advantages of each method and we present a framework that leads to a rapid implementation and simulation of such multiagent systems.
The development of communication and organisation skills in undergraduate students is an issue that has always been of concern in all academic departments. The Computer Science Department of City College has put great emphasis on... more
The development of communication and organisation skills in undergraduate students is an issue that has always been of concern in all academic departments. The Computer Science Department of City College has put great emphasis on developing these skills throughout the Bachelors academic program. One approach that has been very successful over the past years was the organisation and hosting of an annual international student symposium. Students from the College but also from other national and international academic institutions, present their work on a variety of subjects related to technology. Emphasis is given on multi-discipline, and as such students from departments not directly related to computer science are welcomed. In addition, the symposium is organised by volunteer undergraduate and postgraduate students, not only from the Computer Science Department, but from departments of diverse disciplines. This paper presents the international student symposium and demonstrates how the appropriate skills of the students are enhanced. In addition, the paper highlights how the participation of the students to this event heightens their involvement in an academic environment.
While every attempt is made to ensure that the information in this publication is correct, no liability can be accepted by the authors or publishers for loss, damage or injury caused by any errors in, or omission from, the information... more
While every attempt is made to ensure that the information in this publication is correct, no liability can be accepted by the authors or publishers for loss, damage or injury caused by any errors in, or omission from, the information given. vii committee of ECAL11 for enabling our workshop to be co-located with this conference. We hope that readers will enjoy this set of papers, and come away with insight on the state of the art, and some understanding of current progress in complex systems modelling and simulation.
Formal development of agent systems with inherent high complexity is not a trivial task, especially if a formal method used is not accompanied by an appropriate methodology. Xmachines is a formal method that resembles Finite State... more
Formal development of agent systems with inherent high complexity is not a trivial task, especially if a formal method used is not accompanied by an appropriate methodology. Xmachines is a formal method that resembles Finite State Machines but has two important extensions, namely internal memory structure and functions. In this paper, we present a disciplined methodology for developing agent systems using communicating X-machine agents and we demonstrate its applicability through an example. In practice, the development of a communicating system model can be based on a number of well-defined distinct steps, i.e. development of types of X-machine models, agents as instances of those types, communication between agents, and testing as well as model checking each of these agents individually. To each of the steps a set of appropriate tools is employed. Therefore the proposed methodology utilises a priori techniques to avoid any flaws in the early stages of the development together with a posteriori techniques to discover any undiscovered flaws in later stages. This way it makes the best use of the development effort to achieve highest confidence in the quality of the developed agents. We use this methodology for modelling naturally distributed systems, such as multi-agent systems. We use a generalized example in order to demonstrate the methodology and explain in detail how each activity is carried out. We briefly present the theory behind communicating Xmachine agents and then we describe in detail the practical issues related using the same example throughout.
In recent years multi-agent modelling and simulation has been suggested as an approach to exploring emergent phenomena exhibited by a variety of systems. A vital part of such an effort is the ability to detect and quantify the particular... more
In recent years multi-agent modelling and simulation has been suggested as an approach to exploring emergent phenomena exhibited by a variety of systems. A vital part of such an effort is the ability to detect and quantify the particular emergent manifestation under study. As part of a larger study in exploring causal relations in emergent formations, this paper investigates the issue of automated detection of herds in a multi-agent model of large bodied animal dynamics. The proposed solution is based on a fuzzy reasoning approach which incorporates bottom-up and top-down phases as part of the reasoning process. The evaluation of the proposed reasoning method showed that it can be successfully applied for automated detection of herds in multi-agent simulation.
During the 90's, since the complexity or scale of some applications rose much faster than a single machine could handle, the client server paradigm became unable to respond to the user demands in a reliable manner. The centralized systems... more
During the 90's, since the complexity or scale of some applications rose much faster than a single machine could handle, the client server paradigm became unable to respond to the user demands in a reliable manner. The centralized systems were prone to a single point of failure and their overall e ciency was a ected by the bottlenecks on the server side, so distributed systems seemed a much better solution.
What is education? What are the reasons that make education a vital aspect of life? Anyone reflecting on these questions will have a different opinion and a different perspective. Despite of the numerous views, several ideas will remain... more
What is education? What are the reasons that make education a vital aspect of life? Anyone reflecting on these questions will have a different opinion and a different perspective. Despite of the numerous views, several ideas will remain constant: education takes place on the entire duration of the individual's life and education is not only about accumulating knowledge but also, more important, about gaining essential skills.
Abstract:-Simulation is a powerful technique for the study of real-life complex problems. Simulation requires the development of a program, which mimics the problem under consideration. The simulation program development follows closely... more
Abstract:-Simulation is a powerful technique for the study of real-life complex problems. Simulation requires the development of a program, which mimics the problem under consideration. The simulation program development follows closely the software engineering process. Although, many techniques for modelling problems have been proposed, the testing phase of the developed programs has been under-discussed.
- by George Eleftherakis and +1
- •