Włodzimierz Funika, Marcin Białek, Piotr Pęgiel, Marcin Smętek Institute of Computer Science AGH, Mickiewicza 30, 30-059 Kraków, Poland A Case Study of.

Slides:



Advertisements
Similar presentations
Grzegorz Wianecki, Mateusz Wójcik, Włodzimierz Funika, Marcin Smętek 1 Institute of Computer Science AGH, Mickiewicza 30, Kraków, Poland 2 Academic.
Advertisements

compilers and interpreters
Threads, SMP, and Microkernels
Chapter 2 Operating System Overview Operating Systems: Internals and Design Principles, 6/E William Stallings.
CS0004: Introduction to Programming Visual Studio 2010 and Controls.
Introduction CSCI 444/544 Operating Systems Fall 2008.
Broker Pattern Pattern-Oriented Software Architecture (POSA 1)
Multimedia authoring with iShell Ian Hart CAUT Interactive Media Group.
Fall 2007cs4251 Distributed Computing Umar Kalim Dept. of Communication Systems Engineering 31/10/2007.
Programming Languages Structure
A New Soar Debugger in Java Douglas Pearson ThreePenny Software
© Lethbridge/Laganière 2001 Chap. 3: Basing Development on Reusable Technology 1 Let’s get started. Let’s start by selecting an architecture from among.
1 An Introduction to Visual Basic Objectives Explain the history of programming languages Define the terminology used in object-oriented programming.
Institute of Computer Science AGH Performance Monitoring of Java Web Service-based Applications Włodzimierz Funika, Piotr Handzlik Lechosław Trębacz Institute.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 12 Slide 1 Distributed Systems Design 1.
Slide 1 of 9 Presenting 24x7 Scheduler The art of computer automation Press PageDown key or click to advance.
Client/Server Architectures
Computer Programming-1 CSC 111 Chapter 1 : Introduction.
Cracow Grid Workshop 2003 Institute of Computer Science AGH A Concept of a Monitoring Infrastructure for Workflow-Based Grid Applications Bartosz Baliś,
A Scalable Application Architecture for composing News Portals on the Internet Serpil TOK, Zeki BAYRAM. Eastern MediterraneanUniversity Famagusta Famagusta.
© Janice Regan, CMPT 128, Jan CMPT 128 Introduction to Computing Science for Engineering Students Creating a program.
Advanced Grid-Enabled System for Online Application Monitoring Main Service Manager is a central component, one per each.
Microsoft Visual Basic 2005: Reloaded Second Edition
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 12 Slide 1 Distributed Systems Architectures.
CGW 2003 Institute of Computer Science AGH Proposal of Adaptation of Legacy C/C++ Software to Grid Services Bartosz Baliś, Marian Bubak, Michał Węgiel,
Introduction and Overview Questions answered in this lecture: What is an operating system? How have operating systems evolved? Why study operating systems?
ICOM 5995: Performance Instrumentation and Visualization for High Performance Computer Systems Lecture 7 October 16, 2002 Nayda G. Santiago.
Chapter 11: Introduction to the Visual Basic Environment Spreadsheet-Based Decision Support Systems Prof. Name Position (123) University.
Copyright © 2012 Pearson Education, Inc. Chapter 1: Introduction to Computers and Programming.
J-OCM is a system for monitoring distributed Java applications conforming to OMIS specification with J-OMIS extensions. It is used to: gather information.
Lechoslaw Trębacz 1, Włodzimierz Funika 2, Piotr Handzlik 3, Marcin Smętek 2 1 Department of Computer Methods in Metallurgy, AGH, Kraków, Poland 2 Institute.
KEOPS.Pack&Ship Desktop June, KEOPS KEOPS.Pack&Ship Desktop is a software toolkit you can integrate into your Warehouse Management System to :
CS 3131 Introduction to Programming in Java Rich Maclin Computer Science Department.
Introduction CS 3358 Data Structures. What is Computer Science? Computer Science is the study of algorithms, including their  Formal and mathematical.
OMIS Approach to Grid Application Monitoring Bartosz Baliś Marian Bubak Włodzimierz Funika Roland Wismueller.
By Garrett Kelly. 3 types or reasons for distributed applications Data Data used by the application is distributed Computation Computation is distributed.
1 M. Tudruj, J. Borkowski, D. Kopanski Inter-Application Control Through Global States Monitoring On a Grid Polish-Japanese Institute of Information Technology,
Homework #1 J. H. Wang Oct. 5, 2015.
A Summary of the Distributed System Concepts and Architectures Gayathri V.R. Kunapuli
Distributed System Concepts and Architectures 2.3 Services Fall 2011 Student: Fan Bai
DISTRIBUTED COMPUTING. Computing? Computing is usually defined as the activity of using and improving computer technology, computer hardware and software.
Debugging parallel programs. Breakpoint debugging Probably the most widely familiar method of debugging programs is breakpoint debugging. In this method,
CS 460/660 Compiler Construction. Class 01 2 Why Study Compilers? Compilers are important – –Responsible for many aspects of system performance Compilers.
What is WinRunner ► WinRunner is Mercury’s legacy automated testing tool ► It is similar to QTP in functionality ► WinRunner integrates with other Mercury.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 13. Review Shared Data Software Architectures – Black board Style architecture.
Abstract A Structured Approach for Modular Design: A Plug and Play Middleware for Sensory Modules, Actuation Platforms, Task Descriptions and Implementations.
 Programming - the process of creating computer programs.
Włodzimierz Funika 1, Marian Bubak 1,2, Marcin Smętek 1 and Roland Wismüller 3 1 Institute of Computer Science, AGH, Kraków, Poland 2 Academic Computer.
Source Level Debugging of Parallel Programs Roland Wismüller LRR-TUM, TU München Germany.
Lesson 1 1 LESSON 1 l Background information l Introduction to Java Introduction and a Taste of Java.
Marian Bubak 1,2, Włodzimierz Funika 1,2, Roland Wismüller 3, Tomasz Arodź 1,2, Marcin Kurdziel 1,2 1 Institute of Computer Science, AGH, Kraków, Poland.
CSC 480 Software Engineering Lecture 17 Nov 4, 2002.
Chapter – 8 Software Tools.
Operating Systems Unit 2: – Process Context switch Interrupt Interprocess communication – Thread Thread models Operating Systems.
Visual Programming Borland Delphi. Developing Applications Borland Delphi is an object-oriented, visual programming environment to develop 32-bit applications.
BlueJ X ICSE Syllabus. Board Pattern THEORY (100 marks) PRACTICAL (100 marks) PROJECT (50 marks) ASSIGNMENTS (50 marks)
Debuggers. Errors in Computer Code Errors in computer programs are commonly known as bugs. Three types of errors in computer programs –Syntax errors –Runtime.
Application Sharing Bhavesh Amin Casey Miller Casey Miller Ajay Patel Ajay Patel Bhavesh Thakker Bhavesh Thakker.
Working in the Forms Developer Environment
Appendix A Barb Ericson Georgia Institute of Technology May 2006
Java Beans Sagun Dhakhwa.
Microprocessor and Assembly Language
The Client/Server Database Environment
CSC 480 Software Engineering
Java programming lecture one
Flexible Synchronisation of Shared Groupware Objects
CIS16 Application Development Programming with Visual Basic
Serpil TOK, Zeki BAYRAM. Eastern MediterraneanUniversity Famagusta
Windows Service Applications
Presentation transcript:

Włodzimierz Funika, Marcin Białek, Piotr Pęgiel, Marcin Smętek Institute of Computer Science AGH, Mickiewicza 30, Kraków, Poland A Case Study of Interoperability in a Distributed Tools Environment the ability of two or more systems or components to exchange information and to use this information the ability of two or more software components to share and process common information the ability of two or more software components to cooperate with each other the property of the independently developed software components of interaction between each other What is interoperability ? Goals of research: Introducing JINEXT interoperability monitoring features Showing cooperation between commonly known software tool types Introducing new way to monitor cooperative work of programming teams in distributed communication model The new approach – a system with interoperability support JINEXT EVENTS: Set Break Point Begin Debugging Continue Step Source Changed EVENTS: Stop Line Debugger Error List Watches ACTIONS upon: Debugger Error Source Changed List Watches ACTIONS: Upon Begin Debugging Upon Set Break Point Upon Continue Upon Step Monitoring system layer: J-OCM is an implementation of the J-OMIS specification. J-OCM consists of a set of distributed components providing tools with interactive access to the Java application and runtime environment. Mediator layer: JINEXT allows each cooperating application to retain transparency of its implementation. As a result the applications do not need to know anything about each other and they are still able to work together. Software layer : commonly known software tools Tool layer: Tool layer represents the proxy pattern for software tools. It's responsible for: Interacting with JINEXT mediator – sending events and registering for specific actions. Cooperation with our software tools (currently editor and gdb debugger) Situation before interoperability: Let’s imagine that an editor and a debugger operate on the same application. Programs are being run on separate machines and all communication between team members goes by separate channel (e.g. icq). This approach demands special time effort needed for communication, and leads to further mistakes and misunderstandings. User 1 INTERNET INTRANET Communication Features of new interoperability tools: Debugger description: As the debbuger we used gdb runinng in the full text mode (outputs everything), our proxy template (debugger tool type proxy) allowed it to expose main debugger features for the editor. Editor description: Features of a commonly used editor software such as: - code/text files operations - saving/editing multiple files Allows to control debugger (setting break points, starting debugger instance, setting watches) Allows the visualization of debugger current state (current line, variables state) Allows multi-user synchronization (detects changes in source code done by other users) Written in C++ with use of Qt and gtk+ Computer 1 J-OCM Debugger 1 Editor 1 User 2 Debugger 2 Editor 2 Application To cope with the problem we have introduced a layered architecture. Editor 1 Debugger 1 Editor tool typeDebbuger tool type Application Registering the debugger in the J-OCM/JINEXT References: 1.Arkadiusz Janik, Kraków 2004: Interoperabilność narzędzi wspierających rozwijanie aplikacji w języku Java 2.Roland Wismüller: Interoperable Laufzeit-Werkzeuge für parallele und verteilteSysteme, Habilitationsschrift, Universität Munchen, Marcin Smetek: OMIS-based Monitoring System for Distributed Java Applications. Master of Science Thesis. Kraków June 2003 Advantages that come from using interoperable software: Possibility of concurrency aware software development process. New possibilities of team work (program can be simultaneously debugged by many distant users), and immediately exchange ideas. Allows for faster development of scalable applications Editor window with application source code