Reflections about Mobile Agents and Software Engineering



Similar documents
Mobile Code for Distributed Applications/Systems

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

CLEVER: a CLoud-Enabled Virtual EnviRonment

CHAPTER 7 SUMMARY AND CONCLUSION

A distributed system is defined as

SOFT 437. Software Performance Analysis. Ch 5:Web Applications and Other Distributed Systems

COMP5426 Parallel and Distributed Computing. Distributed Systems: Client/Server and Clusters

Distributed systems. Distributed Systems Architectures

What Is the Java TM 2 Platform, Enterprise Edition?

What is Middleware? Software that functions as a conversion or translation layer. It is also a consolidator and integrator.

Distributed Systems Architectures

IT Architecture Review. ISACA Conference Fall 2003

An Intelligent Approach for Integrity of Heterogeneous and Distributed Databases Systems based on Mobile Agents

Proactive, Resource-Aware, Tunable Real-time Fault-tolerant Middleware

Chapter 1 - Web Server Management and Cluster Topology

Service Oriented Architecture

A Hybrid approach to Network Performance Monitoring based on Mobile Agents and CORBA

Cloud Computing. Cloud computing:

Evolution of Peer-to-Peer Systems

A Middleware Strategy to Survive Compute Peak Loads in Cloud

Virtual machine interface. Operating system. Physical machine interface

Client/Server Computing Distributed Processing, Client/Server, and Clusters

Introduction to Service Oriented Architectures (SOA)

OpenFlow Based Load Balancing

Component Based Software Engineering: A Broad Based Model is Needed

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

Firewalls P+S Linux Router & Firewall 2013

Hadoop and Map-Reduce. Swati Gore

Evolution of Cyber Security and Cyber Threats with focus on Cloud Computing

ebay : How is it a hit

PERFORMANCE ANALYSIS OF MOBILE AGENTS IN WIRELESS INTERNET APPLICATIONS USING SIMULATION. A Thesis. Presented to

WebRatio 5: An Eclipse-based CASE tool for engineering Web applications

How To Make A Vpc More Secure With A Cloud Network Overlay (Network) On A Vlan) On An Openstack Vlan On A Server On A Network On A 2D (Vlan) (Vpn) On Your Vlan

The EMSX Platform. A Modular, Scalable, Efficient, Adaptable Platform to Manage Multi-technology Networks. A White Paper.

Mobile Software Agents: an Overview

Cloud-Testing vs. Testing a Cloud

Agent Languages. Overview. Requirements. Java. Tcl/Tk. Telescript. Evaluation. Artificial Intelligence Intelligent Agents

System types. Distributed systems

What You Need to Know About Transitioning to SOA

Automated Test Approach for Web Based Software

Bringing Business Objects into ETL Technology

Lecture 4: Introduction to Computer Network Design

Modular Communication Infrastructure Design with Quality of Service

Service-Oriented Architecture and Software Engineering

Architecture Design For Web-based Application Systems. Instructor: Dr. Jerry Gao Class: CMPE296U

Cisco PIX vs. Checkpoint Firewall

Web DNS Peer-to-peer systems (file sharing, CDNs, cycle sharing)

Distribution transparency. Degree of transparency. Openness of distributed systems

Business-Driven Software Engineering Lecture 3 Foundations of Processes

Software Engineering: Reflections on an Evolving Discipline

Emulated Digital Control System Validation in Nuclear Power Plant Training Simulators

IBM Information Management

Chapter 16 Distributed Processing, Client/Server, and Clusters

Service Oriented Architectures

CS 565 Business Process & Workflow Management Systems

Enterprise Integration: operational models of business processes and workflow systems *

SDC The Service Delivery Controller FACT SHEET

Curl Building RIA Beyond AJAX

DDS-Enabled Cloud Management Support for Fast Task Offloading

Distributed Database for Environmental Data Integration

CSC384 Intro to Artificial Intelligence

TOPOLOGIES NETWORK SECURITY SERVICES

Open Source SCADA. A Framework for the Connected World. Remote Monitoring and Control 2014 SCADA Technology Summit. Presented by:

Best Practices: ERP Vendor Reference-Checking WHITE PAPER. Expandable Software, Inc.

Reverse Engineering Techniques: from Web Applications to Rich Internet Applications

Integrated data and information management in social protection

4D as a Web Application Platform

White paper. Keys to SAP application acceleration: advances in delivery systems.

Report Data Management in the Cloud: Limitations and Opportunities

Software Architecture

Future Multi-Mission Satellite Operations Centers Based on an Open System Architecture and Compatible Framework

Tutorial on Client-Server Architecture

How To Evaluate Web Applications

INFORMATION SYSTEMS AND TECHNOLOGY MANAGEMENT

Evolution Feature Oriented Model Driven Product Line Engineering Approach for Synergistic and Dynamic Service Evolution in Clouds

Guiding SOA Evolution through Governance From SOA 101 to Virtualization to Cloud Computing

Distributed Systems LEEC (2005/06 2º Sem.)

Open Source egovernment Reference Architecture Osera.modeldriven.org. Copyright 2006 Data Access Technologies, Inc. Slide 1

So You Want an SOA: Best Practices for Migrating to SOA in the Enterprise. Eric Newcomer, CTO

Transcription:

Reflections about Mobile gents and Software Engineering Gian Pietro Picco Dipartimento di Elettronica e Informazione Politecnico, Italy picco@elet.polimi.it http://www.elet.polimi.it/~picco

Motivation and Disclaimer Mobile agents: nice solution in search of a problem To talk about software engineering, you should find some application to engineer, first No common sense application, like Web applets So far, we did not manage to convince people that mobile agents are a good idea; at most we convinced them it is not necessarily a bad idea Software engineering: still struggling with the software crisis Still, both fields have lessons to learn from each other 2001 - Gian Pietro Picco 2

Classic Software Engineering Feasibility Feasibility study study Requirement Requirement analysis analysis and and specification specification The desired properties of the final system are determined The architecture of the application and the data format is defined Preliminar evaluation of costs and benefits Components are developed and tested individually Design Design Implementation Implementation and and unit unit test test Integration Integration and and system system test test Components are integrated and the final system is tested Evolution is not proceeding in one direction!!! Operation Operation and and maintenance maintenance 2001 - Gian Pietro Picco 3

SW Engineering for Mobile gent pplications Feasibility Study Usually, a specific, non-conventional technical solution is motivated by a specific problem In the context of civil engineering: Problem: a bridge is placed in an area where earthquakes occur frequently Solution: use dynamic control techniques In the context of computer science: Problem: search in a huge amount of unstructured data Solution: data mining In the context of mobile agents: Problem: somehow, the use of mobile agents is mentioned in the Technical nnex Solution: use mobile agents, no matter what 2001 - Gian Pietro Picco 4

SW Engineering for Mobile gent pplications Qualitative rguments lot are documented in the literature Mobile agents: re They a Good Idea? (Harrison, Chess, Kershenbaum, 1995) Understanding Code Mobility (Fuggetta, Picco, Vigna, 1998) Main advantages: Better use of communication resources Enhanced flexibility Improved fault tolerance Support for disconnected operations Protocol encapsulation Very few are verified on the field by analyzing real applications 2001 - Gian Pietro Picco 5

SW Engineering for Mobile gent pplications Quantitative rguments They constitute only a small fraction of the literature and studies of good quality constitute an even smaller fraction 300 250 200 pplet Single mobile agent Mobile agent/dmbs-agent Messages/DMBS-agent 257 Seconds 150 100 50 0 9 12 11 75 25 28 5 10 LN (10 Mb/s) Dial-up (28,800 b/s) Cellular (9,600 b/s) Mobile gents for WWW Database ccess (Papastravrou, Samaras, Pitoura, ICDE 99) 57 53 22 2001 - Gian Pietro Picco 6

SW Engineering for Mobile gent pplications Requirement Specification The key question on the table is how to model mobility? re traditional languages sufficient? Is there anything really new that mobility brings in? Location vs. context re current proposals suited for the specification of real-world applications? Do you really want to model your application using mbients? Can we model logical and physical mobility using the same language? 2001 - Gian Pietro Picco 7

SW Engineering for Mobile gent pplications Design This is where mobile code and mobile agents bring one (and possibly the only) fundamental revolution: location is no longer a deployment detail, rather it becomes a first-class design concept Logical mobility is essentially a new design tool (as opposed to physical mobility, which essentially defines new requirements) Some fundamental questions: What are the fundamental architectural paradigms for mobile agents and, more in general, mobile code? How to choose among design paradigms? When would you use mobile code as opposed to mobile agents? 2001 - Gian Pietro Picco 8

SW Engineering for Mobile gent pplications Design Paradigms PLESE, MKE ME CHOCOLTE CKE PLESE, MKE ME CHOCOLTE CKE. HERE IS THE RECIPE: TKE TWO EGGS... B B Client-Server Remote Evaluation PLESE, TELL ME THE RECIPE HERE I M! CN I USE YOUR OVEN? B Code on Demand Mobile gent 2001 - Gian Pietro Picco 9

SW Engineering for Mobile gent pplications Design Paradigms re these paradigms enough? What is the role of data relocation in combination to code relocation? Transient interactions are key in mobility Binding Removal B B Network Reference by Move B B by Copy Re-binding B B 2001 - Gian Pietro Picco 10

SW Engineering for Mobile gent pplications More on Quantitative rguments Traffic in Kbytes 1400 1200 1000 800 600 400 200 0 CS COD M, mgm, glob 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Number of managed nodes REV M, mgm Evaluating the Tradeoffs of Mobile Code Design Paradigms in Network Management pplications (Baldi and Picco, ICSE 98) Design paradigms help in distinguishing between different forms of mobility, and identifying pros and cons They help in formulating general guidelines about when a given style of code relocation should be used fter all, this is a big fraction of what engineering is all about 2001 - Gian Pietro Picco 11

Mobile Code or Mobile gents? Research currently focuses on mobile agent systems, theories, and applications Mobile agents are claimed to provide a powerful and unifying abstraction for the development of highly autonomous and decentralized software hypothesis that largely remains to be demonstrated Expressive power comes as a tradeoff for efficiency In many circumstances mobile code appears to be expressive enough, often providing also a more efficient solution 2001 - Gian Pietro Picco 12

SW Engineering for Mobile gent pplications Implementation How do we develop applications exploiting code mobility? What are the common pitfalls? What are good technologies to exploit? What is a good design? What are the clever tricks you can play? For instance Do we really and deeply understand how class loading and serialization work in Java? nd should we need to? Do we really have a good understanding about the techniques that are necessary to handle a roaming mobile agent? Do we have the right abstractions and mechanisms to do so? Is really the field mature for design patterns? 2001 - Gian Pietro Picco 13

SW Engineering for Mobile gent pplications Validation and Testing We really do not know how to test an application that involves mobile code What are the fundamental problems? Is it any different from open systems? What new kinds of run-time errors should we look for? Class not found Resource not available Is there any way to check their absence statically? What techniques and methods can we reuse from software engineering? 2001 - Gian Pietro Picco 14

SW Engineering for Mobile gent pplications Operation and Maintenance This is where non-functional requirements strike in Performance and scalability Not really addressed by current systems Scalability of mobile agent systems or mobile agent systems for scalability? Fault-tolerance Some systems provide local fault-tolerance, e.g., through checkpointing Very few provide address the problem of transferring code and state in a fault-tolerant way Fault-tolerant mobile agent systems or mobile agent systems for fault-tolerance? 2001 - Gian Pietro Picco 15

Software Engineering Politecnico of Mobile gent Systems Thus far, we discussed the software engineering of applications based on mobile agents Nevertheless, mobile agent systems are software themselves: thus, can software engineering help construct better mobile agent systems? Feasibility study Feasibility study Requirement Requirement analysis and specification analysis and specification Design Design Implementation and Implementation unit test and unit test Integration and Integration system test and system test Operation and maintenance Operation and maintenance 2001 - Gian Pietro Picco 16

SW Engineering for Mobile gent Systems Requirements What are the requirements for a new mobile agent system? Requirements are rarely stated in the documentation general requirement should be to maximize the benefits potentially achievable with mobile agents Unfortunately many systems seem to be designed the other way round Example: plenty of systems require permanent connectivity (e.g., by providing remote class loading as the only code relocation strategy), hence cutting off support for disconnected operations 2001 - Gian Pietro Picco 17

SW Engineering for Mobile gent Systems Design Mobile agent systems are, by and large, naively designed Little attention to software engineering principles like modularization, separation of concerns, incrementality, Not only they do not match requirements, but they are often monolithic, proof of concept tools, and it is often not easy to use them in conjunction with other distributed middleware It makes a difference when you get to build real systems for real platforms They are often cluttered with functionality, and provide very little orthogonality What is the core of a mobile agent system? It makes a difference when you get to use them in PDs or want to maximize efficiency Formal theories of mobility may help identify the essential constructs, and lead to novel language proposals What is the role of coordination? 2001 - Gian Pietro Picco 18

SW Engineering for Mobile gent Systems Implementation Software engineering teaches us that programming languages are just tools: different languages are appropriate for different tasks So, why everybody is developing mobile agents in Java? Old vs. new systems: Telescript (1994) Strong mobility Instance-level member protection Resource control Ownership ties together security and resources glets Java-based, so Weak mobility No instance-level member protection No resource control No real novel construct besides mobile agents 2001 - Gian Pietro Picco 19

SW Engineering for Mobile gent Systems The Language Matters 4500 4000 3500 SNMP vs. TP CS REV COD M, mgm M, glob M, mgm, glob 4000 3500 3000 SNMP vs. TCP CS REV COD M, mgm M, glob M, mgm, glob Traffic in Kbytes 3000 2500 2000 1500 1000 500 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Number of managed nodes 2500 2000 1500 1000 500 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Number of managed nodes What about scripting languages, or functional languages? The power of mobile code is in the architecture, not in the technology! 2001 - Gian Pietro Picco 20

Some (Bitter) Considerations (from DWT 99) Many systems embody design criteria that conflict with or hamper the exploitation of mobile code, e.g.: Heavy application-level network protocols Centralized code servers ssumption of permanent connection Migration policy hard-wired in the mechanism Key open issues: Lack of validation of abstractions and mechanisms against real world applications Lack of quantitative characterization and comparison of mobile code technologies The above issues are hampering acceptance and credibility of mobile code research as a whole 2001 - Gian Pietro Picco 21

Summing up Research on mobile agents is characterized by a disproportionate emphasis on the implementation of mobile agent systems, and by a lack of mobile agent applications This has at least two negative effects: The lack of applications (and of serious studies evaluating them) impairs the whole scientific process of advancing the field; Disregarding the other phases of the software process leads to systems that are often unreliable implementations of a poor design satisfying bad requirements Software engineering does not mean just to use UML! It provides a general methodological framework, and a corpus of theories, techniques, and methods that can and should be: pplied to the development of mobile agent systems dapted to encompass the specific requirements posed by mobility This holds for other disciplines as well, e.g., distributed systems 2001 - Gian Pietro Picco 22