Presentation is loading. Please wait.

Presentation is loading. Please wait.

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.

Similar presentations


Presentation on theme: "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."— Presentation transcript:

1 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


Download ppt "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."

Similar presentations


Ads by Google