Integrating model-checking architectural analysis and validation in a real software life-cycle

Size: px
Start display at page:

Download "Integrating model-checking architectural analysis and validation in a real software life-cycle"

Transcription

1 Integrating model-checking architectural analysis and validation in a real software life-cycle Daniele Compare 1, Paola Inverardi 2, Patrizio Pelliccione 2, and Alessandra Sebastiani 1 1 Lab NMS C2, Marconi Mobile, L Aquila, Italy, {danielecompare,alessandrasebastiani}@marconicom 2 University of L Aquila, Computer Science Department Via Vetoio 1, L Aquila, Italy {inverard,pellicci}@diunivaqit Abstract In this paper we describe the use of a model-checking based tool, Charmy, in an industrial software development environment The goal of the project is to model and analyze the software architecture of a software system currently under development We have defined and formally checked its overall architecture By zooming into relevant subsystems we have been able to identify a set of uncorrect behaviors We have used an iterative process, where both the architectural sub-systems models and the properties to be checked were defined, checked and revised several times The results of the experience allow an evaluation of the effort to use the analysis framework in the industrial software development environment and an assessment of the efficacy and the role of the architectural analysis in the software development process The main relevance of this experience is in the effort to smoothly integrate the use of model-checking techniques in a standard software life-cycle, in particular concerning the discovery and definition of architectural properties 1 Introduction In the last years there has been a growing interest for the architectural level description of software systems New tools and architectural languages have been proposed to specify the Software Architecture (SA) of large scale systems SA description represents the first, in the development life-cycle, complete system description It provides at the high abstraction level of components and connectors both a description of the static structure of the system and a model of its dynamic behavior The aim of SA descriptions is twofold: on one side they force the designer to separate architectural concerns from other design ones On the other, they allow for analysis and validation of architectural choices, both behavioral and quantitative in order to obtain better software quality in an increasingly shorter time-to-market development scenario Despite the high level of abstraction very often SA can still be too complex to be managed A way to tackle system complexity consists of representing the

2 system through several view points [18, 16, 9]; as a direct consequence, different models are used to represent the different views The use of views allows to handle different aspects of the system separately and to manage the description of real systems Several slightly different views (logical, module, deployment and so on) are defined in different approaches [16, 9, 4]; different notations, generally graphical, have been introduced for their representation All the approaches agree that dynamic aspects are orthogonal to all the views and they allow for analysis and validation of architectural choices Several works use these dynamic descriptions for testing [5, 21], analysis and model checking [3, 7, 8, 15] Many specification languages [14, 1, 3, 17] have been introduced to specify and model system behavior at the architectural level but there is not a standardized way to represent SA dynamics In the current industrial practice state-based machines and scenarios are the most common used tools to model behavioral aspects: state diagrams describe components behavior while scenarios (message sequence charts or sequence diagrams) identify how they interact Although very expressive, this approach has two drawbacks with respect to analysis and validation The first one deals with the model incompleteness of the system specification: notably in industrial contexts, these models are not completely specified Thus we can in general rely only on a finite set of scenarios that complement (sub-) systems state models The second one is a problem of view consistency: the use of several views facilitates the growing of inconsistencies between views that represent different aspects of the same system [19, 20] Indeed, state diagrams and scenarios provide alternative views of the system: these views are not independent and can erroneously specify contradictory or inconsistent behaviors The approach proposed in Charmy (CHecking Architectural Model consistency) [12, 13, 11] has been thought to deal with these problems Charmy allows the use of the most common notations employed in the current industrial practice to model behavioral aspects: ie, state and sequence diagrams (scenarios) used to describe a system software architecture through two different views Charmy, starting from these (incomplete) dynamic views, synthesizes, through a suitable translation into Promela language (the specification language of the SPIN model checker), an actual SA complete model that can then be executed and verified in the SPIN model checker [24] The resulting model can then be validated with respect to a set of selected scenarios which are suitably translated in Linear Temporal Logic (LTL) formulae The validated model can be used as a first prototype to control and eliminate problems of the software architecture model such as deadlock, correctness of properties, starvation, etc In industrial contexts like the one participating in this experience, (Unified modelling Language) UML [2] is commonly used for the system architectural description The model checker SPIN, is a widely distributed software package that supports the formal verification of concurrent systems allowing to analyze their logical consistency by on-the-fly checks, ie without the need of constructing a global state graph, thus reducing the complexity of the check It is the core engine of Charmy and it is not directly accessible by a Charmy user

3 In this paper we describe the use of Charmy in an industrial software development environment The goal of the project is to model and analyze an industrial software system currently under development We have defined and formally checked its overall architecture By zooming into relevant sub-systems we have been able to identify a set of uncorrect behaviors We have used an iterative process, where both the architectural sub-systems models and the properties to be checked were defined, checked and revised several times The results of the experience allow an evaluation of the effort to use the analysis framework in the Marconi software development environment and an assessment of the efficacy and the role of the architectural analysis in the software development process The main relevance of this experience is in the effort to smoothly integrate the use of model-checking techniques in a standard software life-cycle, in particular concerning the architectural properties discovery and definition In the literature much work has been directed to improve the model generation phase, little attention has been put in the properties to be proved In general these are assumed to exist as part of the problem specification Research efforts in system properties and in the corresponding (temporal) formula mainly concern the ability to informally describe a property and then translate it in a formal formula [23, 10] Little or no attention is devoted to the problem of properties elicitation, that is the ability to determine from the software artifacts at hand which are the relevant properties to check for We can certainly assume that at the requirements level, explicit stated behavioral requirements, like my system has always to perform two b actions whenever it gets in input an a action exist These are global system requirements, that is they characterize the input-output behavior of the system Once a software architecture is specified, it is still possible to check if it guarantees the global functional requirements, but if this is not the case we need to be able to refine the global property into sub-properties that focus on relevant portions of the system software architecture In Section 2 we summarize the framework and the way it works Sections 3, 4, 5 describe the framework applied on the case study Section 3 describes the system specification of the case study and its main properties Section 4 shows the modelling in the framework defining the components and its interaction Subsection 41 is a modelling example while 42 describe two sub-systems representing most critical parts of the system Section 5 shows the analysis process applied to the NICE case study, showing the detected problems and the proposed solutions Section 6 summarizes our experience and presents conclusions and future work 2 The Framework The framework we used in the project tries to integrate several tools in order to correctly drive the software architect during the system modelling design phase The framework involves the UML notation, and the Charmy tool

4 UML is the design support used in the industrial context we operate It is used for all software development phases, in particular as Architectural Description Language (ADL) Charmy is a tool that helps the software architect to draw architectural state diagrams and scenarios and automatically translates these models in Promela code and in LTL formulae expressing suitable system behavioral properties Charmy performs the model verification using the model checker SPIN Details about Charmy s related algorithms are given in [12] In the following we summarize how we used the proposed framework starting from the system specification described in UML (use cases, activity diagrams, etc) and requirement documents in natural language: 1 identify the system components and describe their architectural behavioral aspects through state diagrams; 2 define the significant dynamic interactions among components through sequence diagrams; 3 use the two above set of views to produce a SA model in Promela code The sequence diagrams are also separately translated in LTL formulae and used to test the correctness of the SA Promela model; 4 prove the global behavioral properties, stated in the requirements, on this first model of the system; 5 identify critical sub-systems and their relevant properties in order to guarantee the global properties; 6 refine the sub-systems architecture and iterate the process; The most critical part of this approach is the selection of the LTL formulae representing the properties that must be satisfied by the system In a simplistic approach we can think that the set of the LTL formulae can be extracted from the system specification This is only true for the global behavioral properties The actual formulae that we prove at the architectural level must be more refined in order to point out critical architectural interactions There is no automatic way to do this refinement step, which is connected with the identification of the most critical sub-systems that need a deeper modelling and verification In the following we describe the process followed in the project, trying to highlight the motivations that allowed us to focus on significant sub-systems and to identify relevant properties Our approach is based on the construction of an executable prototype of the system software architecture in order to understand its behavior and its features It is clear that we are not able to detect all potential erroneous behaviors in one verification step For this reason we iterate the process; at each iteration we focus on a system part refining its specification and identifying other potentially critical sub-parts To some extent, our approach is similar to extracting test cases In eliciting test cases a tester focusses on the critical parts of the system in order to verify his intuitions In the same way we elicit the properties that represent potential flows and check them on the system model by using model checking techniques

5 3 The NICE case study The Naval Integrated Communication Environment (NICE) operates in a naval communication environment The purpose of the system is to fulfill the following main functionalities: provide voice, data and video communication modes; enable system aided message preparation, processing, storage, retrieval distribution and purging; implement radio frequency transmission and reception, variable power control and modulation; provision of remote control and monitoring including detection of equipment failures in the transmission/reception radio chain and the management system elements; provision of a data distribution service; implement communications security techniques to the required level of evaluation, accreditation and certification WS NICE MS C2 CTS PROXYAGENT C1 PROXY AGENT CTS Radio, Transmitting Antenna EQUIPMENT VUU Fig 1 NICE static software architecture The NICE Management Sub-system (NICE MS) is the more critical component It controls both internal and external communications, supporting the following functionalities: fault and damage management; system configuration; security management; traffic accounting;

6 performance management The NICE MS complexity and heterogeneity (different hardware and operating systems and relative applications) together with its real time context needs the definition of a precise software architecture to express its coordination structure The system involves several operational consoles that manage the heterogeneous system equipment including the ATM based Communication Transfer System(CTS) through blind Proxy computers For this reason the high level design is based on a manager-agent architecture that is summarized in Figure 1, where the Workstation (WS) component represents the management entity while the Proxy Agent and the CTS Proxy Agent component represent the interface to control the managed equipment and the CTS respectively Subsystems are connected by connectors (C1 and C2) that allow the communication between them 4 Modelling NICE in the framework The first step in modelling the NICE system is to define its static SA, as shown in Figure 1 The second step is to define the state diagrams for the components and the scenarios defining components interaction This second step is part of the usual Marconi software development process, therefore the effort to provide input for Charmy has been minimal In the following subsection we present some state diagrams and scenarios related to the modelled system 41 An excerpt of the system behaviors In this Subsection we present only a small example of the modelled system, just to give an idea of the modelling technique A1!fail1VUU_CTS!Recovery1VUU_CTS (a) A2 B1!Recovery2VUU_CTS B3?fail1VUU_CTS?Recovery1VUU_CTS (b) B2!fail2VUU_CTS B4 C1?fail2VUU_CTS C2?Recovery2VUU_CTS (c) Fig 2 Components state diagrams Interested readers can see [22] for a full treatment of the system Starting from the NICE global model we consider the situation that occurs when the

7 CTS Proxy Agent detects a CTS or VUU (Voice User Unit) failure together with the relative consequent actions Note that a VUU is an ISDN voice terminal equipment to access the ship s operational internal and external communications, including the ship s telephone system In Figures 2a, 2b and 2c are shown the CTS, the CTS Proxy Agent and the WS state diagrams, respectively To help diagrams comprehension, note that the symbol? denotes a message reception and the symbol! denotes a message sending In Figure 3 it is represented how these components interact each other through a sequence diagram Since at present Charmy does not directly interface with UML, architectural state charts and sequence diagrams had to be directly provided However, this was not a big effort due to the closeness among the UML and the Charmy notations The state diagrams in Figure 2 and the scenario in Figure 3, obtained with the Charmy editors, are then automatically translated into Promela code and LTL formulae to perform the third step of the process described in Section2 For further details on the complete system verification the interested reader can refer to [22] CTS CTS Proxy Agent WS fail1vuu_cts fail2vuu_cts Recovery2VUU_CTS Recovery1VUU_CTS Fig 3 Components interaction sequence diagram Because of the large system context (26 components state diagram, 85 exchanged messages), in the following we present the analysis of only two subsystems These sub-systems have been identified as highly critical, and therefore eligible for deeper modelling and analysis because of the high risk of mismatch and interoperability issues due to the different nature of their interacting components (hardware, software, different operating systems) 42 NICE Management Sub-system The NICE Management Sub-system, in Figure 1 surrounded by dashed line, is composed of three interacting components as described at the end of Section 3

8 Due to the nature of the system communications, it was decided to separately model and analyze the communication between WS and CTS Proxy Agent and the communication between WS and Proxy Agent The size of the two subsystems is limited to 3 components state diagram and 26 messages for the first one and 3 components state diagram and 22 messages for the second one As we will see later on, the analysis of these models allowed the identification of several potential system communication problems In the following we briefly describe the two sub-systems and their interactions in order to better understand the achieved analysis results WS-CTS Proxy Agent communication is based on the SNMPv2 protocol [6] where WS is the manager entity while CTS Proxy Agent is the managed agent one Messages exchanged are the following: Set PDU: the manager asks the agent to change a specified variable of agent MIB; Get PDU: the manager asks the agent to report value of a specified variable of agent MIB; Notify PDU: the agent acknowledges a received Set/Get PDU to the manager; Trap PDU: the agent warns the manager about its own MIB changing WS-Proxy Agent communication is based on a proprietary protocol over LAN The Proxy Agent is directly connected to the managed equipment and simply converts messages coming from WS in a format that the equipment is able to understand and vice-versa In doing such activity, it also monitors the equipment state through a timer-based polling In order to avoid useless network overload, it forwards to the WS only the variations of the equipment state 5 The analysis process Let us shortly recall how the analysis process described in Section 2 is carried on First we analyze the overall NICE system in order to understand its main dynamic features The analysis results, that we not report here, show the existence of potential dangerous behaviors Therefore we identify and analyze in detail two sub-systems These two sub-systems realize the communications into the NICE MS as defined in Subsection 42 In particular the first one focus on the possible loss of messages during the communications between the WS and Proxy Agent (Subsection 51) The other one allows monitoring the communication between the WS and the CTS Proxy Agent (Subsection 52) The interest on the latter model is driven by the fact that the interacting components are heterogeneous in terms of operating system platforms and are developed by different project partners Note that the two sub-systems models are still the product of an abstraction process Some components were leaved out, focusing only on interesting ones and refining the communication among them For further details the interested reader can see [22] In the following subsections we explain by means of sequence diagrams the results obtained by using the model checker SPIN We decide to translate SPIN traces in sequence diagrams to make the analysis output comprehensible to system designers

9 51 Results for WS-Proxy Agent communication In this sub-model several anomalous scenarios were verified using a Pentium III 833 MHz personal computer with 256 MB of ram and Windows NT 40 The scenario expressed by the sequence diagram of Figure 4a represents the result analysis for the LTL formula in Figure 5 It outlines how the loss of a message ( Data msg2 ) does not allow Proxy Agent to update WS about the state of the managed equipment until a new state change applies on the Equipment itself In Figure 4 the [State X] labels on each lifeline component represent the local Equipment state view Referring to the scenario Figure 4a, an state inconsistency occurs between WS and the managed Equipment After the reception of the set2 message the Equipment changes its state to [STATE B]; after it applies the request, changing its state to [STATE C] while WS still knows [STATE B] It is lost [State A] WS set1 ack1 Data msg2 Proxy [State A] set2 ack2 Polling Data msg1 Polling Equipment [State A] Time to apply the set request WS [State A] set1 It is lost Not responding1 It is lost Data msg2 Proxy [State A] set2 ack2 Timeout Polling Data msg1 Polling Equipment [State A] Time to apply the set request It does not warn the WS because the state is not changed ack ack (a) (b) Fig 4 WS PA anomalous scenarios In the sequence diagrams the lost messages are highlighted with a note In Figure 5 we present a high level description of the LTL formula which describes the scenario in Figure 4a; we are omitting details about the actual formula syntax because a complete description requires the knowledge of the data structures in the Promela code The check of the LTL formula shows after a few minutes of processing the existence of a path that fakes the formula The highlighted problem is the loss

10 set1 happens in the time t_set1 set2 happens in the time t_set2=t_set1+1 ack2 happens in the time t_ack2=t_set_2+1 ack1 happens in the time t_ack1=t_ack2+1 polling happens in the time t_polling=t_ack1+1 datamsg1 happens in the time t_datamsg1=t_polling+1 datamsg2 happens in the time datamsg2=t_datamsg1+1 polling happens in the time t_polling= t_datamsg2+1 ack happens in the time t_ack=t_polling+1 Fig 5 LTL formula: an example of datamsg2 message and it suggests to introduce a timer which allows the Proxy Agent to resend periodically the equipment state The sequence diagram in Figure 4b shows the system behavior caused by the expiration of the Proxy Agent s timer due to the loss of the equipment ack2 message This implies a not responding1 message sent from the Proxy Agent to WS which signals an equipment malfunctioning Note that such timer is set by the Proxy Agent every time that it sends a message to the equipment The loss of the message sent by the Proxy Agent and containing the new equipment state induces inconsistency In fact WS continues to believe that the managed Equipment is in a not responding state ([STATE B]), even if the managed Equipment is correctly working This situation persists until a new equipment state change occurs The LTL formula resulting from this scenario was also validated thus indicating a system behavior that has to be differently managed In an industrial context it is unfeasible to write by hand the LTL formulae, which are complex ones even in the above abstract version On the contrary, the sequence diagrams are more intuitive and highly familiar Charmy offers to the user an interface to specify scenarios and a set of options on how these scenarios can be interpreted as behavioral properties For example, among these options, a user can say that a scenario has to be verified for all possible system behaviors, or that it represents just one possible behavior Other options allow for more sophisticated verifications 52 Results for WS-CTS Proxy Agent communication In this sub-model the anomalous scenario of Figure 6 was verified using the same hardware configuration described in the previous subsection Note that the communication between the two entities WS and CTS Proxy Agent is based on a retry mechanism for sending at least N times (eg N=3) the same message when no acknowledge or Msg1 corrupt is received Only after the failure of all the N retries the communication can not occur and a Nack Msg1 message is sent to the NICE MS Manager In the above scenario after N attempts, WS signals a failed sending since an acknowledge for the sent message is generated

11 NICE MS Manager Msg1 request WS CTS Proxy Agent Msg1 timer expired Msg1 Msg1 corrupt Msg1 timer expired Retry = N Msg1 timer expired Nack Msg1 Ack Fig 6 WS CTS PA anomalous scenarios later by the CTS Proxy Agent The analysis of this communication protocol allowed us to identify a mismatch: WS believes its request was not accepted while CTS Proxy Agent accepted it This showed the critical importance of a right timer setting choice The resulting LTL formula was validated after less than ten minutes of processing 6 Conclusions and Future Work In this paper we presented our experience in integrating Charmy in the Marconi software development environment Only few results about the NICE MS system are reported in this paper: more details on the complete system model can be found in [22] The goal of the experiment was twofold: 1 to evaluate the effort to use the analysis framework proposed; 2 to evaluate the efficacy and the role of the analysis itself Since state and sequence diagrams are commonly used in industry software development practice, it is easy and quick to use the framework, given that Charmy s inputs subsumes UML diagrams In order to follow this process no

12 particular skills is required since the framework feedback is easily comprehensible for a software architect The time required for the verification is strongly dependent on the size of the model Considering the abstraction used in the case study, the verification time was always acceptable As far as the efficacy and the role of the proposed analysis is concerned, it must be noticed that the framework actually helps the software architect in reasoning about the system The framework easies the definition of a right architecture and provides an executable prototype to perform analysis As we discussed in the Introduction, it is not easy to define the properties to be investigated on a given model In this experience, as one might expect, we saw that the process of properties elicitation and subsystems identification proceeds incrementally and it is driven by the confidence and system knowledge that the software architect acquires along the modelling process Properties were always described as set of sequence diagrams, characterizing either wanted or un-wanted behaviors and then automatically translated in LTL formula In the same way, output traces were offered to the software architect always as sequence diagrams This allowed a rather straightforward integration with the standard software development process and allowed early identification of critical sub-systems behaviors whose design and implementation should be carefully carried out Summarizing the study carried out clearly indicated future work directions: 1 the CHARMY tool should be integrated with existing case environment based on UML to eliminate input costs; 2 scenarios are a good way to express properties at the architectural level A comprehensive set of interpretation options has to be provided and their translation to LTL formula has to be completely hidden from the user Acknowledgments The authors would like to acknowledge the Italian MIUR national project SAHARA that partly supported this work References 1 Darwin, an Architectural Description Language In Web site: < darwinhtml> 2 Rational Corporation UML Resource Center UML documentation, version13 On-line at: < rationalcom/uml/indexjtmpl> 3 R Allen and D Garlan A Formal Basis for Architectural Connection In ACM Transactions on Software Engineering and Methodology, pages 6(3): , July L Bass, P Clements, and R Kazman Software Architecture in Practice SEI Series, Addison-Wesley A Bertolino, P Inverardi, and H Muccini An Explorative Journey from Architectural Tests Definition downto Code Tests Execution In ACM Proceedings, ICSE2001, June 2001

13 6 R community RFC On-line at: < idocs/rfc/rfc1901html> 7 D Compare, P Inverardi, and A Wolf Uncovering Architectural Mismatch in Dynamic Behavior In Science of Computer Programming, pages 33(2): , February D Giannakopoulou, J Kramer, and S Cheung Analysing the behaviour of distributed systems using tracta In Automated Software Engineering, special issue on Automated Analysis of Software, pages 6(1):7 35, January C Hofmeister, R Nord, and D Soni Applied Software Architecture Addison Wesley, J G Holzmann The logic of bugs In Proc Foundations of Software Engineering (SIGSOFT 2002/FSE-10), P Inverardi, F Mancinelli, H Muccini, and P Pelliccione An Experience in Architectural Extensions: Active Objects in J2EE In Proc FIDJI 2002 International Workshop on scientific engineering of Distributed Java applications To appear on LNCS, November 28-29, P Inverardi, H Muccini, and P Pelliccione Automated Check of Architectural Models Consistency using SPIN In the Automated Software Engineering Conference Proceedings (ASE 2001) San Diego, California, November P Inverardi, H Muccini, and P Pelliccione Checking Consistency Between Architectural Models Using SPIN In Proc the First Int Workshop From Software Requirements to Architectures (STRAW 01), year P Inverardi and A Wolf Formal Specifications and Analysis of Software Architectures Using the Chemical Abstract Machine Model In IEEE Transactions on Software Engineering, pages 21(4): , April N Kaveh and W Emmerich Deadlock Detection in Distributed Object Systems In Proc of the Joint 7th European Software Engineering Conference and 9th ACM SIGSOFT Int Symposium on Foundations of Software Engineering, Vienna, Austria LNCS Springer Verlag, P Kruchten The 4+1 View Model of Architecture pages pp42 50 IEEE Software, 12(6) November J Magee and J Kramer Concurrency: State models & java programs Wiley publisher, April J Magee, J Kramer, and D Giannakopoulou Behaviour analysis of software architectures In Proc First Working IFIP Conference on Software Architecture (WICSA1), San Antonio, Texas, C Pons, R Giandini, and G Baum Dependency Relations Between Models in the Unified Process In Proc IWSSD 2000, November G Reggio, M Cerioli, and E Astesiano Towards a Rigorous Semantics of UML Supporting its Multiview Approach In Proc FASE 2001, LNCS n 2029 Berlin, Springer Verlag, D Richardson and A Wolf Software Testing at the Architectural Level In Second International Software Architecture Workshop (ISAW-2), October A Sebastiani Specifica e verifica formale dell architettura di gestione di un sistema integrato reale per le telecomunicazioni Tesi di Laurea in Informatica, Universitá di L Aquila, Facoltá di Scienze Matematiche Fisiche e Naturali, October R L Smith, G S Avrunin, L A Clarke, and L J Osterweil PROPEL: An Approach Supporting Property Elucidation In Proc 24th International Conference on Software Engineering (ICSE2002), pages pp11 21, May SPIN Home page on line at: < indexhtml>

Chapter 4 Software Lifecycle and Performance Analysis

Chapter 4 Software Lifecycle and Performance Analysis Chapter 4 Software Lifecycle and Performance Analysis This chapter is aimed at illustrating performance modeling and analysis issues within the software lifecycle. After having introduced software and

More information

An Agile Formal Development Methodology

An Agile Formal Development Methodology An Agile Formal Development Methodology George Eleftherakis 1 and Anthony J. Cowling 2 1 Computer Science Department City Liberal Studies Affiliated College of the University of Sheffield 13 Tsimiski Str.,

More information

(Refer Slide Time: 01:52)

(Refer Slide Time: 01:52) Software Engineering Prof. N. L. Sarda Computer Science & Engineering Indian Institute of Technology, Bombay Lecture - 2 Introduction to Software Engineering Challenges, Process Models etc (Part 2) This

More information

Automatic Verification of UML-based System on Chip Design

Automatic Verification of UML-based System on Chip Design Automatic Verification of UML-based System on Chip Design Abstract In this paper we apply a fully automated flow to formally verify System on Chip (SoC) UML models. In the proposed approach, we verify

More information

Tool Support for Model Checking of Web application designs *

Tool Support for Model Checking of Web application designs * Tool Support for Model Checking of Web application designs * Marco Brambilla 1, Jordi Cabot 2 and Nathalie Moreno 3 1 Dipartimento di Elettronica e Informazione, Politecnico di Milano Piazza L. Da Vinci,

More information

UML-based Test Generation and Execution

UML-based Test Generation and Execution UML-based Test Generation and Execution Jean Hartmann, Marlon Vieira, Herb Foster, Axel Ruder Siemens Corporate Research, Inc. 755 College Road East Princeton NJ 08540, USA jeanhartmann@siemens.com ABSTRACT

More information

Component-based Development Process and Component Lifecycle Ivica Crnkovic 1, Stig Larsson 2, Michel Chaudron 3

Component-based Development Process and Component Lifecycle Ivica Crnkovic 1, Stig Larsson 2, Michel Chaudron 3 Component-based Development Process and Component Lifecycle Ivica Crnkovic 1, Stig Larsson 2, Michel Chaudron 3 1 Mälardalen University, Västerås, Sweden, ivica.crnkovic@mdh.se 2 ABB Corporate Research,

More information

Model Checking based Software Verification

Model Checking based Software Verification Model Checking based Software Verification 18.5-2006 Keijo Heljanko Keijo.Heljanko@tkk.fi Department of Computer Science and Engineering Helsinki University of Technology http://www.tcs.tkk.fi/~kepa/ 1/24

More information

Requirements engineering

Requirements engineering Learning Unit 2 Requirements engineering Contents Introduction............................................... 21 2.1 Important concepts........................................ 21 2.1.1 Stakeholders and

More information

Exploring Architectural Design Decision Management Paradigms for Global Software Development

Exploring Architectural Design Decision Management Paradigms for Global Software Development Exploring Architectural Design Decision Management Paradigms for Global Software Development Meiru Che, Dewayne E. Perry Department of Electrical & Computer Engineering The University of Texas at Austin

More information

SAP Cross-Connector Software Architecture

SAP Cross-Connector Software Architecture Course: Ingegneria del Software II academic year: 2004-2005 Course Web-site: [www.di.univaq.it/ingegneria2/] Lecture 5: The SXA Telecommunication System Software Architecture [TR 06/01] Lecturer: Henry

More information

Performance evaluation of Web Information Retrieval Systems and its application to e-business

Performance evaluation of Web Information Retrieval Systems and its application to e-business Performance evaluation of Web Information Retrieval Systems and its application to e-business Fidel Cacheda, Angel Viña Departament of Information and Comunications Technologies Facultad de Informática,

More information

Designing Real-Time and Embedded Systems with the COMET/UML method

Designing Real-Time and Embedded Systems with the COMET/UML method By Hassan Gomaa, Department of Information and Software Engineering, George Mason University. Designing Real-Time and Embedded Systems with the COMET/UML method Most object-oriented analysis and design

More information

An Approach to Software Architecture Description Using UML

An Approach to Software Architecture Description Using UML An Approach to Software Architecture Description Using UML Henrik Bærbak Christensen, Aino Corry, and Klaus Marius Hansen Department of Computer Science, University of Aarhus Aabogade 34, 8200 Århus N,

More information

Demonstration of an Automated Integrated Test Environment for Web-based Applications

Demonstration of an Automated Integrated Test Environment for Web-based Applications Demonstration of an Automated Integrated Test Environment for Web-based Applications Tiziana Margaria 1,2, Oliver Niese 2, and Bernhard Steffen 2 1 METAFrame Technologies GmbH, Dortmund, Germany TMargaria@METAFrame.de

More information

TOWARDS AN AUTOMATED EVALUATION PROCESS FOR SOFTWARE ARCHITECTURES

TOWARDS AN AUTOMATED EVALUATION PROCESS FOR SOFTWARE ARCHITECTURES TOWARDS AN AUTOMATED EVALUATION PROCESS FOR SOFTWARE ARCHITECTURES R. Bashroush, I. Spence, P. Kilpatrick, T.J. Brown Queen s University Belfast School of Computer Science 18 Malone Road, Belfast BT7 1NN,

More information

Software Engineering Reference Framework

Software Engineering Reference Framework Software Engineering Reference Framework Michel Chaudron, Jan Friso Groote, Kees van Hee, Kees Hemerik, Lou Somers, Tom Verhoeff. Department of Mathematics and Computer Science Eindhoven University of

More information

Classical Software Life Cycle Models

Classical Software Life Cycle Models Classical Software Life Cycle Models SWEN 301 Trimester 1, 2015 Lecturer: Dr Hui Ma Engineering and Computer Science Lecture slides make use of material provided on the textbook's companion website Motivation

More information

Introducing Performance Engineering by means of Tools and Practical Exercises

Introducing Performance Engineering by means of Tools and Practical Exercises Introducing Performance Engineering by means of Tools and Practical Exercises Alexander Ufimtsev, Trevor Parsons, Lucian M. Patcas, John Murphy and Liam Murphy Performance Engineering Laboratory, School

More information

An Integrated Collection of Tools for Continuously Improving the Processes by Which Health Care is Delivered: A Tool Report

An Integrated Collection of Tools for Continuously Improving the Processes by Which Health Care is Delivered: A Tool Report An Integrated Collection of Tools for Continuously Improving the Processes by Which Health Care is Delivered: A Tool Report Leon J. Osterweil, Lori A. Clarke, George S. Avrunin Department of Computer Science

More information

Model-Checking Verification for Reliable Web Service

Model-Checking Verification for Reliable Web Service Model-Checking Verification for Reliable Web Service Shin NAKAJIMA Hosei University and PRESTO, JST nkjm@i.hosei.ac.jp Abstract Model-checking is a promising technique for the verification and validation

More information

Kirsten Sinclair SyntheSys Systems Engineers

Kirsten Sinclair SyntheSys Systems Engineers Kirsten Sinclair SyntheSys Systems Engineers Kirsten Sinclair SyntheSys Systems Engineers Spicing-up IBM s Enterprise Architecture tools with Petri Nets On Today s Menu Appetiser: Background Starter: Use

More information

Using Patterns and Composite Propositions to Automate the Generation of Complex LTL

Using Patterns and Composite Propositions to Automate the Generation of Complex LTL University of Texas at El Paso DigitalCommons@UTEP Departmental Technical Reports (CS) Department of Computer Science 8-1-2007 Using Patterns and Composite Propositions to Automate the Generation of Complex

More information

Chap 1. Introduction to Software Architecture

Chap 1. Introduction to Software Architecture Chap 1. Introduction to Software Architecture 1. Introduction 2. IEEE Recommended Practice for Architecture Modeling 3. Architecture Description Language: the UML 4. The Rational Unified Process (RUP)

More information

Tool Support for Software Variability Management and Product Derivation in Software Product Lines

Tool Support for Software Variability Management and Product Derivation in Software Product Lines Tool Support for Software Variability Management and Product Derivation in Software s Hassan Gomaa 1, Michael E. Shin 2 1 Dept. of Information and Software Engineering, George Mason University, Fairfax,

More information

How To Predict Performance From A Network Model In Unminer (Uml)

How To Predict Performance From A Network Model In Unminer (Uml) Performance Evaluation of UML Software Architectures with Multiclass Queueing Network Models Simonetta Balsamo Moreno Marzolla Dipartimento di Informatica, Università Ca Foscari di Venezia via Torino 155

More information

Approaches to Improve System Dependability From Formal Verification to Model-Based Testing

Approaches to Improve System Dependability From Formal Verification to Model-Based Testing Approaches to Improve System Dependability From Formal Verification to Model-Based Testing Andreas Ulrich, Peter Amthor, Marlon Vieira Siemens AG, Corporate Technology, CT SE/SCR andreas.ulrich@siemens.com

More information

Monitoring and Diagnosis of Networked Medical Hardware and Software for the Integrated Operating Room

Monitoring and Diagnosis of Networked Medical Hardware and Software for the Integrated Operating Room Monitoring and Diagnosis of Networked Medical Hardware and Software for the Integrated Operating Room Stefan Bohn, Michael Lessnau, Oliver Burgert Innovation Center Computer Assisted Surgery (ICCAS), Medical

More information

Formal Verification by Model Checking

Formal Verification by Model Checking Formal Verification by Model Checking Natasha Sharygina Carnegie Mellon University Guest Lectures at the Analysis of Software Artifacts Class, Spring 2005 1 Outline Lecture 1: Overview of Model Checking

More information

An Integrated Quality Assurance Framework for Specifying Business Information Systems

An Integrated Quality Assurance Framework for Specifying Business Information Systems An Integrated Quality Assurance Framework for Specifying Business Information Systems Frank Salger 1, Stefan Sauer 2, Gregor Engels 1,2 1 Capgemini sd&m AG, Carl-Wery-Str. 42, D-81739 München, Germany

More information

SERENITY Pattern-based Software Development Life-Cycle

SERENITY Pattern-based Software Development Life-Cycle SERENITY Pattern-based Software Development Life-Cycle Francisco Sanchez-Cid, Antonio Maña Computer Science Department University of Malaga. Spain {cid, amg}@lcc.uma.es Abstract Most of current methodologies

More information

Model-based Simulation of Web Applications for Usability Assessment

Model-based Simulation of Web Applications for Usability Assessment Model-based Simulation of Web Applications for Usability Assessment Robert Chatley, Jeff Kramer, Jeff Magee, Sebastian Uchitel Dept of Computing, Imperial College London {rbc,jk,jnm,su2}@doc.ic.ac.uk Abstract

More information

A Software process engineering course

A Software process engineering course Rochester Institute of Technology RIT Scholar Works Presentations and other scholarship 2009 A Software process engineering course J. Scott Hawker Follow this and additional works at: http://scholarworks.rit.edu/other

More information

Access Control Based on Dynamic Monitoring for Detecting Software Malicious Behaviours

Access Control Based on Dynamic Monitoring for Detecting Software Malicious Behaviours Access Control Based on Dynamic Monitoring for Detecting Software Malicious Behaviours K. Adi, L. Sullivan & A. El Kabbal Computer Security Research Laboratory http://w3.uqo.ca/lrsi NCAC'05 1 Motivation

More information

Representing the CRUTIAL project domain by means of UML diagrams

Representing the CRUTIAL project domain by means of UML diagrams Representing the CRUTIAL project domain by means of UML diagrams Davide Cerotti 1, Daniele Codetta-Raiteri 2, Susanna Donatelli 3, C. Brasca 4, Giovanna Dondossola 4, Fabrizio Garrone 4 1 Dipartimento

More information

Open EMS Suite. O&M Agent. Functional Overview Version 1.2. Nokia Siemens Networks 1 (18)

Open EMS Suite. O&M Agent. Functional Overview Version 1.2. Nokia Siemens Networks 1 (18) Open EMS Suite O&M Agent Functional Overview Version 1.2 Nokia Siemens Networks 1 (18) O&M Agent The information in this document is subject to change without notice and describes only the product defined

More information

Execution of A Requirement Model in Software Development

Execution of A Requirement Model in Software Development Execution of A Requirement Model in Software Development Wuwei Shen, Mohsen Guizani and Zijiang Yang Dept of Computer Science, Western Michigan University {wwshen,mguizani,zijiang}@cs.wmich.edu Kevin Compton

More information

IV. Software Lifecycles

IV. Software Lifecycles IV. Software Lifecycles Software processes and lifecycles Relative costs of lifecycle phases Examples of lifecycles and processes Process maturity scale Information system development lifecycle Lifecycle

More information

Business Modeling with UML

Business Modeling with UML Business Modeling with UML Hans-Erik Eriksson and Magnus Penker, Open Training Hans-Erik In order to keep up and be competitive, all companies Ericsson is and enterprises must assess the quality of their

More information

Integrating Performance Characterization with Software Development

Integrating Performance Characterization with Software Development International Journal of Basic & Applied Sciences IJBAS-IJENS Vol: 11 No: 02 7 Integrating Performance Characterization with Software Development Abstract- The importance of integrating performance considerations

More information

Development models. 1 Introduction. 2 Analyzing development models. R. Kuiper and E.J. Luit

Development models. 1 Introduction. 2 Analyzing development models. R. Kuiper and E.J. Luit Development models R. Kuiper and E.J. Luit 1 Introduction We reconsider the classical development models: the Waterfall Model [Bo76], the V-Model [Ro86], the Spiral Model [Bo88], together with the further

More information

Today s Agenda. Automata and Logic. Quiz 4 Temporal Logic. Introduction Buchi Automata Linear Time Logic Summary

Today s Agenda. Automata and Logic. Quiz 4 Temporal Logic. Introduction Buchi Automata Linear Time Logic Summary Today s Agenda Quiz 4 Temporal Logic Formal Methods in Software Engineering 1 Automata and Logic Introduction Buchi Automata Linear Time Logic Summary Formal Methods in Software Engineering 2 1 Buchi Automata

More information

An Approach for Generating Concrete Test Cases Utilizing Formal Specifications of Web Applications

An Approach for Generating Concrete Test Cases Utilizing Formal Specifications of Web Applications An Approach for Generating Concrete Test Cases Utilizing Formal Specifications of Web Applications Khusbu Bubna RC Junit concrete test cases suitable for execution on the implementation. The remainder

More information

Meta-Model specification V2 D602.012

Meta-Model specification V2 D602.012 PROPRIETARY RIGHTS STATEMENT THIS DOCUMENT CONTAINS INFORMATION, WHICH IS PROPRIETARY TO THE CRYSTAL CONSORTIUM. NEITHER THIS DOCUMENT NOR THE INFORMATION CONTAINED HEREIN SHALL BE USED, DUPLICATED OR

More information

How To Design An Information System

How To Design An Information System Information system for production and mounting of plastic windows MARCEL, MELIŠ Slovak University of Technology - Faculty of Material Sciences and Technology in Trnava, Paulínska 16 street, Trnava, 917

More information

Overview Motivating Examples Interleaving Model Semantics of Correctness Testing, Debugging, and Verification

Overview Motivating Examples Interleaving Model Semantics of Correctness Testing, Debugging, and Verification Introduction Overview Motivating Examples Interleaving Model Semantics of Correctness Testing, Debugging, and Verification Advanced Topics in Software Engineering 1 Concurrent Programs Characterized by

More information

A Logic Approach for LTL System Modification

A Logic Approach for LTL System Modification A Logic Approach for LTL System Modification Yulin Ding and Yan Zhang School of Computing & Information Technology University of Western Sydney Kingswood, N.S.W. 1797, Australia email: {yding,yan}@cit.uws.edu.au

More information

ChattaBox: A Case Study in Using UML and SDL for Engineering Concurrent Communicating Software Systems

ChattaBox: A Case Study in Using UML and SDL for Engineering Concurrent Communicating Software Systems ChattaBox: A Case Study in Using UML and SDL for Engineering Concurrent Communicating Software Systems P S Kritzinger, M Chetty, J Landman, M Marconi and O Ryndina Data Network Architecture Laboratory

More information

A Model-driven Approach to Predictive Non Functional Analysis of Component-based Systems

A Model-driven Approach to Predictive Non Functional Analysis of Component-based Systems A Model-driven Approach to Predictive Non Functional Analysis of Component-based Systems Vincenzo Grassi Università di Roma Tor Vergata, Italy Raffaela Mirandola {vgrassi, mirandola}@info.uniroma2.it Abstract.

More information

Software Modeling and Verification

Software Modeling and Verification Software Modeling and Verification Alessandro Aldini DiSBeF - Sezione STI University of Urbino Carlo Bo Italy 3-4 February 2015 Algorithmic verification Correctness problem Is the software/hardware system

More information

OVERVIEW OF THE PROJECT...

OVERVIEW OF THE PROJECT... SYSTEMS ENGINEERING DESIGN PROJECT ENPM 643, Fall 2006 Instructor Authors ENPM643 Dr. M Austin Atul Mehta & Felipe Leite Fall 2006 TABLE OF CONTENTS Section Page 1 OVERVIEW OF THE PROJECT... 3 1.1 PURPOSE...

More information

Round-Trip Software Engineering Using UML: From Architecture to Design and Back

Round-Trip Software Engineering Using UML: From Architecture to Design and Back Round-Trip Software Engineering Using UML: From Architecture to Design and Back Nenad Medvidovic Alexander Egyed David S. Rosenblum Computer Science Department University of Southern California Los Angeles,

More information

TECH. Requirements. Why are requirements important? The Requirements Process REQUIREMENTS ELICITATION AND ANALYSIS. Requirements vs.

TECH. Requirements. Why are requirements important? The Requirements Process REQUIREMENTS ELICITATION AND ANALYSIS. Requirements vs. CH04 Capturing the Requirements Understanding what the customers and users expect the system to do * The Requirements Process * Types of Requirements * Characteristics of Requirements * How to Express

More information

How To Develop Software

How To Develop Software Software Engineering Prof. N.L. Sarda Computer Science & Engineering Indian Institute of Technology, Bombay Lecture-4 Overview of Phases (Part - II) We studied the problem definition phase, with which

More information

Web Application Development Processes: Requirements, Demands and Challenges

Web Application Development Processes: Requirements, Demands and Challenges Web Application Development Processes: Requirements, Demands and Challenges THAMER AL-ROUSAN 1, BASEM HADIDI 2, SHADI ALJAWARNEH 3 1, 3 Faculty of Science and Information Technology, Isra University, Amman,

More information

Distributed Database for Environmental Data Integration

Distributed Database for Environmental Data Integration Distributed Database for Environmental Data Integration A. Amato', V. Di Lecce2, and V. Piuri 3 II Engineering Faculty of Politecnico di Bari - Italy 2 DIASS, Politecnico di Bari, Italy 3Dept Information

More information

Modular Communication Infrastructure Design with Quality of Service

Modular Communication Infrastructure Design with Quality of Service Modular Communication Infrastructure Design with Quality of Service Pawel Wojciechowski and Péter Urbán Distributed Systems Laboratory School of Computer and Communication Sciences Swiss Federal Institute

More information

Model Driven Testing AGEDIS Architecture Interfaces and Tools

Model Driven Testing AGEDIS Architecture Interfaces and Tools Model Driven Testing AGEDIS Architecture Interfaces and Tools Alan Hartman Kenneth Nagin IBM Haifa Research Laboratory Haifa University Campus Haifa 31905 ISRAEL {hartman, nagin}@il.ibm.com Page 1 of 11

More information

ONTOLOGY FOR MOBILE PHONE OPERATING SYSTEMS

ONTOLOGY FOR MOBILE PHONE OPERATING SYSTEMS ONTOLOGY FOR MOBILE PHONE OPERATING SYSTEMS Hasni Neji and Ridha Bouallegue Innov COM Lab, Higher School of Communications of Tunis, Sup Com University of Carthage, Tunis, Tunisia. Email: hasni.neji63@laposte.net;

More information

A Contribution to Expert Decision-based Virtual Product Development

A Contribution to Expert Decision-based Virtual Product Development A Contribution to Expert Decision-based Virtual Product Development László Horváth, Imre J. Rudas Institute of Intelligent Engineering Systems, John von Neumann Faculty of Informatics, Óbuda University,

More information

RUP. Development Process. Iterative Process (spiral) Waterfall Development Process. Agile Development Process. Well-known development processes

RUP. Development Process. Iterative Process (spiral) Waterfall Development Process. Agile Development Process. Well-known development processes Well-known development processes Development Process RUP (Rational Unified Process) (Capability Maturity Model Integration) Agile / XP (extreme Programming) Waterfall Development Process Iterative Process

More information

Specification and Analysis of Contracts Lecture 1 Introduction

Specification and Analysis of Contracts Lecture 1 Introduction Specification and Analysis of Contracts Lecture 1 Introduction Gerardo Schneider gerardo@ifi.uio.no http://folk.uio.no/gerardo/ Department of Informatics, University of Oslo SEFM School, Oct. 27 - Nov.

More information

Stylianos Basagiannis

Stylianos Basagiannis Interlocking control by Distributed Signal Boxes Technical Report (TR) 4 Stylianos Basagiannis Supervisors: Dr Andrew Pombortsis, Dr Panagiotis Katsaros Aristotle University of Thessaloniki Department

More information

CHAPTER 1 INTRODUCTION

CHAPTER 1 INTRODUCTION 1 CHAPTER 1 INTRODUCTION Exploration is a process of discovery. In the database exploration process, an analyst executes a sequence of transformations over a collection of data structures to discover useful

More information

CTI Higher Certificate in Information Systems (Engineering)

CTI Higher Certificate in Information Systems (Engineering) CTI Higher Certificate in Information Systems (Engineering) Module Descriptions 2015 CTI is part of Pearson, the world s leading learning company. Pearson is the corporate owner, not a registered provider

More information

From Object Oriented Conceptual Modeling to Automated Programming in Java

From Object Oriented Conceptual Modeling to Automated Programming in Java From Object Oriented Conceptual Modeling to Automated Programming in Java Oscar Pastor, Vicente Pelechano, Emilio Insfrán, Jaime Gómez Department of Information Systems and Computation Valencia University

More information

Software testing. Objectives

Software testing. Objectives Software testing cmsc435-1 Objectives To discuss the distinctions between validation testing and defect testing To describe the principles of system and component testing To describe strategies for generating

More information

The Model Checker SPIN

The Model Checker SPIN The Model Checker SPIN Author: Gerard J. Holzmann Presented By: Maulik Patel Outline Introduction Structure Foundation Algorithms Memory management Example/Demo SPIN-Introduction Introduction SPIN (Simple(

More information

Questions? Assignment. Techniques for Gathering Requirements. Gathering and Analysing Requirements

Questions? Assignment. Techniques for Gathering Requirements. Gathering and Analysing Requirements Questions? Assignment Why is proper project management important? What is goal of domain analysis? What is the difference between functional and non- functional requirements? Why is it important for requirements

More information

Graph-Grammar Based Completion and Transformation of SDL/UML-Diagrams

Graph-Grammar Based Completion and Transformation of SDL/UML-Diagrams Graph-Grammar Based Completion and Transformation of SDL/UML-Diagrams Position Paper Ulrich A. Nickel, Robert Wagner University of Paderborn Warburger Straße 100 D-33098 Paderborn Germany [duke, wag25]@uni-paderborn.de

More information

Generating Aspect Code from UML Models

Generating Aspect Code from UML Models Generating Aspect Code from UML Models Iris Groher Siemens AG, CT SE 2 Otto-Hahn-Ring 6 81739 Munich, Germany Iris.Groher@fh-hagenberg.at Stefan Schulze Siemens AG, CT SE 2 Otto-Hahn-Ring 6 81739 Munich,

More information

A UML 2 Profile for Business Process Modelling *

A UML 2 Profile for Business Process Modelling * A UML 2 Profile for Business Process Modelling * Beate List and Birgit Korherr Women s Postgraduate College for Internet Technologies Institute of Software Technology and Interactive Systems Vienna University

More information

Methodology of performance evaluation of integrated service systems with timeout control scheme

Methodology of performance evaluation of integrated service systems with timeout control scheme Methodology of performance evaluation of integrated service systems with timeout control scheme Akira Kawaguchi and Hiroshi Yamada NTT Service Integration Laboratories, NTT Corporation 9-11, Midori-cho

More information

Model Checking II Temporal Logic Model Checking

Model Checking II Temporal Logic Model Checking 1/32 Model Checking II Temporal Logic Model Checking Edmund M Clarke, Jr School of Computer Science Carnegie Mellon University Pittsburgh, PA 15213 2/32 Temporal Logic Model Checking Specification Language:

More information

Automated Test Approach for Web Based Software

Automated Test Approach for Web Based Software Automated Test Approach for Web Based Software Indrajit Pan 1, Subhamita Mukherjee 2 1 Dept. of Information Technology, RCCIIT, Kolkata 700 015, W.B., India 2 Dept. of Information Technology, Techno India,

More information

An Automatic Tool for Checking Consistency between Data Flow Diagrams (DFDs)

An Automatic Tool for Checking Consistency between Data Flow Diagrams (DFDs) An Automatic Tool for Checking Consistency between Data Flow Diagrams (DFDs) Rosziati Ibrahim, Siow Yen Yen Abstract System development life cycle (SDLC) is a process uses during the development of any

More information

Applying 4+1 View Architecture with UML 2. White Paper

Applying 4+1 View Architecture with UML 2. White Paper Applying 4+1 View Architecture with UML 2 White Paper Copyright 2007 FCGSS, all rights reserved. www.fcgss.com Introduction Unified Modeling Language (UML) has been available since 1997, and UML 2 was

More information

From Workflow Design Patterns to Logical Specifications

From Workflow Design Patterns to Logical Specifications AUTOMATYKA/ AUTOMATICS 2013 Vol. 17 No. 1 http://dx.doi.org/10.7494/automat.2013.17.1.59 Rados³aw Klimek* From Workflow Design Patterns to Logical Specifications 1. Introduction Formal methods in software

More information

A Configuration Management Model for Software Product Line

A Configuration Management Model for Software Product Line A Configuration Management Model for Software Product Line Liguo Yu 1 and Srini Ramaswamy 2 1 Computer Science and Informatics Indiana University South Bend South Bend, IN 46634, USA ligyu@iusb.edu 2 Computer

More information

A STUDY OF THE BEHAVIOUR OF THE MOBILE AGENT IN THE NETWORK MANAGEMENT SYSTEMS

A STUDY OF THE BEHAVIOUR OF THE MOBILE AGENT IN THE NETWORK MANAGEMENT SYSTEMS A STUDY OF THE BEHAVIOUR OF THE MOBILE AGENT IN THE NETWORK MANAGEMENT SYSTEMS Tarag Fahad, Sufian Yousef & Caroline Strange School of Design and Communication Systems, Anglia Polytechnic University Victoria

More information

Overview Component-based Software Engineering State of the Art Report

Overview Component-based Software Engineering State of the Art Report Overview Component-based Software Engineering State of the Art Report Ivica Crnkovic 1, Magnus Larsson 2 1 Mälardalen University, Department of Computer Engineering, 721 23 Västerås, Sweden, Ivica.Crnkovic@mdh.se

More information

MANAGING NETWORK COMPONENTS USING SNMP

MANAGING NETWORK COMPONENTS USING SNMP MANAGING NETWORK COMPONENTS USING SNMP Abubucker Samsudeen Shaffi 1 Mohanned Al-Obaidy 2 Gulf College 1, 2 Sultanate of Oman. Email: abobacker.shaffi@gulfcollegeoman.com mohaned@gulfcollegeoman.com Abstract:

More information

Using MDA in Web Software Architectures

Using MDA in Web Software Architectures Using MDA in Web Software Architectures SANTIAGO MELIA, CRISTINA CACHERO AND JAIME GOMEZ 1 Universidad de Alicante, Spain The new challenges posed by the Internet market have increased the need for Web

More information

Load Balancing MPI Algorithm for High Throughput Applications

Load Balancing MPI Algorithm for High Throughput Applications Load Balancing MPI Algorithm for High Throughput Applications Igor Grudenić, Stjepan Groš, Nikola Bogunović Faculty of Electrical Engineering and, University of Zagreb Unska 3, 10000 Zagreb, Croatia {igor.grudenic,

More information

Information systems modelling UML and service description languages

Information systems modelling UML and service description languages Internet Engineering Tomasz Babczyński, Zofia Kruczkiewicz Tomasz Kubik Information systems modelling UML and service description languages Student Contact Hours: 25.02.2015- Location: 325 C3 room 25.03.2015:

More information

Agile Software Engineering Practice to Improve Project Success

Agile Software Engineering Practice to Improve Project Success Agile Software Engineering Practice to Improve Project Success Dietmar Winkler Vienna University of Technology Institute of Software Technology and Interactive Systems dietmar.winkler@qse.ifs.tuwien.ac.at

More information

Formal Verification Problems in a Bigdata World: Towards a Mighty Synergy

Formal Verification Problems in a Bigdata World: Towards a Mighty Synergy Dept. of Computer Science Formal Verification Problems in a Bigdata World: Towards a Mighty Synergy Matteo Camilli matteo.camilli@unimi.it http://camilli.di.unimi.it ICSE 2014 Hyderabad, India June 3,

More information

An Aspect-Oriented Product Line Framework to Support the Development of Software Product Lines of Web Applications

An Aspect-Oriented Product Line Framework to Support the Development of Software Product Lines of Web Applications An Aspect-Oriented Product Line Framework to Support the Development of Software Product Lines of Web Applications Germán Harvey Alférez Salinas Department of Computer Information Systems, Mission College,

More information

VDM vs. Programming Language Extensions or their Integration

VDM vs. Programming Language Extensions or their Integration VDM vs. Programming Language Extensions or their Integration Alexander A. Koptelov and Alexander K. Petrenko Institute for System Programming of Russian Academy of Sciences (ISPRAS), B. Communisticheskaya,

More information

International Journal of Software Engineering and Knowledge Engineering Vol. 11, No. 3 (2001) 231-258 World Scientific Publishing Company

International Journal of Software Engineering and Knowledge Engineering Vol. 11, No. 3 (2001) 231-258 World Scientific Publishing Company International Journal of Software Engineering and Knowledge Engineering Vol. 11, No. 3 (2001) 231-258 World Scientific Publishing Company MULTIAGENT SYSTEMS ENGINEERING SCOTT A. DELOACH, MARK F. WOOD AND

More information

Architecture Centric Development in Software Product Lines

Architecture Centric Development in Software Product Lines Architecture Centric Development in Software Product Lines Aurangzeb Khan DCE, College of E & ME National University of Science and Technology (NUST), Pakistan Farooque Azam DCE, College of E & ME National

More information

A Classification of Model Checking-Based Verification Approaches for Software Models

A Classification of Model Checking-Based Verification Approaches for Software Models Volt Second Workshop on Verification Of Model Transformations, 2013, A Classification of Model Checking-Based Verification Approaches for Software Models Sebastian Gabmeyer a Petra Brosch a Martina Seidl

More information

THE DEVELOPMENT OF A WEB BASED MULTIMEDIA INFORMATION SYSTEM FOR BUILDING APPRAISAL

THE DEVELOPMENT OF A WEB BASED MULTIMEDIA INFORMATION SYSTEM FOR BUILDING APPRAISAL THE DEVELOPMENT OF A WEB BASED MULTIMEDIA INFORMATION SYSTEM FOR BUILDING APPRAISAL Dominic O' Sullivan Department of Civil & Environmental Engineering National University of Ireland, Cork. Dr. Marcus

More information

Formal Verification and Linear-time Model Checking

Formal Verification and Linear-time Model Checking Formal Verification and Linear-time Model Checking Paul Jackson University of Edinburgh Automated Reasoning 21st and 24th October 2013 Why Automated Reasoning? Intellectually stimulating and challenging

More information

Structural Detection of Deadlocks in Business Process Models

Structural Detection of Deadlocks in Business Process Models Structural Detection of Deadlocks in Business Process Models Ahmed Awad and Frank Puhlmann Business Process Technology Group Hasso Plattner Institut University of Potsdam, Germany (ahmed.awad,frank.puhlmann)@hpi.uni-potsdam.de

More information

Facilitating Mobile Service Provisioning in IP Multimedia Subsystem (IMS) Using Service Oriented Architecture

Facilitating Mobile Service Provisioning in IP Multimedia Subsystem (IMS) Using Service Oriented Architecture Facilitating Mobile Service Provisioning in IP Multimedia Subsystem (IMS) Using Service Oriented Architecture Igor Radovanović 1,AmitRay 2, Johan Lukkien 1, and Michel Chaudron 1 1 Technische Universiteit

More information

Quality Management. Lecture 12 Software quality management

Quality Management. Lecture 12 Software quality management Quality Management Lecture 12 Software quality management doc.dr.sc. Marko Jurčević prof.dr.sc. Roman Malarić University of Zagreb Faculty of Electrical Engineering and Computing Department of Fundamentals

More information

PROCESS-DRIVEN SOFTWARE DEVELOPMENT METHODOLOGY FOR ENTERPRISE INFORMATION SYSTEM

PROCESS-DRIVEN SOFTWARE DEVELOPMENT METHODOLOGY FOR ENTERPRISE INFORMATION SYSTEM PROCESS-DRIVEN SOFTWARE DEVELOPMENT METHODOLOGY FOR ENTERPRISE INFORMATION SYSTEM Kwan Hee Han 1 and Yongsun Choi 2 1 Department of Industrial & Systems Engineering, Engineering Research Institute, Gyeongsang

More information

WebSphere Business Modeler

WebSphere Business Modeler Discovering the Value of SOA WebSphere Process Integration WebSphere Business Modeler Workshop SOA on your terms and our expertise Soudabeh Javadi Consulting Technical Sales Support WebSphere Process Integration

More information

Model Checking: An Introduction

Model Checking: An Introduction Announcements Model Checking: An Introduction Meeting 2 Office hours M 1:30pm-2:30pm W 5:30pm-6:30pm (after class) and by appointment ECOT 621 Moodle problems? Fundamentals of Programming Languages CSCI

More information