Design of distributed Java application with JEstelle.

Size: px
Start display at page:

Download "Design of distributed Java application with JEstelle."

Transcription

1 Design of distributed Java application with JEstelle. Marcin CZENCO Warsaw University of Technology Institute Of Computer Science Nowowiejska 15/ Warsaw, POLAND Jean-Luc Raffy Institut National des Telecommunications Software-Networks Department 9 rue Charles Fourier Evry CEDEX, FRANCE jean-luc.raffy@int-evry.fr Abstract We present in this article a new programming language JEstelle. It fuses the formal semantics of Estelle (a standardized Formal Description Technique) and the popularity of the Java platform. JEstelle uses similarities between these two languages to narrow the gap between formal specification and implementation code. It provides a solution that can simplify significantly the distributed Java applications development. The introduction of formalism to the communication part of a distributed Java application, allows its validation and improves the readability of the system design. JEstelle introduces some minor restrictions to the use of Java API and naturally supports the automatic implementation code generation. Moreover, the Java technology permits to easily adapt the existing Estelle Development Toolset (XEDT) to the development of JEstelle tools. Finally, JEstelle is easy to use and practically does not require the designer to be familiar with any Formal Description Techniques, and with Estelle in particular. Keywords : Distributed Systems, Java, Estelle, Software Engineering, Formal Description Techniques. 1. Introduction The Java ease of programming and its portability make platform-independent development of distributed and concurrent systems simpler. However, problems concerning development processes of Java distributed systems and their reliability need a special approach to make them more efficient. Even though there are some well-tested methods for synchronous systems design, they do not always provide satisfactory results. To make the distributed and parallel software design simpler and more efficient we need then a unified approach to concurrent system modeling and implementation. It is especially important for proper communication between a number of subsystems that make up the whole distributed architecture. Using standard approach to Java distributed applications development process we are unable to easily keep the system independent from the particular communication channel implementation, thus renders the system consistency harder to hold. Going further, it is clear that to design distributed systems that are safe and secure in use, we need an efficient method for their validation. The validation is especially important for the communication part of a system, as this is the point where uncertainty in the design results in unexpected behavior of the whole system. To make it possible we introduce some level of formalism to the Java distributed systems development. The formalism should concern only the communication part of the distributed system, not touching the rest of the code. Formal Description Techniques (FDTs), which are well known and widely used in protocol development, can be used to make Java design more formal and provable. Between techniques, which are most commonly used today, we found Estelle[1] to be the best as a foundation to the formal extensions to Java language. What makes Estelle so interesting for our approach is that, first it has some similarities with Java and it permits a clear separation between the description of the communication interface of components of a system and the description of the internal behavior of each such component. Whilst the description of components shall be done purely with Java, the communication mechanism between them might be expressed with the Estelle framework. As a result we obtain a language, JEstelle, which merges the power of Java programming with the formalism of Estelle. In section 2 we present in more details the structure of JEstelle and a simple example. Section 3 presents shortly the JEstelle Native Interface (JENI). In section 3 we expose the JEstelle development cycle. Then we present our current development and further work and make some conclusions.

2 2. JEstelle An Estelle specification describes a collection of hierarchical 1 communicating components. A component is an instance of a generic module definition composed of a single header definition and one (or several) associated body definitions. These instances may be statically or dynamically created by means of a header/body pair. The header definition describes the external communication part of the module and specifies a synchronous parallel or a non deterministic serial execution. The communication interface of a module is defined by ports called interaction points (ip s). Each ip refers to a channel which defines two sets of interactions (messages). Nested modules can also communicate by sharing exported variables. 1 These components can be nested in a parent/child relationship. The body definition describes the behavior of the component. It uses the extended finite state machine (EFSM) paradigm. It is composed of three parts : a declaration part, an initialization part and a transition part where the EFSM is described. Within the EFSM, each transition part is made of two different parts, a clause group and a transition block. The clauses within a clause group define the transition firing conditions where the transition block defines the action part of the transition. As Estelle can be viewed as a set of extensions to ISO Pascal [2] level 0, in a similar manner JEstelle can be regarded as a set of extensions to the Java language. Take a simple example of communication between 2 subsystems (it can be done at a lower level for objects of a same subsystem). Figure 1 shows the UML Collaboration Diagram [3] of the system. In figure 2, we have the "translation" in Estelle at the specification level. Each subsystem is a module which has a single interaction point and a channel (C) is created where the messages are defined 1: request(nb) 3 : buy(places) SubSystem 1 SubSystem 2 2 : offer(places) Fig 1 : UML Collaboration Diagram SubSystem 1 channel C SubSystem 2 ip 1 ip 2 specification Fig 2 : Estelle specification view The Extended Finite State Machine (EFSM) of figure 3a shows the messages sent and the actions performed when they are received. In figure 3b is the corresponding JEstelle code. Here obja, objb are class instances belonging to the subsystem2 and objc to subsystem1. The behavior of each subsystem receiving a message is expressed here with a single call to the appropriate class object method. By example, when the subsystem2 receives the message request(nb) the method action1() for the object obja is called.

3 // JEstelle specification body transition part SS1 request(nb) action1() buy(places) action3() offer(places) action2() Fig 3a : EFSM SS2 trans from SS1 to SS2 when ip2.request(nb) obja.action1(); } when ip2.buy(places) objb.action3(); } from SS2 to SS1 when ip1.offer(places) objc.action2(); }; Fig 3b : JEstelle code One of the most important feature of the JEstelle programming is that the implementation of the classes can be external to the JEstelle program. It means that the classes can be implemented with the full featured Java language (see next section). In order to keep the advantage of using some formal semantics (validation, proofs), we will use the existing tools for Estelle specification development. Thus we extended the Estelle Development Toolset [4] with a Java Virtual Machine to execute the Java code without semantic lost. To support the conversion from JEstelle code to Estelle code we developed what we call the JEstelle Native Interface (JENI). Furthermore as the process should be transparent for the designer, the conversion will be automatized. 3. JEstelle Native Interface JEstelle Native Interface (JENI) [5] is the programming interface that allows Java calls to be made from within the Estelle specification file. Using JENI it is possible to use existing Estelle development tools to debug and validate JEstelle programs. Existing Estelle tools, in the simplest case, when desktop version of the software is used, do not need to be altered. The only practical requirement is to extend the native library to include the JENI implementation. JENI (figure 4), in the principle, is the interface containing the set of Estelle primitive functions and pure procedures declarations [1]. Using this set of primitives, operations on Java class objects can be expressed in the Estelle specification. JEstelle Native Interface has been modeled on Java Native Interface [6]. Similarities of the both native programming interfaces should be helpful for Java programmers to easier understand the Estelle code which makes use of JENI. Note, however, that the JENI native interface has been created with the objective to standardize the JEstelle to Estelle translation by automatic parsers rather than by programmers themselves. The objective of JENI is to support the JEstelle development and not to make possible to use Java functionality in the Estelle programs by Estelle users. The designer should rather use JEstelle and automatic tool to generate the correct Estelle code. Fig 4 : JEstelle Native Interface JENI

4 4. JEstelle development The JEstelle development idea is presented figure 5. A JEstelle project includes the JEstelle program file and possibly several user s Java class files (*.class) obtained form the corresponded java sources (*.java). User provided classes and the standard Java API determine resources that are accessible from the JEstelle program and must be visible to the JEstelle executive environment. As we want to take advantage from the existing Estelle support tools the JEstelle program must be converted to the Estelle equivalent. This is the moment where JEstelle Native Interface (JENI) comes replacing all Java statements with appropriate collection of Estelle primitives. Designing with JEstelle might be very easy and comfortable if special support tools are accessible to the designer. For example, providing a JEstelle Graphical Editor, program framework can be expressed with easy-to-learn graphical representation. We will adapt the Estelle Graphical Editor [7]. It uses the wellknown graphical representation of SDL (Specification and Description Language) [8]. This way the required knowledge concerning textual Estelle representation is minimal. Figure 6 presents recommended JEstelle development cycle using JEstelle Development Package and XEDT (Xwindow Estelle Development Toolset) execution environment. JEstelle Development Package consists of JEstelle/GR graphical editor, Fig 5 : JEstelle development idea JEstelle/Estelle parser and Java implementation code generator [4]. To work properly Java implementation code generator needs the EstelleLib package [9] and all user Java source files. The EstelleLib package provides Java classes for the Estelle extended state transition model implementation in pure Java code.

5 Fig 6 : Jestelle Development Cycle 5. Current development and further work. We have successfully tested the idea using Xwindow Estelle Development Toolset working on Unix/Linux based systems. The current version of the JENI interface implementation works on Linux systems and uses Java Native Interface (JNI do not mislead with JENI) technology to achieve proper Java code execution. JENI implementation consists of the JENI library (libjeni) linked in with the Estelle simulator from the XEDT package and the JENI server that services requests for Java native code execution. JENI server and Estelle executive environment communicate using CORBA technology. The work on the JEstelle Development Package is going on. We are currently working on the adaptation of the graphical interface and on the Java code generator. The automatic translator from JEstelle to Estelle code will be the next stage. 6. Conclusion In this document a novel approach to the Java distributed application development has been presented. In its novelty it merges the Estelle formalism with easy-of-use of Java development. Possibility of using user libraries during the design phase gives designers a new effective method for the distributed system development in which the implementation code can be used even in the design phase. The application area is potentially unlimited and ranges from formal protocol specification to the design of distributed Java applications and multi-agent systems. With JEstelle the system design reliability and readability can be improved and the implementation code generation process can be simplified reducing the time-to-market rate. Using JEstelle Development Package designers working with SDL (Specification and Description Language) and with Estelle in particular can quickly move to JEstelle and take advantages of the power of the Java language. From the other side Java programmers can take advantages from formal distributed system modeling with a minimal required learning. We would like to thank Justin Templemore-Finlayson who was the first to have this idea [10]. Bibliography [1] ISO Information Processing Systems Open Systems Interconnection. Estelle, a formal description technique based on an extended state transition model. ISO/IEC 9074:1997 [2] ISO Programming Language Pascal -ISO/IEC 7185 [3] "The Unified Modeling Language Reference Manual" - J. Rumbaugh, I. Jacobson and G. Booch -Addison-Wesley ISBN X [4] XEDT - Estelle Development Toolset - [5] "JENI - JEstelle Native Interface - Reference Manual -" Marcin Czenko INT 2002, Evry. [6] JNI - Java Native Interface specification - itoc.doc.html [7] "The Estelle/GR Editor - User Guide" - Justin Templemore-Finlayson - INT 2000, Evry [8] CCITT. SDL Functional and Specification Language. Recommendation Z.100, 1989, Genève [9] "Using Java in JEstelle specification" - Marcin Czenko research report INT 2002, Evry [10] "JEstelle - A super Java-Estelle idea "- Justin Templemore-Finlayson - internal report INT 2000, Evry

A GRAPHICAL REPRESENTATION AND PROTOTYPE EDITOR FOR THE FORMAL DESCRIPTION TECHNIQUE ESTELLE *

A GRAPHICAL REPRESENTATION AND PROTOTYPE EDITOR FOR THE FORMAL DESCRIPTION TECHNIQUE ESTELLE * A GRAPHICAL REPRESENTATION AND PROTOTYPE EDITOR FOR THE FORMAL DESCRIPTION TECHNIQUE ESTELLE * Justin Templemore-Finlayson Jean-Iuc Raffy, Pieter Kritzinger and Stan Budkowski Data Network Architectures

More information

A GRAPHICAL REPRESENTATION FOR THE FORMAL D;ESCRIPTION TECHNIQUE ESTELLE A DISSERTATION SUBMITTED TO THE DEPARTMENT OF COMPUTER SCIENCE,

A GRAPHICAL REPRESENTATION FOR THE FORMAL D;ESCRIPTION TECHNIQUE ESTELLE A DISSERTATION SUBMITTED TO THE DEPARTMENT OF COMPUTER SCIENCE, I '" A GRAPHICAL REPRESENTATION FOR THE FORMAL D;ESCRIPTION TECHNIQUE ESTELLE A DISSERTATION SUBMITTED TO THE DEPARTMENT OF COMPUTER SCIENCE, FACULTY OF SCIENCE AT THE UNIVERSITY OF CAPE TOWN IN FULFILLMENT

More information

RIGOROUSLY AUTOMATING TRANSFORMATIONS OF UML BEHAVIOR MODELS

RIGOROUSLY AUTOMATING TRANSFORMATIONS OF UML BEHAVIOR MODELS RIGOROUSLY AUTOMATING TRANSFORMATIONS OF UML BEHAVIOR MODELS Jon Whittle 1, João Araújo 2, Ambrosio Toval 3, and Jose Luis Fernández Alemán 3 1 QSS / NASA Ames Research Center, M/S 269-2, Moffett Field,

More information

Hardware Description Languages & System Description Languages Properties

Hardware Description Languages & System Description Languages Properties Hardware Description Languages & System Description Languages Properties There is a need for executable specification language that is capable of capturing the functionality of the system in a machine-readable

More information

PROTOCOL CONVERSION FOR INTERCONNECTING ENERGY MANAGEMENT SYSTEMS. J. Luque, F. Gonzalo, F. Pérez, M. Mejías.

PROTOCOL CONVERSION FOR INTERCONNECTING ENERGY MANAGEMENT SYSTEMS. J. Luque, F. Gonzalo, F. Pérez, M. Mejías. PROTOCOL CONVERSION FOR INTERCONNECTING ENERGY MANAGEMENT SYSTEMS. J. Luque, F. Gonzalo, F. Pérez, M. Mejías. Facultad de Informática. Universidad de Sevilla. Avda. Reina Mercedes s/n. 41012-SEVILLA. SPAIN.

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

Hardware Description Languages & System Description Languages Properties

Hardware Description Languages & System Description Languages Properties Hardware Description Languages & System Description Languages Properties There is a need for executable specification language that is capable of capturing the functionality of the system in a machine-readable

More information

PragmaDev. change request. Emmanuel Gaudin. PragmaDev ITU-T SG17 change request Grimstad June 24,

PragmaDev. change request. Emmanuel Gaudin. PragmaDev ITU-T SG17 change request Grimstad June 24, PragmaDev change request Emmanuel Gaudin emmanuel.gaudin@pragmadev.com Languages Table of contents PragmaDev introduction Languages SDL-RT Tool support Market tendancy Change requests Presentation PragmaDev

More information

SOFTWARE DESIGN COSC 4353 / Dr. Raj Singh

SOFTWARE DESIGN COSC 4353 / Dr. Raj Singh SOFTWARE DESIGN COSC 4353 / 6353 Dr. Raj Singh UML - History 2 The Unified Modeling Language (UML) is a general purpose modeling language designed to provide a standard way to visualize the design of a

More information

AUTOMATED GUI TESTING OF SOFTWARE APPLICATIONS USING UML MODELS

AUTOMATED GUI TESTING OF SOFTWARE APPLICATIONS USING UML MODELS AUTOMATED GUI TESTING OF SOFTWARE APPLICATIONS USING UML MODELS Robertas Jasaitis, Dominykas Barisas, Eduardas Bareisa Kaunas University of Technology, Department of Software Engineering Studentu st. 50,

More information

Software Service Engineering

Software Service Engineering Software Service Engineering Lecture 4: Unified Modeling Language Doctor Guangyu Gao Some contents and notes selected from Fowler, M. UML Distilled, 3rd edition. Addison-Wesley Unified Modeling Language

More information

Integration of Application Business Logic and Business Rules with DSL and AOP

Integration of Application Business Logic and Business Rules with DSL and AOP Integration of Application Business Logic and Business Rules with DSL and AOP Bogumiła Hnatkowska and Krzysztof Kasprzyk Wroclaw University of Technology, Wyb. Wyspianskiego 27 50-370 Wroclaw, Poland Bogumila.Hnatkowska@pwr.wroc.pl

More information

Performance Evaluation of Java And C++ Distributed Applications In A CORBA Environment

Performance Evaluation of Java And C++ Distributed Applications In A CORBA Environment Performance Evaluation of Java And C++ Distributed Applications In A CORBA Environment Sanjay P. Ahuja Roger Eggen Cheryl Daucher Department of Computer and Information Sciences University of North Florida

More information

Guidelines for Writing C Code

Guidelines for Writing C Code Guidelines for Writing C Code Issue 01-bugfix Martin Becker Institute for Real-Time Computer Systems (RCS) Technische Universität München becker@rcs.ei.tum.de June 9, 2014 Contents 1 Introduction 1 2 Pragmatic

More information

CISC 322 Software Architecture

CISC 322 Software Architecture CISC 322 Software Architecture UML - The Unified Modelling Language Nicolas Bettenburg 1 DEFINITION The Unified Modelling Language (UML) is a graphical language for visualizing, specifying, constructing,

More information

Thirty one Problems in the Semantics of UML 1.3 Dynamics

Thirty one Problems in the Semantics of UML 1.3 Dynamics Thirty one Problems in the Semantics of UML 1.3 Dynamics G. Reggio R.J. Wieringa September 14, 1999 1 Introduction In this discussion paper we list a number of problems we found with the current dynamic

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

From Analysis to Design. LTOOD/OOAD Verified Software Systems

From Analysis to Design. LTOOD/OOAD Verified Software Systems From Analysis to Design 1 Use Cases: Notation Overview Actor Use case System X System boundary UCBase «extend» UCExt Actor A UCVar1 UCVar2 Extending case Generalization «include» Actor B UCIncl Included

More information

Object-Oriented Design

Object-Oriented Design Object-Oriented Design Lecture 14: Design Workflow Department of Computer Engineering Sharif University of Technology 1 UP iterations and workflow Workflows Requirements Analysis Phases Inception Elaboration

More information

The UML Extension Mechanisms

The UML Extension Mechanisms Jasmine Farhad Dept of Computer Science University College London 13-Dec-02 The UML Extension Mechanisms Introduction There is an important need for organisations to evolve in today s market. This has

More information

Visualizing the Synchronization of Java-Threads with UML

Visualizing the Synchronization of Java-Threads with UML Visualizing the Synchronization of Java-Threads with UML Katharina Mehner Annika Wagner University of Paderborn Department of Computer Science D-33095 Paderborn, Germany {mehner awa@upb.de Abstract Concurrent

More information

Course "Softwaretechnik" Book Chapter 2 Modeling with UML

Course Softwaretechnik Book Chapter 2 Modeling with UML Course "Softwaretechnik" Book Chapter 2 Modeling with UML Lutz Prechelt, Bernd Bruegge, Allen H. Dutoit Freie Universität Berlin, Institut für Informatik http://www.inf.fu-berlin.de/inst/ag-se/ Modeling,

More information

Synchronous Estelle: Just Another Synchronous Language?

Synchronous Estelle: Just Another Synchronous Language? Electronic Notes in Theoretical Computer Science 88 (2003) URL: http://www.elsevier.nl/locate/entcs/volume88.html 15 pages Synchronous Estelle: Just Another Synchronous Language? Miguel Riesco 1 Javier

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

Modeling Systems Using Design Patterns

Modeling Systems Using Design Patterns Modeling Systems Using Design Patterns Jaroslav JAKUBÍK Slovak University of Technology Faculty of Informatics and Information Technologies Ilkovičova 3, 842 16 Bratislava, Slovakia jakubik@fiit.stuba.sk

More information

Using Formal Description Technique ESTELLE for Manufacturing Systems Specification or Description

Using Formal Description Technique ESTELLE for Manufacturing Systems Specification or Description Using Formal Description Technique ESTELLE for Manufacturing Systems Specification or Description Sousa, R. a ; Putnik, G. b ; Moreira, F. c Production and Systems Engineering Department - School of Engineering

More information

March 2, Homepage:

March 2, Homepage: Action Semantics for an Executable UML Thomas Feng March 2, 2003 Email: thomas@email.com.cn Homepage: http://moncs.cs.mcgill.ca/people/tfeng/ Why are we interested in semantics? Other than syntax, the

More information

Teaching Encapsulation and Modularity in Object-Oriented Languages with Access Graphs

Teaching Encapsulation and Modularity in Object-Oriented Languages with Access Graphs Teaching Encapsulation and Modularity in Object-Oriented Languages with Access Graphs Gilles Ardourel, Marianne Huchard To cite this version: Gilles Ardourel, Marianne Huchard. Teaching Encapsulation and

More information

UNIT V *********************************************************************************************

UNIT V ********************************************************************************************* Syllabus: 1 UNIT V 5. Package Diagram, Component Diagram, Deployment Diagram (08 Hrs, 16 Marks) Package Diagram: a. Terms and Concepts Names, Owned Elements, Visibility, Importing and Exporting b. Common

More information

Comparative Analysis of Architectural Views Based on UML

Comparative Analysis of Architectural Views Based on UML Electronic Notes in Theoretical Computer Science 65 No. 4 (2002) URL: http://www.elsevier.nl/locate/entcs/volume65.html 12 pages Comparative Analysis of Architectural Views Based on UML Lyrene Fernandes

More information

The Unified Modeling Language User Guide

The Unified Modeling Language User Guide The Unified Modeling Language User Guide Grady Booch James Rumbaugh Ivar Jacobson Rational Software Corporation TT ADDISON-WESLEY Boston San Francisco New York Toronto Montreal London Munich Paris Madrid

More information

A TESTING METHODOLOGY FOR AN OPEN SOFTWARE E-LEARNING PLATFORM

A TESTING METHODOLOGY FOR AN OPEN SOFTWARE E-LEARNING PLATFORM A TESTING METHODOLOGY FOR AN OPEN SOFTWARE E-LEARNING PLATFORM Ana Cavalli, Stéphane Maag, Sofia Papagiannaki and Georgios Verigakis GET / Institut National des Télécommunications Laboratoire SAMOVAR /

More information

ETSI ETR 346 TECHNICAL December 1996 REPORT

ETSI ETR 346 TECHNICAL December 1996 REPORT ETSI ETR 346 TECHNICAL December 1996 REPORT Source: ETSI TC-RES Reference: DTR/RES-06013-1 ICS: 33.020 Key words: Testing, TTCN, abstract test suite, validation Radio Equipment and Systems (RES); Trans-European

More information

Element: Relations: Topology: no constraints.

Element: Relations: Topology: no constraints. The Module Viewtype The Module Viewtype Element: Elements, Relations and Properties for the Module Viewtype Simple Styles Call-and-Return Systems Decomposition Style Uses Style Generalization Style Object-Oriented

More information

3rd Lecture Languages for information modeling

3rd Lecture Languages for information modeling 3rd Lecture Languages for information modeling Agenda Languages for information modeling UML UML basic concepts Modeling by UML diagrams CASE tools: concepts, features and objectives CASE toolset architecture

More information

CORBA Navigator, A Versatile CORBA Client and its application to Network Management

CORBA Navigator, A Versatile CORBA Client and its application to Network Management APNOMS 2003 CORBA Navigator, A Versatile CORBA Client and its application to Network Management KAWABATA, Taichi YATA, Kouji IWASHITA, Katsushi NTT Network Innovation Laboratories {kawabata.taichi, iwashita.katsushi,

More information

Object-Oriented Programming

Object-Oriented Programming Object-Oriented Programming 3/18/14 Presentation for use with the textbook Data Structures and Algorithms in Java, 6th edition, by M. T. Goodrich, R. Tamassia, and M. H. Goldwasser, Wiley, 2014 Object-Oriented

More information

Modeling automatic train regulation systems

Modeling automatic train regulation systems Modeling automatic train regulation systems J.K. Tobin Alcatel Canada Inc., Transport Automation Systems, Canada Abstract The increasing complexity of automatic train supervision and regulation systems

More information

Lecture Notes UML UNIT-II. Subject: OOAD Semester: 8TH Course No: CSE-802

Lecture Notes UML UNIT-II. Subject: OOAD Semester: 8TH Course No: CSE-802 UNIT-II Lecture Notes On UML IMPORTANCE OF MODELING, BRIEF OVERVIEW OF OBJECT MODELING TECHNOLOGY (OMT) BY RAMBAUGH, BOOCH METHODOLOGY, USE CASE DRIVE APPROACH (OOSE) BY JACKOBSON. KHALID AMIN AKHOON 1

More information

Chapter 4. Capturing the Requirements. 4th Edition. Shari L. Pfleeger Joanne M. Atlee

Chapter 4. Capturing the Requirements. 4th Edition. Shari L. Pfleeger Joanne M. Atlee Chapter 4 Capturing the Requirements Shari L. Pfleeger Joanne M. Atlee 4th Edition It is important to have standard notations for modeling, documenting, and communicating decisions Modeling helps us to

More information

Raising the Level of Development: Models, Architectures, Programs

Raising the Level of Development: Models, Architectures, Programs IBM Software Group Raising the Level of Development: Models, Architectures, Programs Dr. James Rumbaugh IBM Distinguished Engineer Why Is Software Difficult? Business domain and computer have different

More information

Understanding the Object Paradigm

Understanding the Object Paradigm 2 Understanding the Object Paradigm M MAJOR A J O R T TOPICSO P I C S Objectives... 18 Pre-Test Questions... 18 Introduction... 19 Classes... 19 Classes and Functions... 20 Abstraction... 25 Adding and

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

Oracle Forms Modernization Through Automated Migration. A Technical Overview

Oracle Forms Modernization Through Automated Migration. A Technical Overview Oracle Forms Modernization Through Automated Migration A Technical Overview Table of Contents Document Overview... 3 Oracle Forms Modernization... 3 Benefits of Using an Automated Conversion Tool... 3

More information

Vision Document for Multi-Agent Research Tool (MART)

Vision Document for Multi-Agent Research Tool (MART) Vision Document for Multi-Agent Research Tool (MART) Version 2.0 Submitted in partial fulfillment of the requirements for the degree MSE Madhukar Kumar CIS 895 MSE Project Kansas State University 1 1.

More information

Scenario-based Synthesis of Annotated Class Diagrams in UML

Scenario-based Synthesis of Annotated Class Diagrams in UML Scenario-based Synthesis of Annotated Class Diagrams in UML Petri Selonen and Tarja Systä Tampere University of Technology, Software Systems Laboratory, P.O.Box 553, FIN-33101 Tampere, Finland {pselonen,tsysta}@cs.tut.fi

More information

Mapping UML Component Specifications to JEE Implementations

Mapping UML Component Specifications to JEE Implementations Journal of Computer Science 3 (10): 780-785, 2007 ISSN 1549-3636 2007 Science Publications Mapping UML Component Specifications to JEE Implementations Jyhjong Lin Department of Information Management,

More information

A PRIMITIVE EXECUTION MODEL FOR HETEROGENEOUS MODELING

A PRIMITIVE EXECUTION MODEL FOR HETEROGENEOUS MODELING A PRIMITIVE EXECUTION MODEL FOR HETEROGENEOUS MODELING Frédéric Boulanger Supélec Département Informatique, 3 rue Joliot-Curie, 91192 Gif-sur-Yvette cedex, France Email: Frederic.Boulanger@supelec.fr Guy

More information

A PROPOSAL FOR MODELING THE CONTROL SYSTEM FOR THE SPANISH LIGHT SOURCE IN UML

A PROPOSAL FOR MODELING THE CONTROL SYSTEM FOR THE SPANISH LIGHT SOURCE IN UML A PROPOSAL FOR MODELING THE CONTROL SYSTEM FOR THE SPANISH LIGHT SOURCE IN UML D. Beltran*, LLS, Barcelona, Spain M. Gonzalez, CERN, Geneva, Switzerlan Abstract CELLS (Consorcio para la construcción, equipamiento

More information

Compiler construction

Compiler construction Compiler construction Martin Steffen January 16, 2017 Contents 1 Abstract 1 1.1 Introduction............................................... 1 1.1.1 Introduction..........................................

More information

Specification and design of distributed embedded middleware applications with SDL Dr. Eckhardt Holz. Humboldt-Universität zu Berlin

Specification and design of distributed embedded middleware applications with SDL Dr. Eckhardt Holz. Humboldt-Universität zu Berlin Specification and design of distributed embedded middleware applications with SDL-2000 Dr. Eckhardt Holz Humboldt-Universität zu Berlin SDL-2000 ITU-T Specification and Description Language graphical language

More information

Transition from EBNF to Xtext

Transition from EBNF to Xtext Transition from EBNF to Xtext Jianan Yue State Key Laboratory for Novel Software Technology, Nanjing University Department of Computer Science & Technology, Nanjing University 210023 Nanjing, China b111220168@smail.nju.edu.cn

More information

INTERNATIONAL JOURNAL OF COMPUTER ENGINEERING & TECHNOLOGY (IJCET) NEED FOR DESIGN PATTERNS AND FRAMEWORKS FOR QUALITY SOFTWARE DEVELOPMENT

INTERNATIONAL JOURNAL OF COMPUTER ENGINEERING & TECHNOLOGY (IJCET) NEED FOR DESIGN PATTERNS AND FRAMEWORKS FOR QUALITY SOFTWARE DEVELOPMENT INTERNATIONAL JOURNAL OF COMPUTER ENGINEERING & TECHNOLOGY (IJCET) International Journal of Computer Engineering and Technology (IJCET), ISSN 0976 6367(Print), ISSN 0976 6367(Print) ISSN 0976 6375(Online)

More information

Course "Softwaretechnik Modeling with UML Stephan Salinger

Course Softwaretechnik Modeling with UML Stephan Salinger Course "Softwaretechnik Modeling with UML Stephan Salinger (Foliensatz/Inhalt: Lutz Prechelt, Bernd Bruegge, Allen H. Dutoit) Freie Universität Berlin, Institut für Informatik http://www.inf.fu-berlin.de/inst/ag-se/

More information

INF5110 Compiler Construction

INF5110 Compiler Construction INF5110 Compiler Construction Introduction Spring 2016 1 / 33 Outline 1. Introduction Introduction Compiler architecture & phases Bootstrapping and cross-compilation 2 / 33 Outline 1. Introduction Introduction

More information

Michel Heydemann Alain Plaignaud Daniel Dure. EUROPEAN SILICON STRUCTURES Grande Rue SEVRES - FRANCE tel : (33-1)

Michel Heydemann Alain Plaignaud Daniel Dure. EUROPEAN SILICON STRUCTURES Grande Rue SEVRES - FRANCE tel : (33-1) THE ARCHITECTURE OF A HIGHLY INTEGRATED SIMULATION SYSTEM Michel Heydemann Alain Plaignaud Daniel Dure EUROPEAN SILICON STRUCTURES 72-78 Grande Rue - 92310 SEVRES - FRANCE tel : (33-1) 4626-4495 Abstract

More information

CHARLES UNIVERSITY, PRAGUE FACULTY OF MATHEMATICS AND PHYSICS. Master Thesis. Michael Cífka Visual Development of Software Components

CHARLES UNIVERSITY, PRAGUE FACULTY OF MATHEMATICS AND PHYSICS. Master Thesis. Michael Cífka Visual Development of Software Components CHARLES UNIVERSITY, PRAGUE FACULTY OF MATHEMATICS AND PHYSICS Master Thesis Michael Cífka Visual Development of Software Components Supervisor: Ing. Petr Tůma, Dr. I would like to thank my supervisor,

More information

Module 3 Web Component

Module 3 Web Component Module 3 Component Model Objectives Describe the role of web components in a Java EE application Define the HTTP request-response model Compare Java servlets and JSP components Describe the basic session

More information

Software Engineering from a

Software Engineering from a Software Engineering from a modeling perspective Robert B. France Dept. of Computer Science Colorado State University USA france@cs.colostate.edu Softwaredevelopment problems Little or no prior planning

More information

Cisco Accessibility Conformance Report VPAT Version 2.0

Cisco Accessibility Conformance Report VPAT Version 2.0 Cisco Accessibility Conformance Report VPAT Version 2.0 Name of Product/Version: UC-One Communicator for Mac v22.1 Product Description: UC-One Communicator for Desktop is a native Windows and Mac client

More information

Targeting Ada95/DSA for Distributed Simulation of Multiprotocol Communication Networks

Targeting Ada95/DSA for Distributed Simulation of Multiprotocol Communication Networks Targeting Ada95/DSA for Distributed Simulation of Multiprotocol Communication Networks Dhavy Gantsou University of Valenciennes ISTV 2 59313 Valenciennes Cedex 09 France E-mail : Dhavy.gantsou@univ-valenciennes.fr

More information

Learn IEC Configuration In 30 Minutes

Learn IEC Configuration In 30 Minutes Learn IEC 61850 Configuration In 30 Minutes Wei Huang ABB Inc. Lake Mary, FL, USA Wei.huang@us.abb.com Abstract the myth says IEC 61850 is too complicated to use with a steep learning curve. The traditional

More information

Programming Paradigms

Programming Paradigms Programming Paradigms Programming languages A Programming language is a notational system for describing tasks/computations in a machine and human readable form. Most computer languages are designed to

More information

Solution overview VISUAL COBOL BUSINESS CHALLENGE SOLUTION OVERVIEW BUSINESS BENEFIT

Solution overview VISUAL COBOL BUSINESS CHALLENGE SOLUTION OVERVIEW BUSINESS BENEFIT BUSINESS CHALLENGE There is an increasing demand from users of business software for easier to use applications which integrate with other business systems. As a result IT organizations are being asked

More information

An object oriented application for corporate networks design

An object oriented application for corporate networks design An object oriented application for corporate networks design Erik Chrisment France Telecom Cnet 06921 Sophia Antipolis Cedex - FRANCE chrismen@sophia.cnet.fr (+33) 92 94 53 10 1.0 Introduction For several

More information

Approaches of using UML for Embedded System Design

Approaches of using UML for Embedded System Design Approaches of using UML for Embedded System Design Sudeep D. Thepade Lecturer, Dept. of Information Technology, Thadomal Shahani Engg. College, Bandra, Mumbai sudeepthepade@gmail.com Abstract New approaches

More information

Software Development Methodologies

Software Development Methodologies Software Development Methodologies Lecturer: Raman Ramsin Lecture 3 Seminal Object-Oriented Methodologies: A Feature-Focused Review 1 Responsibility-Driven Design (RDD) Introduced in 1990; a UML-based

More information

Applying Idioms for Synchronization Mechanisms Synchronizing communication components for the One-dimensional Heat Equation

Applying Idioms for Synchronization Mechanisms Synchronizing communication components for the One-dimensional Heat Equation Applying Idioms for Synchronization Mechanisms Synchronizing communication components for the One-dimensional Heat Equation Jorge L. Ortega Arjona 1 Departamento de Matemáticas Facultad de Ciencias, UNAM

More information

Software Development. Modular Design and Algorithm Analysis

Software Development. Modular Design and Algorithm Analysis Software Development Modular Design and Algorithm Analysis Functional Decomposition Functional Decomposition in computer science, also known as factoring, refers to the process by which a complex problem

More information

Generating Reduced Finite State Machine from Concurrent Scenarios Using Static Partial Order Method Nam Hee Lee and Sung Deok Cha

Generating Reduced Finite State Machine from Concurrent Scenarios Using Static Partial Order Method Nam Hee Lee and Sung Deok Cha Generating Reduced Finite State Machine from Concurrent Scenarios Using Static Partial Order Method Nam Hee Lee and Sung Deok Cha Division of Computer Science and AITrc/SPIC/IIRTRC Department of Electrical

More information

Engineering Design w/embedded Systems

Engineering Design w/embedded Systems 1 / 40 Engineering Design w/embedded Systems Lecture 33 UML Patrick Lam University of Waterloo April 4, 2013 2 / 40 What is UML? Unified Modelling Language (UML): specify and document architecture of large

More information

Apple Accessibility Conformance Report Based on Voluntary Product Accessibility Template (VPAT )

Apple Accessibility Conformance Report Based on Voluntary Product Accessibility Template (VPAT ) Apple Accessibility Conformance Report Based on Voluntary Product Accessibility Template (VPAT ) Name of Product: s 4.0 for ios Product Description: A word processor application for iphone, ipad, and ipod

More information

FDI Field Device Integration Technology

FDI Field Device Integration Technology FDI Field Device Integration Technology 1 Table of Contents 1 Introduction... 3 2 FDI Technology... 3 2.1 FDI Package... 3 3 FDI host... 4 3.1 Hierarchical networks nested communication... 6 3.2 Harmonization

More information

Objectives. UML Extension Mechanisms. What is UML? Is the UML enough? UML Extension Mechanisms. Specifications. By Jasmine Farhad

Objectives. UML Extension Mechanisms. What is UML? Is the UML enough? UML Extension Mechanisms. Specifications. By Jasmine Farhad UML Extension Mechanisms By Jasmine Farhad j.farhad@cs.ucl.ac.uk Objectives Briefly describe the UML Introduce the UML Extension Mechanisms: Specifications Common Divisions Adornments Extensibility Mechanism(we

More information

USING BPEL FOR BEHAVIOURAL CONCEPTS IN ODP ENTERPRISE LANGUAGE

USING BPEL FOR BEHAVIOURAL CONCEPTS IN ODP ENTERPRISE LANGUAGE 23 USING BPEL FOR BEHAVIOURAL CONCEPTS IN ODP ENTERPRISE LANGUAGE Youssef Balouki, Mohamed Bouhdadi A Department of Mathematics & Computer Science, University Mohammed V Morocco, MOROCCO email: balouki@cmr.gov.ma

More information

IBM SPSS Statistics and open source: A powerful combination. Let s go

IBM SPSS Statistics and open source: A powerful combination. Let s go and open source: A powerful combination Let s go The purpose of this paper is to demonstrate the features and capabilities provided by the integration of IBM SPSS Statistics and open source programming

More information

UML Modeling I. Instructor: Yongjie Zheng September 3, CS 490MT/5555 Software Methods and Tools

UML Modeling I. Instructor: Yongjie Zheng September 3, CS 490MT/5555 Software Methods and Tools UML Modeling I Instructor: Yongjie Zheng September 3, 2015 CS 490MT/5555 Software Methods and Tools Object-Oriented Design: Topics & Skills Rational Unified Process Unified Modeling Languages (UML) Provide

More information

OBJECT-ORIENTED SOFTWARE DEVELOPMENT Using OBJECT MODELING TECHNIQUE (OMT)

OBJECT-ORIENTED SOFTWARE DEVELOPMENT Using OBJECT MODELING TECHNIQUE (OMT) OBJECT-ORIENTED SOFTWARE DEVELOPMENT Using OBJECT MODELING TECHNIQUE () Ahmed Hayajneh, May 2003 1 1 Introduction One of the most popular object-oriented development techniques today is the Object Modeling

More information

Towards Formalization of ARD+ Conceptual Design and Refinement Method

Towards Formalization of ARD+ Conceptual Design and Refinement Method Proceedings of the Twenty-First International FLAIRS Conference (2008) Towards Formalization of ARD+ Conceptual Design and Refinement Method Grzegorz J. Nalepa and Igor Wojnicki Institute of Automatics,

More information

ANSAwise - The ODP Reference Model

ANSAwise - The ODP Reference Model Poseidon House Castle Park Cambridge CB3 0RD United Kingdom TELEPHONE: Cambridge (01223) 515010 INTERNATIONAL: +44 1223 515010 FAX: +44 1223 359779 E-MAIL: apm@ansa.co.uk Training ANSAwise - The ODP Reference

More information

Spemmet - A Tool for Modeling Software Processes with SPEM

Spemmet - A Tool for Modeling Software Processes with SPEM Spemmet - A Tool for Modeling Software Processes with SPEM Tuomas Mäkilä tuomas.makila@it.utu.fi Antero Järvi antero.jarvi@it.utu.fi Abstract: The software development process has many unique attributes

More information

Extensible Multipurpose Simulation Platform

Extensible Multipurpose Simulation Platform Proceedings of the 6th WSEAS International Conference on Simulation, Modelling and Optimization, Lisbon, Portugal, September 22-24, 2006 738 Extensible Multipurpose Simulation Platform ENN TYUGU Institute

More information

Object-Oriented Software Engineering Practical Software Development using UML and Java

Object-Oriented Software Engineering Practical Software Development using UML and Java Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 5: Modelling with Classes Lecture 5 5.1 What is UML? The Unified Modelling Language is a standard graphical

More information

Describing Computer Languages

Describing Computer Languages Markus Scheidgen Describing Computer Languages Meta-languages to describe languages, and meta-tools to automatically create language tools Doctoral Thesis August 10, 2008 Humboldt-Universität zu Berlin

More information

Keywords: Abstract Factory, Singleton, Factory Method, Prototype, Builder, Composite, Flyweight, Decorator.

Keywords: Abstract Factory, Singleton, Factory Method, Prototype, Builder, Composite, Flyweight, Decorator. Comparative Study In Utilization Of Creational And Structural Design Patterns In Solving Design Problems K.Wseem Abrar M.Tech., Student, Dept. of CSE, Amina Institute of Technology, Shamirpet, Hyderabad

More information

CONTENT MODEL FOR MOBILE ADAPTATION OF MULTIMEDIA INFORMATION

CONTENT MODEL FOR MOBILE ADAPTATION OF MULTIMEDIA INFORMATION CONTENT MODEL FOR MOBILE ADAPTATION OF MULTIMEDIA INFORMATION Maija Metso, Antti Koivisto and Jaakko Sauvola MediaTeam, MVMP Unit Infotech Oulu, University of Oulu e-mail: {maija.metso, antti.koivisto,

More information

FOUR INDEPENDENT TOOLS TO MANAGE COMPLEXITY INHERENT TO DEVELOPING STATE OF THE ART SYSTEMS. DEVELOPER SPECIFIER TESTER

FOUR INDEPENDENT TOOLS TO MANAGE COMPLEXITY INHERENT TO DEVELOPING STATE OF THE ART SYSTEMS. DEVELOPER SPECIFIER TESTER TELECOM AVIONIC SPACE AUTOMOTIVE SEMICONDUCTOR IOT MEDICAL SPECIFIER DEVELOPER FOUR INDEPENDENT TOOLS TO MANAGE COMPLEXITY INHERENT TO DEVELOPING STATE OF THE ART SYSTEMS. TESTER PragmaDev Studio is a

More information

Finite State Machine Based Object-Oriented Applications Development Using UML and Eclipse Platform

Finite State Machine Based Object-Oriented Applications Development Using UML and Eclipse Platform Finite State Machine Based Object-Oriented Applications Development Using UML and Eclipse Platform Vadim Gurov, Maxim Korotkov, Maxim Mazin evelopers Corp. Abstract This paper describes methodology and

More information

Teaching and Training Formal Methods for Safety Critical Systems

Teaching and Training Formal Methods for Safety Critical Systems Teaching and Training Formal Methods for Safety Critical Systems Michael Lipaczewski and Frank Ortmeier Computer Systems in Engineering Otto-von-Guericke University Magdeburg {michael.lipaczewski,frank.ortmeier}@ovgu.de

More information

PRACTICAL APPROACH TO DISTRIBUTED SYSTEMS DESIGN 1

PRACTICAL APPROACH TO DISTRIBUTED SYSTEMS DESIGN 1 PRACTICAL APPROACH TO DISTRIBUTED SYSTEMS DESIGN 1 Jerzy Mieścicki, Wiktor B. Daszczuk Waldemar Grabski, Artur Krystosik Warsaw University of Technology, Institute of Computer Science {jms,wbd,wgr,akr}@ii.pw.edu.pl

More information

SLIDE 2. At the beginning of the lecture, we answer question: On what platform the system will work when discussing this subject?

SLIDE 2. At the beginning of the lecture, we answer question: On what platform the system will work when discussing this subject? SLIDE 2 At the beginning of the lecture, we answer question: On what platform the system will work when discussing this subject? We have two systems: Widnows and Linux. The easiest solution is to use the

More information

Hunting for Bindings in Distributed Object-Oriented Systems

Hunting for Bindings in Distributed Object-Oriented Systems Hunting for Bindings in Distributed Object-Oriented Systems Magdalena S lawiñska Faculty of Electronics, Telecommunications and Informatics Gdańsk University of Technology Narutowicza 11/12, 80-952 Gdańsk,

More information

AGH University of Science and Technology Computer Science Laboratory Department of Automatics Al. Mickiewicza Kraków, POLAND

AGH University of Science and Technology Computer Science Laboratory Department of Automatics Al. Mickiewicza Kraków, POLAND AGH University of Science and Technology Computer Science Laboratory Department of Automatics Al. Mickiewicza 30 30-059 Kraków, POLAND Introduction to Alvis internal language syntax Marcin Szpyrka, Piotr

More information

Design Specification of Cyber-Physical Systems: Towards a Domain-Specific Modeling Language based on Simulink, Eclipse Modeling Framework, and Giotto

Design Specification of Cyber-Physical Systems: Towards a Domain-Specific Modeling Language based on Simulink, Eclipse Modeling Framework, and Giotto Design Specification of Cyber-Physical Systems: Towards a Domain-Specific Modeling Language based on Simulink, Eclipse Modeling Framework, and Giotto Muhammad Umer Tariq, Jacques Florence, and Marilyn

More information

INTERNATIONAL STANDARD

INTERNATIONAL STANDARD INTERNATIONAL STANDARD ISO/IEC 14776-413 First edition 2007-02 Information technology Small computer system interface (SCSI) Part 413: Architecture model-3 (SAM-3) Reference number ISO/IEC 14776-413:2007(E)

More information

INTERNATIONAL STANDARD

INTERNATIONAL STANDARD IEC 61158-3-1 INTERNATIONAL STANDARD Edition 1.0 2007-12 Industrial communication networks Fieldbus specifications Part 3-1: Data-link layer service definition Type 1 elements INTERNATIONAL ELECTROTECHNICAL

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

Simple Service Developed with Ericsson OSA/Parlay Simulator

Simple Service Developed with Ericsson OSA/Parlay Simulator Mobile Open Society through Wireless Telecommunications MOST International Conference 7-8 October 2002, Warsaw, Poland Simple Service Developed with Ericsson OSA/Parlay Simulator Michał Rój, Jarosław Domaszewicz

More information

I. Overview. General User Interface Development Flow

I. Overview. General User Interface Development Flow I. Overview Intellics DAMDesigner is an end to end solution for designing and implementing HMI middleware. It provides an accomplished set of mechanisms for seamless integration of HMI stacks to underlying

More information

Integrating Systems and Software Engineering Concepts in AP-233

Integrating Systems and Software Engineering Concepts in AP-233 Integrating Systems and Software Engineering Concepts in AP-233 Asmus Pandikow, Erik Herzog, Anders Törne Real-Time Systems Laboratory Linköpings Universitet 581 83 Linköping, Sweden E-mail: {asmpa, erica,

More information