UML-Compiler: A Framework for Syntactic and Semantic Verification of UML Diagrams

Size: px
Start display at page:

Download "UML-Compiler: A Framework for Syntactic and Semantic Verification of UML Diagrams"

Transcription

1 UML-Compiler: A Framework for Syntactic and Semantic Verification of UML Diagrams Jayeeta Chanda, Ananya Kanjilal, and Sabnam Sengupta B.P. Poddar Institute of Management & Technology Kolkata -52, India jayeeta.chanda@gmail.com, ag_k@rediffmail.com, sabnam_sg@yahoo.com Abstract. UML being semi formal in nature, it lacks formal syntax and hence automated verification of design specifications cannot be done. To address this we propose a UML Compiler that takes context free grammars for UML diagrams and verifies the syntactic correctness of the individual diagrams and semantic correctness in terms of consistency verification with other diagrams. This UML-Compiler is a part of a framework, which consists of two modules. First module converts XMI format of UML diagrams, as generated by any standard tool into string format and second module (UML-Compiler) is for verification of the diagrams. This paper focuses on the second module and proposes a formal context free grammar for the two of the commonly used UML diagrams - Class diagram (depicting the static design) and sequence diagram (depicting behavioral design) and validated by using Lex and YACC. Keywords: UML Formalization, Context Free Grammar, Parse Tree, Formal Verification of UML. 1 Introduction UML is a widely accepted industry standard for modeling analysis and design specifications of object-oriented systems. But, UML lacks the rigor of formal modeling languages and hence verification of a design specified in UML becomes difficult. Formalization of UML diagrams is now a dominant area of research. This paper is also a work in that direction. We propose a framework for automatic transformation of the UML diagram from its graphical form into a string that conforms to the grammar we have defined in section 4 of this paper and a compiler for the string form of the diagrams. For compiling the string form of the diagrams we propose a grammar and implement it in Lex/YACC for syntax verification. The production rules, terminals, non-terminals are chosen and proposed such that it adheres to the notations of UML 2.0 standard. We have also proposed a set of verification criteria that comprises of syntactic correctness rules and consistency rules. The consistency rules have been proposed by analyzing the interrelationships among the diagrams so that they together represent a coherent design. Existing UML editors or the standard drawing tools do enforce syntactic correctness to some extent, but much needs to be done regarding semantic T. Janowski and H. Mohanty (Eds.): ICDCIT 2010, LNCS 5966, pp , Springer-Verlag Berlin Heidelberg 2010

2 UML-Compiler: A Framework for Syntactic and Semantic Verification 195 verification. Our proposed framework is a step towards that direction. The consistency rules will help in verifying semantic correctness of the design as they correlate the design models, which is not explicit in the UML standard. Verification of all the rules has been presented based on the proposed grammar. We derive the parse tree representation of the class and sequence diagrams, which is an alternate form of the same grammar and these different formal representations are deliberately used to bring completeness in our formal model. 2 Review of Related Work Formalization of UML has become a prominent domain of research for the last few years. Achievement of automated consistency checking and execution has led the software engineers and researchers to focus in this domain. Our work, too, proposes formalization of UML class and sequence diagrams based on a proposed grammar. In this section we will discuss a few works done in this domain related to formalization of UML static and dynamic models. In [1], UML class diagram is formalized in terms of a logic belonging to Description Logics, which are subsets of First-Order Logic to make it possible to provide computer aided support during the application design phase for automatic detection of relevant properties, such as inconsistencies and redundancies,. An algebraic approach is chosen in [2] because it is more abstract than state-based style languages. The transformation rules for formalizing UML statet diagrams have been proposed in [3]. The target language for the transformation is Concurrent Regular Expressions (CREs), which are extensions of regular expression. RSL (RAISE (Rigorous Approach to Industrial Software) Specification Language) has been used in [4] as a syntactic and semantic reference for UML. An automated tool that implements the translation and the abstract syntax in RSL for the RSLtranslatable class diagrams are also presented. The integration of the domain modeling method for analyzing and modeling families of software systems with the SOFL formal specification language is discussed in [5]. A UML 1.5 profile named TURTLE (Timed UML and RT-LOTOS Environment) is proposed in [9], which is endowed with a formal semantics given in terms of RT- LOTOS. An approach to formally define UML class diagrams using hierarchical predicate transition nets (HPrTNs) have been presented in [6] and preliminary results are presented. The authors show how to define the main concepts related to class diagrams using HPrTN elements. The semantics presented in [7] captures the consistency between sequence diagram with class diagram and state diagram. In [12], Hoare's CSP (communicating sequential processes) has been used to formalize the behaviors of UML Activity Diagrams. In [10], π-calculus has been applied to formalize UML activity diagrams to get rich process semantics for activity diagrams. This process model can be automatically verified with the help of π-calculus analytical tools. Hoare's CSP (communicating sequential processes) has been used in [13] to formalize the behaviors of UML activity diagrams and provides an approach to enable model checking during software analysis or design phase. UML's class diagram and OCL constraints is formalized in [14] using theorem prover Isabelle using one of its built-in logics, HOL.

3 196 J. Chanda, A. Kanjilal, and S. Sengupta The operational semantics of UML sequence diagrams is specified and this specification is extended to include features for modeling multimedia applications as a case study in [8]. Dynamic Meta modeling has been proposed for specifying operational semantics of UML behavioral diagrams based on UML collaboration diagrams that are interpreted as graph transformation rules. The authors in [11] have defined a template to formalize the structured control constructs of sequence diagram, introduced in UML 2.0. Z specifications has been proposed in [13] to reduce risks associated with software development and increase safety and reliability by formalizing the syntax of (a sub-set of the popular UML diagrams (Use Case diagram, Class diagram, and State Machine diagram). Our earlier work [15] also used Z to propose a formal model for six UML diagrams. However Z is a non-executable language and hence automated verification is not possible unless translated or mapped to executable models like XML using ZML. In all these research works, UML diagrams have been formalized using other formal languages. In this paper, we define a context free grammar of the very widely used UML diagrams, Class and Sequence diagram. The CFG is executable unlike Z notation and validation of the grammar is done using LEX and YACC, which are open source software. 3 Scope of Work In this paper we propose a framework for automatic transformation of UML diagrams into a string and then compilation of that string for syntactic correctness and interdiagram consistency verification, which is a kind of semantic verification. The framework is divided into following two modules (as shown in Fig 1) 1) XMI to String Converter: This module will convert the XMI form of the UML diagrams into a string that will follow the context free grammar proposed by us in section 4 of this paper. 2) UML Compiler: This module will check the syntactic correctness of diagrams and verification of consistency among the diagrams. In this paper we have defined and implemented the second module i.e. the UML compiler. Here we have proposed the formalization technique using context free grammar for Class and Sequence diagrams the two most commonly used UML models capturing the static and dynamic aspects of an object-oriented system. Based on the grammar and UML 2.0 standard, we have defined several rules to highlight syntactic correctness of the diagrams and inter-diagram consistency based on the common elements present. We have used Lex and YACC to validate the grammar. UML Diagram UML Tools XMI format XMI to String Converter String Format UML Compiler Verified UML Fig. 1. The Framework for Graphical UML compiler

4 UML-Compiler: A Framework for Syntactic and Semantic Verification Formal Model Use cases are realized through Sequence diagrams, which are a set of messages each having a number ordered with respect to time. Each message is sent between either two Actors or two Objects or an actor and an object. The messages may be text strings or methods of classes. Each sequence diagram corresponds to one use case. A Class diagram is defined as a set of both zero or more relationships and one or more classes. We will be considering only two of the commonly used UML diagrams for formalization Class diagram that depicts the static acteristics and Sequence diagram that depicts the behavioral acteristics. The formal grammar has been defined for each of the diagrams followed by the parse tree representation. We have used regular expression features (eg. +, *) in the production rules for simplicity and easy understanding. However, for Lex/YACC implementation, we have used a recursive definition of the grammar. 4.1 Grammar for Class Diagram Let the grammar (S, N, T, P) where S, N, T, P represent start symbol, non terminals, terminals and production rules T= {, void, integer, long, short, date, String, class,double,digit, +, -, #, association, generalization, aggregation, (, ),.., :} All other symbols used in the production rule P are non-terminals (N). P: S class_diagram class_diagram classes + relation* classes cname attribute* method_class* cname attribute access_specifier data_type attribute_name data_type attribute_name access_specifier + _ # data_type void integer long short date String class double attribute_name method_class access_specifier data_type method_name ( parameter_list) parameter_list parameter* parameter data_type parameter_name parameter_name relation cname multiplicity* cname relationship relationship identifier description type identifier type type aggregation association generalization identifier description multiplicity digit.. digit [a-z A-Z][a-z A-Z 0-9]+ digit [0-9 *]

5 198 J. Chanda, A. Kanjilal, and S. Sengupta 4.2 Grammar for Sequence Diagram P: S sequence_diagram sequence_diagram lifeline+ lifeline object_name focus_of_control + object_name message+ focus_of_control focus_id message+ message time_order message_description source destination time_order digit + focus_id message_description method_sequence source actor_from object_from destination actor_to object_to (actor_from and object_from is destination actor & destination object) actor_to actor_from object_to object_name object_from object_name object_name : classname classname (classname is name of the class and object_name is name of the object) method_sequence ( ) [a-z A-Z 0-9]+ digit [0 9] 4.3 Notations Used in the above Grammar and Their Meanings The notations used in this paper and their meanings are given in Table 1. Table 1. Notations and their Meanings Sl. No. Notation Meaning Sl. No. Notation Meaning 1. class_diagram Class diagram 12. access_specifier Access Specifier for attributes 2. classes Classes defined in class diagram 13. data_type Data type 3. relation Relation between classes 14. attribute_name Name of attribute 4. cname Name of class in Class diagram 15. method_name Name of Method 5. attribute Attribute of a class 16. parameter_list List of parameters for a method 6. method_class Method defined in class diagram 17. parameter_name Name of parameter 7 life_line Object Life line in Method defined in 18. method_sequence sequence diagram sequence diagram 8 object_name Name of object 19. actor_to Source actor 9. focus_of_control Focus of control of a message 20. object_to Source object 10. message Message of sequence diagram 21. time_order Time order 11. message_description Description of the classname and Name of class and 22. message objectname object

6 UML-Compiler: A Framework for Syntactic and Semantic Verification 199 The parse tree representation of the above grammar for class diagram is shown in Fig 2. The same is generated in figure 3 for the grammar (in section 4.2) defined for sequence diagram class_ diagram classes.. relation.. name attribute.. method_class.. access_ specifier Name - or + or # terminal : data_ type access_ specifier method_ name + void or integer. parameter_ list ( parameter.. parameter_ name : memid ) cname multiplicity cname relationship data_ type n..n void or integer. 1 identifier description type association or... Fig. 2. Parse Tree for the proposed grammar of class diagram sequence_diagram lifeline.. object_ name focus_ of_control : focus_ ID message digit+ tim e_ order message_ descrip.. source actor_ from destination object_ to object_ name : Fig. 3. Parse tree for the proposed grammar of sequence diagram

7 200 J. Chanda, A. Kanjilal, and S. Sengupta 5 Defining Verification Criteria 5.1 Correctness Rules The syntactical rules for a Class Diagram to be a correct one are: 1. A class diagram must have at least one class. 2. A class diagram may or may not have a relationship (association, generalization, aggregation etc.) between two classes. 3. A class must have one and only one name. 4. A class may or may not have one or many attributes and methods. 5. A relation may or may not have multiplicity but it should have relationship. 6. A relationship should have unique id and type and it may or may not have description. The syntactical rules for a Sequence Diagram to be a correct one are: 1. A sequence diagram must have at least one lifeline and henceforth at least one message. 2. A message must have one and only one time order. 3. A message must be composed of either one of the following combinations: Two objects One object and one actor Two actors i.e. Objects in Sequence diagram belong to specific Classes 4. Objects in the sequence diagram have one and only one lifeline. 5. Objects have one or many focus of control. 6. Multiple messages may belong to same focus of control. 7. A message may or may not have one and only one method (0 or 1 method) Additional syntactic rules for correct Sequence Diagram 1. A message may have one object (when method of that object itself is invoked) but this message cannot be the only message of the sequence diagram. In other words, if there is more than one message, a particular message may have one object. if msg i ={ tm_o, m, ob_fr, ob_to} then (ob_fr = ob_to) iff ( i>1) where msg message, m method_sequence,ob_to object_to, ob_fr object_from and tm_o time_order 2. The object name of the life line in which a message belongs should either be the source or the destination of the message

8 UML-Compiler: A Framework for Syntactic and Semantic Verification 201 message, if ob_nm object_name then either ob_nm=ob_to or ob_nm=ob_fr where ob_fr object_from ob_to object_to then either ob_nm=ob_to or ob_nm=ob_fr 5.2 Consistency Rules The class and sequence diagrams though represent different views of the system they are related. The sequence diagram uses the operations defined in classes. This is cross- checked for ensuring consistency between the two diagrams Necessary conditions - The following two rules have been proposed which are necessary conditions for ensuring consistency within class and sequence diagram. Rule 1: Each unique method of messages in Sequence diagram should be present as a method of a class in class diagram Rule 2: The classes having objects appearing in Sequence diagram must be present in Class diagram 6 Verification of Rules 6.1 Verifying Syntactic Correctness Using Grammar Refer to the regular expression of the UML models defined in section 4.3. For a Class Diagram the correctness rules can be verified using the grammar in the following way: 1. A class diagram must have at least one class. 2. A class diagram may or may not have a relationship (association, generalization, aggregation etc.) between classes. Rule (1) &(2) can be verified from the following production rules of the grammer class_diagram class + relation* class name attribute* method_ class* From the above production rule we can derive the regular expression class_diagram class1 class_diagram class1 class2 relation 3. A class must have one and only one name. class name attribute* method_class* From the above production rule we have the class name regular expression

9 202 J. Chanda, A. Kanjilal, and S. Sengupta 4. A class may or may not have one or many attributes and methods. class name attribute* method_class* class name class name attribute class name attribute1.attributen class name attribute1.attributen method_class class name attribute1.attributen method_class1 method_classn 5. A relation may or may not have multiplicity but it should have relationship. relation multiplicity* relationship multiplicity* relation relationship relation multiplicity relationship relation multiplicity relationship multiplicity 6. A relationship should have unique id and type and it may or may not have description. relationship identifier description type identifier type type aggregation association generalization identifier description relationship identifier type id1 aggregation relationship identifier description type id1 generalization Therefore, all the correctness rules for the class diagram can be verified using the proposed UML grammar. Notations used in this section represent the same meaning as defined in section 4.1 For a Sequence Diagram the correctness rules can be verified using the grammar in the following way: 1. A sequence diagram must have at least one message. sequence_diagram lifeline+ lifeline object_name focus_of_control + object_name message+ focus_of_control focus_id message+ 2. A message must have one and only one time order. message time_order message_description source destination 3. A message is between one & only source and one &only destination and must have a description. The message description can be a string or a method. message time_order message_description source destination message_description method_sequence

10 UML-Compiler: A Framework for Syntactic and Semantic Verification A message must be composed of either one of the following combinations: Two objects source object_to destination object_from One object and one actor Two actors source actor_to object_to destination actor_from object_from source actor_to destination actor_from 5. Sequence diagram have one and only one lifeline and lifeline is uniquely identified by object name. sequence_diagram lifeline lifeline object_name focus_of_control + object_name message+ 6. Lifeline have one or many focus of control or atleast one message. lifeline object_name focus_of_control + object_name message+ Therefore, all the correctness rules for the class diagram can be verified using the proposed UML grammar. Notations used in this section represent the same meaning as defined in section Verifying Consistency Using Grammar Rule 1: Every method in Sequence diagram should be present in the Class diagram In the Sequence diagram, object_to object_from represent objects of classes which should belong to class diagram i.e. object_to class object_to name attribute* method_class* The method in Sequence diagram belongs to object_to (object of the Class to which message is sent) i.e. method_sequence object_to method_sequence name attribute* method_class* method_sequence method_class

11 204 J. Chanda, A. Kanjilal, and S. Sengupta This implies that method method_sequence in sequence diagram within the message should be represented as method_class to which messages is sent. It satisfies consistency rule 1. Rule 2: Every object in Sequence should belong to a Class in Class diagram Again,object_to class Again object_to name attribute* method_class* method_sequence object_to method_sequence name attribute*method_class* This implies that method_sequence within the message in sequence belongs to the object of the class (object_to ), the name of which should be the name of the class in class diagram that contains the method as method_class. It satisfies rule 2. 7 Conclusion UML being a visual modeling language is widely used for capturing and designing specifications of object oriented systems. However it is not a formal model and hence ambiguities may arise in design specifications between models that represent compiler overlapping but different aspects of the same system. In this paper we propose a UML compiler in which define a formal model for UML class and sequence diagrams, the two widely used models, which represent static and behavioral aspects. A context free grammar is proposed for both for the UML 2.0 standard. A set of verification criteria composed of correctness rules and consistency rules are defined. Using the proposed grammar each of these rules has been verified and parse tree for the grammar is generated. Our future work will focus on developing the first module of the tool, which will convert XMI format of the UML diagram into a string, which conforms to the grammar defined in this paper. The formal models can be defined for all other UML diagrams so that consistency among all the models can be verified, which is a kind of semantic verification. References 1. Calì, A., Calvanese, D., De Giacomo, G., Lenzerini, M.: A Formal Framework for Reasoning on UML Class Diagrams. In: Hacid, M.-S., Raś, Z.W., Zighed, D.A., Kodratoff, Y. (eds.) ISMIS LNCS (LNAI), vol. 2366, pp Springer, Heidelberg (2002) 2. Pascal Andre, Annya Romanczuk, Jean-Claude Royer. Checking the Consistency of UML Class Diagrams Using Larch Prover, Rigorous Object Oriented Method, ROOM (2000) 3. Jansamak, S., Surarerks, A.: Formalization of UML Statet Models Using Concurrent Regular Expressions. In: 27th Australasian Computer Science Conference, the University of Otago, Dunedin, NZ (January 2004) 4. Meng, S., Naixiao, Z., Aichernig, B.K.: The Formal Foundations in RSL for UML Statet Diagram, Technical Report 299. UNU/IIST (July 2004) 5. Gomaa, H., Liu, S., Shin, M.E.: Integration of the Domain Modeling Method for Families of Systems with the SOFL Formal Specification Language. In: 6th IEEE International Conference on Complex Computer Systems (ICECCS 2000), Tokyo, Japan, September 11-15, p. 61 (2000)

12 UML-Compiler: A Framework for Syntactic and Semantic Verification He, X.: Formalizing UML Class Diagrams: A Hierarchical Predicate Transition Net Approach. In: The Twenty-Fourth Annual International Computer Software and Applications Conference, Taipei, Taiwan, October 25-28, p. 217 (2000) 7. Li, X., Liu, Z., Jifeng, H.: A Formal Semantics of UML Sequence Diagram. In: Australian Software Engineering Conference (ASWEC 2004), Melbourne, Australia, April 13-16, p. 168 (2004) 8. Hausmann, J.H., Heckel, R., Sauer, S.: Towards Dynamic Meta Modeling of UML Extensions: An Extensible Semantics for UML Sequence Diagrams. In: IEEE 2001 Symposia on Human Centric Computing Languages and Environments (HCC 2001), Stresa, Italy, September 5-7 (2001) 9. Apvrille, L., Courtiat, J.-P., Lohr, C., de Saqui-Sannes, P.: TURTLE: A Real-Time UML Profile Supported by a Formal Validation Toolkit 30(7) (July 2004) 10. Dong, Y., Sheng, Z.S.: Using p - calculus to Formalize UML Activity Diagram. In: 10th IEEE International Conference and Workshop on the Engineering of Computer-Based Systems (ECBS 2003), Huntsville, Alabama, April 7-10 (2003) 11. Virani, H.S., Niu, A.J.: Formalize UML 2 Sequence Diagrams. In: 11th IEEE High Assurance Systems Engineering Symposium, HASE 2008, December 3-5, pp (2008) 12. Xu, D., Philbert, N., Liu, Z., Liu, W.: Towards Formalizing UML Activity Diagrams in CSP. In: International Symposium on Computer Science and Computational Technology, ISCSCT 2008, December 20-22, vol. 2, pp (2008) 13. Mostafa, A.M., Ismail, M.A., El-Bolok, H., Saad, E.M.: Toward a Formalization of UML2.0 Metamodel using Z Specifications. In: Eighth ACIS International Conference on Software Engineering, Artificial Intelligence, Networking, and Parallel/Distributed Computing, SNPD 2007, July 30-August , vol. 1, pp (2007) 14. Ali, T., Nauman, M., Alam, M.: An Accessible Formal Specification of the UML and OCL Meta-Model in Isabelle/HOL. In: IEEE International Multitopic Conference, INMIC 2007, December 28-30, pp. 1 6 (2007) 15. Sengupta, S., Bhattaya, S.: Formalization of Functional Requirements of Software Development Process. Journal of Foundations of Computing and Decision Sciences (FCDS) 33(1), (2008)

Static Safety Analysis of UML Action Semantics for Critical Systems Development

Static Safety Analysis of UML Action Semantics for Critical Systems Development Static Safety Analysis of UML Action Semantics for Critical Systems Development Zsigmond Pap, Dániel Varró Dept. of Measurement and Information Systems Budapest University of Technology and Economics H-1521

More information

Termination Analysis of the Transformation UML to CSP

Termination Analysis of the Transformation UML to CSP Magyar Kutatók 8. Nemzetközi Szimpóziuma 8 th International Symposium of Hungarian Researchers on Computational Intelligence and Informatics Termination Analysis of the Transformation UML to CSP Márk Asztalos,

More information

Distributed Systems Programming (F21DS1) Formal Verification

Distributed Systems Programming (F21DS1) Formal Verification Distributed Systems Programming (F21DS1) Formal Verification Andrew Ireland Department of Computer Science School of Mathematical and Computer Sciences Heriot-Watt University Edinburgh Overview Focus on

More information

Test Cases Generation from UML Activity Diagrams

Test Cases Generation from UML Activity Diagrams Eighth ACIS International Conference on Software Engineering, Artificial Intelligence, Networking, and Parallel/Distributed Computing Test Cases Generation from UML Activity Diagrams Hyungchoul Kim, Sungwon

More information

From Analysis to Code Generation of Distributed Systems with a UML-Based Formal Environment Named TURTLE 2005

From Analysis to Code Generation of Distributed Systems with a UML-Based Formal Environment Named TURTLE 2005 From Analysis to Code Generation of Distributed Systems with a UML-Based Formal Environment Named TURTLE 2005 Ludovic Apvrille ludovic.apvrille@enst.fr Eurecom, Office 223 Ludovic Apvrille - October 12,

More information

A Solution Based on Modeling and Code Generation for Embedded Control System

A Solution Based on Modeling and Code Generation for Embedded Control System J. Software Engineering & Applications, 2009, 2: 160-164 doi:10.4236/jsea.2009.23023 Published Online October 2009 (http://www.scirp.org/journal/jsea) A Solution Based on Modeling and Code Generation for

More information

A Formal V&V Framework for UML Models Based on Model Transformation Techniques

A Formal V&V Framework for UML Models Based on Model Transformation Techniques A Formal V&V Framework for UML Models Based on Model Transformation Techniques Soon-Kyeong Kim and David Carrington Information Technology and Electrical Engineering The University of Queensland, St. Lucia,

More information

A Performance Profile and Test Tool for Development of Embedded Software Using Various Report Views

A Performance Profile and Test Tool for Development of Embedded Software Using Various Report Views A Performance Profile and Test Tool for Development of Embedded Software Using Various Report Views Yongyun Cho and Chae-Woo Yoo School of Computing, Soongsil University, 1-1 Sangdo-dong, Dongjak-gu, Seoul

More information

Proposal of a Supporting Method for Diagrams Generation with the Transformation Rules in UML

Proposal of a Supporting Method for Diagrams Generation with the Transformation Rules in UML Proposal of a Supporting Method for Diagrams Generation with the Transformation Rules in UML Tetsuro Katayama Department of Computer Science and Systems Engineering, Faculty of Engineering, Miyazaki University

More information

AGG: A Graph Transformation Environment for Modeling and Validation of Software

AGG: A Graph Transformation Environment for Modeling and Validation of Software AGG: A Graph Transformation Environment for Modeling and Validation of Software Gabriele Taentzer Technische Universität Berlin, Germany gabi@cs.tu-berlin.de Abstract. AGG is a general development environment

More information

The Specifications Exchange Service of an RM-ODP Framework

The Specifications Exchange Service of an RM-ODP Framework The Specifications Exchange Service of an RM-ODP Framework X. Blanc (*+), M-P. Gervais(*), J. Le Delliou(+) (*)Laboratoire d'informatique de Paris 6-8 rue du Capitaine Scott F75015 PARIS (+)EDF Research

More information

Available online at ScienceDirect. Procedia Computer Science 56 (2015 )

Available online at  ScienceDirect. Procedia Computer Science 56 (2015 ) Available online at www.sciencedirect.com ScienceDirect Procedia Computer Science 56 (2015 ) 612 617 International Workshop on the Use of Formal Methods in Future Communication Networks (UFMFCN 2015) A

More information

2 nd UML 2 Semantics Symposium: Formal Semantics for UML

2 nd UML 2 Semantics Symposium: Formal Semantics for UML 2 nd UML 2 Semantics Symposium: Formal Semantics for UML Manfred Broy 1, Michelle L. Crane 2, Juergen Dingel 2, Alan Hartman 3, Bernhard Rumpe 4, and Bran Selic 5 1 Technische Universität München, Germany

More information

From Analysis to Code Generation of Protocols and Embedded Software with a UML-Based Formal Environment Named TURTLE 2005

From Analysis to Code Generation of Protocols and Embedded Software with a UML-Based Formal Environment Named TURTLE 2005 From Analysis to Code Generation of Protocols and Embedded Software with a UML-Based Formal Environment Named TURTLE 2005 Ludovic Apvrille ludovic.apvrille@enst.fr Ludovic Apvrille - UML - 2005. Slide

More information

The ProjectIT-RSL Language Overview

The ProjectIT-RSL Language Overview The ProjectIT-RSL Language Overview Carlos Videira 1, João Leonardo Carmo 2, Alberto Rodrigues da Silva 3 1 INESC-ID and Universidade Autónoma de Lisboa, Rua de Santa Marta, nº 56, 1169-023 Lisboa, Portugal

More information

Rule Formats for Nominal Modal Transition Systems

Rule Formats for Nominal Modal Transition Systems Rule Formats for Nominal Modal Transition Systems Anke Stüber Universitet Uppsala, Uppsala, Sweden anke.stuber@it.uu.se Abstract. Modal transition systems are specification languages that allow the expression

More information

Sequence Diagram Generation with Model Transformation Technology

Sequence Diagram Generation with Model Transformation Technology , March 12-14, 2014, Hong Kong Sequence Diagram Generation with Model Transformation Technology Photchana Sawprakhon, Yachai Limpiyakorn Abstract Creating Sequence diagrams with UML tools can be incomplete,

More information

Pioneering Compiler Design

Pioneering Compiler Design Pioneering Compiler Design NikhitaUpreti;Divya Bali&Aabha Sharma CSE,Dronacharya College of Engineering, Gurgaon, Haryana, India nikhita.upreti@gmail.comdivyabali16@gmail.com aabha6@gmail.com Abstract

More information

Flight Systems are Cyber-Physical Systems

Flight Systems are Cyber-Physical Systems Flight Systems are Cyber-Physical Systems Dr. Christopher Landauer Software Systems Analysis Department The Aerospace Corporation Computer Science Division / Software Engineering Subdivision 08 November

More information

An Approach to Formalize UML Sequence Diagrams in CSP

An Approach to Formalize UML Sequence Diagrams in CSP 2010 3rd International Conference on Computer and Electrical Engineering (ICCEE 2010) IPCSIT vol. 53 (2012) (2012) IACSIT Press, Singapore DOI: 10.7763/IPCSIT.2012.V53.No.2.17 An Approach to Formalize

More information

Introduction to Formal Methods

Introduction to Formal Methods 2008 Spring Software Special Development 1 Introduction to Formal Methods Part I : Formal Specification i JUNBEOM YOO jbyoo@knokuk.ac.kr Reference AS Specifier s Introduction to Formal lmethods Jeannette

More information

Exploiting Visual Languages Generation and UML Meta Modeling to Construct Meta-CASE Workbenches

Exploiting Visual Languages Generation and UML Meta Modeling to Construct Meta-CASE Workbenches Electronic Notes in Theoretical Computer Science 72 No. 3 (2003) URL: http://www.elsevier.nl/locate/entcs/volume72.html 11 pages Exploiting Visual Languages Generation and UML Meta Modeling to Construct

More information

Metamodeling for Business Model Design

Metamodeling for Business Model Design Metamodeling for Business Model Design Facilitating development and communication of Business Model Canvas (BMC) models with an OMG standards-based metamodel. Hilmar Hauksson 1 and Paul Johannesson 2 1

More information

Formal Methods in Software Design. Markus Roggenbach

Formal Methods in Software Design. Markus Roggenbach Formal Methods in Software Design Markus Roggenbach October 2001 2 Formal Methods Use of mathematics in software development main activities: writing formal specifications 2 Formal Methods Use of mathematics

More information

Adding Formal Requirements Modeling to SysML

Adding Formal Requirements Modeling to SysML Adding Formal Requirements Modeling to SysML Mark R. Blackburn www.markblackburn.com Abstract. This paper seeks to raise awareness on the SCR extensions derived from industry use, and discusses how an

More information

Dresden OCL2 in MOFLON

Dresden OCL2 in MOFLON Dresden OCL2 in MOFLON 10 Jahre Dresden-OCL Workshop Felix Klar Felix.Klar@es.tu-darmstadt.de ES Real-Time Systems Lab Prof. Dr. rer. nat. Andy Schürr Dept. of Electrical Engineering and Information Technology

More information

OCL Support in MOF Repositories

OCL Support in MOF Repositories OCL Support in MOF Repositories Joachim Hoessler, Michael Soden Department of Computer Science Technical University Berlin hoessler@cs.tu-berlin.de, soden@cs.tu-berlin.de Abstract From metamodels that

More information

Techniques for the unambiguous specification of software

Techniques for the unambiguous specification of software Formal Techniques for the unambiguous of software Objectives To explain why formal techniques help discover problems in system requirements To describe the use of algebraic techniques for interface To

More information

Ingegneria del Software Corso di Laurea in Informatica per il Management. Introduction to UML

Ingegneria del Software Corso di Laurea in Informatica per il Management. Introduction to UML Ingegneria del Software Corso di Laurea in Informatica per il Management Introduction to UML Davide Rossi Dipartimento di Informatica Università di Bologna Modeling A model is an (abstract) representation

More information

i* on ADOxx : A Case Study

i* on ADOxx : A Case Study Fourth International i* Workshop, Hammamet, 7 th -8 th of June 2010 i* on ADOxx : A Case Study an Open Models Project! Authors: Margit Schwab, Dimitris Karagiannis, Alexander Bergmayr Agenda The Open Model

More information

Guiding System Modelers in Multi View Environments: A Domain Engineering Approach

Guiding System Modelers in Multi View Environments: A Domain Engineering Approach Guiding System Modelers in Multi View Environments: A Domain Engineering Approach Arnon Sturm Department of Information Systems Engineering Ben-Gurion University of the Negev, Beer Sheva 84105, Israel

More information

Publications related to Chez Scheme

Publications related to Chez Scheme Publications related to Chez Scheme [1] Andrew W. Keep and R. Kent Dybvig. Automatic cross-library optimization. In Scheme 2013: Workshop on Scheme and Functional Programming, 2013. Describes how Chez

More information

Automation of Semantic Web based Digital Library using Unified Modeling Language Minal Bhise 1 1

Automation of Semantic Web based Digital Library using Unified Modeling Language Minal Bhise 1 1 Automation of Semantic Web based Digital Library using Unified Modeling Language Minal Bhise 1 1 Dhirubhai Ambani Institute for Information and Communication Technology, Gandhinagar, Gujarat, India Email:

More information

A Lightweight Language for Software Product Lines Architecture Description

A Lightweight Language for Software Product Lines Architecture Description A Lightweight Language for Software Product Lines Architecture Description Eduardo Silva, Ana Luisa Medeiros, Everton Cavalcante, Thais Batista DIMAp Department of Informatics and Applied Mathematics UFRN

More information

Static analysis and testing of executable DSL specification

Static analysis and testing of executable DSL specification Static analysis and testing of executable DSL specification Qinan Lai 1, Andy Carpenter 1 1 School of Computer Science, the University of Manchester, Manchester, UK {laiq,afc}@cs.man.ac.uk Keywords: Abstract:

More information

The Fox Project: Advanced Development of Systems Software

The Fox Project: Advanced Development of Systems Software The Fox Project: Advanced Development of Systems Software R&D Status Report July 1 to September 30, 1999 School of Computer Science Carnegie Mellon University Pittsburgh, PA 15213 19991222 022 This research

More information

Metamodeling with Metamodels. Using. UML/MOF including OCL

Metamodeling with Metamodels. Using. UML/MOF including OCL Metamodeling with Metamodels Using UML/MOF including OCL Introducing Metamodels (Wikipedia) A metamodel is a model of a model An instantiation of metamodel gives a model Metamodeling is the process of

More information

Extracting knowledge from Ontology using Jena for Semantic Web

Extracting knowledge from Ontology using Jena for Semantic Web Extracting knowledge from Ontology using Jena for Semantic Web Ayesha Ameen I.T Department Deccan College of Engineering and Technology Hyderabad A.P, India ameenayesha@gmail.com Khaleel Ur Rahman Khan

More information

An Agent Modeling Language Implementing Protocols through Capabilities

An Agent Modeling Language Implementing Protocols through Capabilities An Agent Modeling Language Implementing Protocols through Capabilities Nikolaos Spanoudakis 1,2 1 Technical University of Crete, Greece nikos@science.tuc.gr Pavlos Moraitis 2 2 Paris Descartes University,

More information

MERGING BUSINESS VOCABULARIES AND RULES

MERGING BUSINESS VOCABULARIES AND RULES MERGING BUSINESS VOCABULARIES AND RULES Edvinas Sinkevicius Departament of Information Systems Centre of Information System Design Technologies, Kaunas University of Lina Nemuraite Departament of Information

More information

! Use of formal notations. ! in software system descriptions. ! for a broad range of effects. ! and varying levels of use. !

! Use of formal notations. ! in software system descriptions. ! for a broad range of effects. ! and varying levels of use. ! What Are Formal Methods? David S. Rosenblum ICS 221 Winter 2001! Use of formal notations! first-order logic, state machines, etc.! in software system descriptions! system models, constraints, specifications,

More information

Generalized Document Data Model for Integrating Autonomous Applications

Generalized Document Data Model for Integrating Autonomous Applications 6 th International Conference on Applied Informatics Eger, Hungary, January 27 31, 2004. Generalized Document Data Model for Integrating Autonomous Applications Zsolt Hernáth, Zoltán Vincellér Abstract

More information

Pet: An Interactive Software Testing Tool

Pet: An Interactive Software Testing Tool Pet: An Interactive Software Testing Tool Elsa Gunter, Robert Kurshan, and Doron Peled Bell Laboratories 600 Mountain Ave. Murray Hill, NJ 07974 Abstract. We describe here the Pet (standing for path exploration

More information

A SIMULATION ARCHITECTURE DESCRIPTION LANGUAGE FOR HARDWARE-IN-LOOP SIMULATION OF SAFETY CRITICAL SYSTEMS

A SIMULATION ARCHITECTURE DESCRIPTION LANGUAGE FOR HARDWARE-IN-LOOP SIMULATION OF SAFETY CRITICAL SYSTEMS A SIMULATION ARCHITECTURE DESCRIPTION LANGUAGE FOR HARDWARE-IN-LOOP SIMULATION OF SAFETY CRITICAL SYSTEMS YUJUN ZHU, ZHONGWEI XU, MENG MEI School of Electronics & Information Engineering, Tongji University,

More information

A simple syntax-directed

A simple syntax-directed Syntax-directed is a grammaroriented compiling technique Programming languages: Syntax: what its programs look like? Semantic: what its programs mean? 1 A simple syntax-directed Lexical Syntax Character

More information

Contradiction Finding and Minimal Recovery for UML Class Diagrams using Logic Programming

Contradiction Finding and Minimal Recovery for UML Class Diagrams using Logic Programming ISSN 1346-5597 NII Technical Report Contradiction Finding and Minimal Recovery for UML Class Diagrams using Logic Programming Ken Satoh, Ken Kaneiwa, Takeaki Uno NII-2006-009E June 2006 Contradiction Finding

More information

Appendix A: Syntax Diagrams

Appendix A: Syntax Diagrams A. Syntax Diagrams A-1 Appendix A: Syntax Diagrams References: Kathleen Jensen/Niklaus Wirth: PASCAL User Manual and Report, 4th Edition. Springer, 1991. Niklaus Wirth: Compilerbau (in German). Teubner,

More information

An UML-XML-RDB Model Mapping Solution for Facilitating Information Standardization and Sharing in Construction Industry

An UML-XML-RDB Model Mapping Solution for Facilitating Information Standardization and Sharing in Construction Industry An UML-XML-RDB Model Mapping Solution for Facilitating Information Standardization and Sharing in Construction Industry I-Chen Wu 1 and Shang-Hsien Hsieh 2 Department of Civil Engineering, National Taiwan

More information

USING TRANSFORMATIONS TO INTEGRATE TASK MODELS IN

USING TRANSFORMATIONS TO INTEGRATE TASK MODELS IN USING TRANSFORMATIONS TO INTEGRATE TASK MODELS IN THE UML Position Paper to the WTUML: Workshop on Transformations in UML ETAPS 2001 European Joint Conference on Theory and Practice of Software Nuno Jardim

More information

Software Language Engineering of Architectural Viewpoints

Software Language Engineering of Architectural Viewpoints Software Language Engineering of Architectural Viewpoints Elif Demirli and Bedir Tekinerdogan Department of Computer Engineering, Bilkent University, Ankara 06800, Turkey {demirli,bedir}@cs.bilkent.edu.tr

More information

lnteroperability of Standards to Support Application Integration

lnteroperability of Standards to Support Application Integration lnteroperability of Standards to Support Application Integration Em delahostria Rockwell Automation, USA, em.delahostria@ra.rockwell.com Abstract: One of the key challenges in the design, implementation,

More information

Compiled Visual Programs by VisPro

Compiled Visual Programs by VisPro Compiled Visual Programs by VisPro Ke -Bing Zhang 1 Mehmet A. Orgun 1 Kang Zhang 2 1 Department of Computing, ICS, Macquarie University, Sydney, NSW 2109, Australia {kebing, mehmet}@ics.mq.edu.au 2 Department

More information

Research Paper on Implementation of OCL Constraints in JAVA

Research Paper on Implementation of OCL Constraints in JAVA ISSN No. 0976-5697 Volume 8, No. 5, May June 2017 International Journal of Advanced Research in Computer Science RESEARCH PAPER Available Online at www.ijarcs.info Research Paper on Implementation of OCL

More information

Model Driven Engineering (MDE)

Model Driven Engineering (MDE) Model Driven Engineering (MDE) Yngve Lamo 1 1 Faculty of Engineering, Bergen University College, Norway 26 April 2011 Ålesund Outline Background Software Engineering History, SE Model Driven Engineering

More information

Constructing Control Flow Graph for Java by Decoupling Exception Flow from Normal Flow

Constructing Control Flow Graph for Java by Decoupling Exception Flow from Normal Flow Constructing Control Flow Graph for Java by Decoupling Exception Flow from Normal Flow Jang-Wu Jo 1 and Byeong-Mo Chang 2 1 Department of Computer Engineering Pusan University of Foreign Studies Pusan

More information

Definition of Visual Language Editors Using Declarative Languages

Definition of Visual Language Editors Using Declarative Languages Definition of Visual Language Editors Using Declarative Languages Torbjörn Lundkvist TUCS Turku Centre for Computer Science SoSE Graduate School on Software Systems and Engineering Department of Information

More information

CSC 501 Semantics of Programming Languages

CSC 501 Semantics of Programming Languages CSC 501 Semantics of Programming Languages Subtitle: An Introduction to Formal Methods. Instructor: Dr. Lutz Hamel Email: hamel@cs.uri.edu Office: Tyler, Rm 251 Books There are no required books in this

More information

A Generic Framework for Realizing Semantic Model Differencing Operators

A Generic Framework for Realizing Semantic Model Differencing Operators A Generic Framework for Realizing Semantic Model Differencing Operators Philip Langer, Tanja Mayerhofer, and Gerti Kappel Business Informatics Group, Vienna University of Technology, Vienna, Austria {langer,mayerhofer,gerti}@big.tuwien.ac.at

More information

Modeling Software Architecture with UML

Modeling Software Architecture with UML Modeling Software Architecture with UML + CPN Jianli Xu Nokia Research Center Joint Tutorial of CPN 04 & MOCA 04 Aarhus 11.10.2004 1 NOKIA CPN&MOCA tutorial.ppt / 11-10-2004 / JXU Outline of the talk An

More information

INTERNATIONAL JOURNAL OF PURE AND APPLIED RESEARCH IN ENGINEERING AND TECHNOLOGY

INTERNATIONAL JOURNAL OF PURE AND APPLIED RESEARCH IN ENGINEERING AND TECHNOLOGY INTERNATIONAL JOURNAL OF PURE AND APPLIED RESEARCH IN ENGINEERING AND TECHNOLOGY A PATH FOR HORIZING YOUR INNOVATIVE WORK TRANSFORMATION OF UML SEQUENCE DIAGRAM TO JAVA CODE HARSHAL D. GURAD 1, PROF. V.

More information

Reading assignment: Reviews and Inspections

Reading assignment: Reviews and Inspections Foundations for SE Analysis Reading assignment: Reviews and Inspections M. E. Fagan, "Design and code inspections to reduce error in program development, IBM Systems Journal, 38 (2&3), 1999, pp. 258-287.

More information

How to Make a Correct Multiprocess Program Execute Correctly on a Multiprocessor

How to Make a Correct Multiprocess Program Execute Correctly on a Multiprocessor How to Make a Correct Multiprocess Program Execute Correctly on a Multiprocessor Leslie Lamport 1 Digital Equipment Corporation February 14, 1993 Minor revisions January 18, 1996 and September 14, 1996

More information

Analysis of operations and parameters involved in interface for CBSE

Analysis of operations and parameters involved in interface for CBSE Analysis of operations and parameters involved in interface for CBSE P.L. Powar 1, Dr. R.K. Pandey 2, M.P. Singh 3, Bharat Solanki 4 1 Department of Mathematics and Computer Science, R. D. University,

More information

Verbalizing Business Rules: Part 9

Verbalizing Business Rules: Part 9 Verbalizing Business Rules: Part 9 Terry Halpin Northface University Business rules should be validated by business domain experts, and hence specified using concepts and languages easily understood by

More information

An Eclipse-based Integrated Environment for Developing Executable Structural Operational Semantics Specifications

An Eclipse-based Integrated Environment for Developing Executable Structural Operational Semantics Specifications SOS 2006 Preliminary Version An Eclipse-based Integrated Environment for Developing Executable Structural Operational Semantics Specifications Adrian Pop 1,2 Peter Fritzson 3 Programming Environments Laboratory

More information

Integrating SysML and OWL

Integrating SysML and OWL Integrating SysML and OWL Henson Graves Lockheed Martin Aeronautics Company Fort Worth Texas, USA henson.graves@lmco.com Abstract. To use OWL2 for modeling a system design one must be able to construct

More information

A framework for business processes view integration

A framework for business processes view integration A framework for business processes view integration Souvik Barat 1, Vinay Kulkarni 1, Prof. D Janakiram 2 1 Tata Research Development & Design Centre, Pune, India {souvik.barat, vinay.vkulkarni}@tcs.com}

More information

JOURNAL OF OBJECT TECHNOLOGY

JOURNAL OF OBJECT TECHNOLOGY JOURNAL OF OBJECT TECHNOLOGY Online at www.jot.fm. Published by ETH Zurich, Chair of Software Engineering JOT, 2002 Vol. 1, No. 2, July-August 2002 The Theory of Classification Part 2: The Scratch-Built

More information

Evaluation of Commercial Web Engineering Processes

Evaluation of Commercial Web Engineering Processes Evaluation of Commercial Web Engineering Processes Andrew McDonald and Ray Welland Department of Computing Science, University of Glasgow, Glasgow, Scotland. G12 8QQ. {andrew, ray}@dcs.gla.ac.uk, http://www.dcs.gla.ac.uk/

More information

Future Directions for SysML v2 INCOSE IW MBSE Workshop January 28, 2017

Future Directions for SysML v2 INCOSE IW MBSE Workshop January 28, 2017 Future Directions for SysML v2 INCOSE IW MBSE Workshop January 28, 2017 Sanford Friedenthal safriedenthal@gmail.com 1/30/2017 Agenda Background System Modeling Environment (SME) SysML v2 Requirements Approach

More information

Page 1. Reading assignment: Reviews and Inspections. Foundations for SE Analysis. Ideally want general models. Formal models

Page 1. Reading assignment: Reviews and Inspections. Foundations for SE Analysis. Ideally want general models. Formal models Reading assignment: Reviews and Inspections Foundations for SE Analysis M. E. Fagan, "Design and code inspections to reduce error in program development, IBM Systems Journal, 38 (2&3), 999, pp. 258-28.

More information

Semantic Web Domain Knowledge Representation Using Software Engineering Modeling Technique

Semantic Web Domain Knowledge Representation Using Software Engineering Modeling Technique Semantic Web Domain Knowledge Representation Using Software Engineering Modeling Technique Minal Bhise DAIICT, Gandhinagar, Gujarat, India 382007 minal_bhise@daiict.ac.in Abstract. The semantic web offers

More information

arxiv: v3 [cs.fl] 5 Mar 2017

arxiv: v3 [cs.fl] 5 Mar 2017 A novel type of Automata for dynamic, heterogeneous and random architectures arxiv:1702.02240v3 [cs.fl] 5 Mar 2017 Weijun ZHU School of Information Engineering, Zhengzhou University, Zhengzhou, 450001,

More information

Formal Validation of DNA Database Using Theorem Proving Technique

Formal Validation of DNA Database Using Theorem Proving Technique Formal Validation of DNA Database Using Theorem Proving Technique Julaily Aida Jusoh, Md Yazid Mohd Saman, and Mustafa Man Jabatan Sains Komputer, Fakulti Sains Dan Teknologi, Universiti Malaysia Terengganu,

More information

Analyzing Robustness of UML State Machines

Analyzing Robustness of UML State Machines Analyzing Robustness of UML State Machines Reinhard von Hanxleden Department of Computer Science and Applied Mathematics Real-Time Systems and Embedded Systems Group Christian-Albrecht Universität zu Kiel

More information

A Methodology for the Derivation and Verification of Use Cases for Product Lines

A Methodology for the Derivation and Verification of Use Cases for Product Lines A Methodology for the Derivation and Verification of Use Cases for Product Lines A. Fantechi 1, S. Gnesi 2, G. Lami 2, and E. Nesti 1 1 Dipartimento di Sistemi e Informatica, Università di Firenze - (Italy)

More information

JOURNAL OF OBJECT TECHNOLOGY

JOURNAL OF OBJECT TECHNOLOGY JOURNAL OF OBJECT TECHNOLOGY Online at http://www.jot.fm. Published by ETH Zurich, Chair of Software Engineering JOT, 2004 Vol. 3, No. 7, July-August 2004 UML 2 Activity and Action Models Part 5: Partitions

More information

Compositional Model Based Software Development

Compositional Model Based Software Development Compositional Model Based Software Development Prof. Dr. Bernhard Rumpe http://www.se-rwth.de/ Seite 2 Our Working Groups and Topics Automotive / Robotics Autonomous driving Functional architecture Variability

More information

SYSTEMS PROGRAMMING. Srimanta Pal. Associate Professor Indian Statistical Institute Kolkata OXFORD UNIVERSITY PRESS

SYSTEMS PROGRAMMING. Srimanta Pal. Associate Professor Indian Statistical Institute Kolkata OXFORD UNIVERSITY PRESS SYSTEMS PROGRAMMING Srimanta Pal Associate Professor Indian Statistical Institute Kolkata OXFORD UNIVERSITY PRESS Contents Preface v 1. Scope of Systems Programming 1 1.1 Introduction 7 1.2 Computers and

More information

A Tabular Expression Toolbox for Matlab/Simulink

A Tabular Expression Toolbox for Matlab/Simulink A Tabular Expression Toolbox for Matlab/Simulink Colin Eles and Mark Lawford McMaster Centre for Software Certification McMaster University, Hamilton, Ontario, Canada L8S 4K1 {elesc,lawford}@mcmaster.ca

More information

A Partial Correctness Proof for Programs with Decided Specifications

A Partial Correctness Proof for Programs with Decided Specifications Applied Mathematics & Information Sciences 1(2)(2007), 195-202 An International Journal c 2007 Dixie W Publishing Corporation, U. S. A. A Partial Correctness Proof for Programs with Decided Specifications

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

Q Body of techniques supported by. R precise mathematics. R powerful analysis tools. Q Rigorous, effective mechanisms for system.

Q Body of techniques supported by. R precise mathematics. R powerful analysis tools. Q Rigorous, effective mechanisms for system. Introduction to Formal Methods 1 Introduction to Formal Methods 2 Formal Specification Requirements specification R notational statement of system services Software specification R formal abstract depiction

More information

1.1 Software Life Cycle

1.1 Software Life Cycle 1 Introduction The development of complex software systems on a large scale is usually a complicated activity and process. It may involve many developers, possibly with different backgrounds, who need

More information

Simulating a Finite State Mobile Agent System

Simulating a Finite State Mobile Agent System Simulating a Finite State Mobile Agent System Liu Yong, Xu Congfu, Chen Yanyu, and Pan Yunhe College of Computer Science, Zhejiang University, Hangzhou 310027, P.R. China Abstract. This paper analyzes

More information

From Event-B Models to Dafny Code Contracts

From Event-B Models to Dafny Code Contracts From Event-B Models to Dafny Code Contracts Mohammadsadegh Dalvandi, Michael Butler, Abdolbaghi Rezazadeh Electronic and Computer Science School, University of Southampton Southampton, United Kingdom {md5g11,mjb,ra3}@ecs.soton.ac.uk

More information

Reasoning on Business Processes and Ontologies in a Logic Programming Environment

Reasoning on Business Processes and Ontologies in a Logic Programming Environment Reasoning on Business Processes and Ontologies in a Logic Programming Environment Michele Missikoff 1, Maurizio Proietti 1, Fabrizio Smith 1,2 1 IASI-CNR, Viale Manzoni 30, 00185, Rome, Italy 2 DIEI, Università

More information

Advanced Topics in Software Engineering (02265) Ekkart Kindler

Advanced Topics in Software Engineering (02265) Ekkart Kindler Advanced Topics in Software Engineering (02265) Recapitulation (I. Introduction ) 2 Levels of models ClassDiagram is an instance of PetriNet * Object * Class 1 start 1 end * Association concrete syntax

More information

Transforming UML Collaborating Statecharts for Verification and Simulation

Transforming UML Collaborating Statecharts for Verification and Simulation Transforming UML Collaborating Statecharts for Verification and Simulation Patrick O. Bobbie, Yiming Ji, and Lusheng Liang School of Computing and Software Engineering Southern Polytechnic State University

More information

Predicting and Learning Executability of Composite Web Services

Predicting and Learning Executability of Composite Web Services Predicting and Learning Executability of Composite Web Services Masahiro Tanaka and Toru Ishida Department of Social Informatics, Kyoto University Kyoto 606-8501 Japan mtanaka@ai.soc.i.kyoto-u.ac.jp, ishida@i.kyoto-u.ac.jp

More information

Capturing and Formalizing SAF Availability Management Framework Configuration Requirements

Capturing and Formalizing SAF Availability Management Framework Configuration Requirements Capturing and Formalizing SAF Availability Management Framework Configuration Requirements A. Gherbi, P. Salehi, F. Khendek and A. Hamou-Lhadj Electrical and Computer Engineering, Concordia University,

More information

The Implications of Optimality Results for Incremental Model Synchronization for TGGs Holger Giese, Stephan Hildebrandt

The Implications of Optimality Results for Incremental Model Synchronization for TGGs Holger Giese, Stephan Hildebrandt The Implications of Optimality Results for Incremental Model Synchronization for TGGs Bi-directional transformations (BX) Theory and Applications Across Disciplines (13w5115) December 1-6, 2013 Holger

More information

Collaborative Framework for Testing Web Application Vulnerabilities Using STOWS

Collaborative Framework for Testing Web Application Vulnerabilities Using STOWS Available Online at www.ijcsmc.com International Journal of Computer Science and Mobile Computing A Monthly Journal of Computer Science and Information Technology ISSN 2320 088X IMPACT FACTOR: 5.258 IJCSMC,

More information

THE SELECTION OF THE ARCHITECTURE OF ELECTRONIC SERVICE CONSIDERING THE PROCESS FLOW

THE SELECTION OF THE ARCHITECTURE OF ELECTRONIC SERVICE CONSIDERING THE PROCESS FLOW THE SELECTION OF THE ARCHITECTURE OF ELECTRONIC SERVICE CONSIDERING THE PROCESS FLOW PETERIS STIPRAVIETIS, MARIS ZIEMA Institute of Computer Control, Automation and Computer Engineering, Faculty of Computer

More information

A Survey of Consistency Checking Techniques for UML Models

A Survey of Consistency Checking Techniques for UML Models A Survey of Consistency Checking Techniques for UML Models Muhammad Usman 1, Aamer Nadeem 1, Tai-hoon Kim 2, Eun-suk Cho 2 1 Center for Software Dependability, Mohammad Ali Jinnah University Islamabad,

More information

TESTING MULTI-AGENT SYSTEMS FOR DEADLOCK DETECTION BASED ON UML MODELS

TESTING MULTI-AGENT SYSTEMS FOR DEADLOCK DETECTION BASED ON UML MODELS TESTING MULTI-AGENT SYSTEMS FOR DEADLOCK DETECTION BASED ON UML MODELS Nariman Mani Vahid Garousi Behrouz H. Far Department of Electrical and Computer Engineering Schulich School of Engineering, University

More information

arxiv: v1 [cs.lo] 23 Apr 2012

arxiv: v1 [cs.lo] 23 Apr 2012 The Distributed Ontology Language (DOL): Ontology Integration and Interoperability Applied to Mathematical Formalization Christoph Lange 1,2, Oliver Kutz 1, Till Mossakowski 1,3, and Michael Grüninger

More information

Optimizing Finite Automata

Optimizing Finite Automata Optimizing Finite Automata We can improve the DFA created by MakeDeterministic. Sometimes a DFA will have more states than necessary. For every DFA there is a unique smallest equivalent DFA (fewest states

More information

Model Checking VHDL with CV

Model Checking VHDL with CV Model Checking VHDL with CV David Déharbe 1, Subash Shankar 2, and Edmund M. Clarke 2 1 Universidade Federal do Rio Grande do Norte, Natal, Brazil david@dimap.ufrn.br 2 Carnegie Mellon University, Pittsburgh,

More information

Model-Driven Engineering (MDE) Lecture 1: Metamodels and Xtext Regina Hebig, Thorsten Berger

Model-Driven Engineering (MDE) Lecture 1: Metamodels and Xtext Regina Hebig, Thorsten Berger Model-Driven Engineering (MDE) Lecture 1: Metamodels and Xtext Regina Hebig, Thorsten Berger Reuses some material from: Andrzej Wasowski, Model-Driven Development, ITU Copenhagen Where I am from WASP 2017

More information