GSoC Hackystat Weekly Update 3
June 8, 2009 No Comments
The picture shows three layers. The first layer on top represents the Hackystat services. The two layer below are founding the Service Manager. The Service Manager offers a layer for Monitor Agent and Execution Agent services. Two services, one of each type, are bound to one specific service. This enables monitoring and executing actions on services. The “agent” approach enables interacting distributed services. Every service, running on a specific platform, gets a Monitor agent and Execution agent on its side. The Agent services are interacting with the Service Manager Framework layer via REST (Just like the Hackystat services). The Service Manager Framework offers analysis of the monitored data in the Analysis Component and plans activities in the Plan Component, which are executed over an Execution Agent service for the specific Hackystat service.
My research resulted that almost all academic papers address the problem in some way with a Monitor, Analysis, Plan and Execute (MAPE) strategy. This strategy can be used different approaches to solve different problems. For example Case Based Reasoning (CBR is described in previous blog post called Case Based Reasoning) can be applied within the MAPE strategy. The CBR approach is limited. A perfect approach would minimize user/administrator interventions as much as possible. CBR still requires a lot of user intervention, therefore CBR can be extended by a Model testing, online testing or service replacement approach.
Last week I developed a very small prototype of the GUI in the Service Manager Framework, which should enable to launch and stop the Hackystat services. This should enable me to launch and monitor the Hackystat services via the Agent services. So that the first layer of the framework is founded, and the CBR cases can be created. The CBR cases depend on what can be monitored for single services.
- I first launched the single services via java Runtime.getRuntime().execute(execute Jar file), but I could not find a way to stop the services anymore.
- I also tried via Class Loader where I could load the jar and called for example for SensorBase Server.newInstance()
- Philip gave me the hint of Java Service Wrapper, which I explored and found out that I can not wrap a jar file but just classes. The tool enables to run java classes out of the JVM as an OS service, and one can also write a shutdown operation which can smoothly stop the service (notifying the framework). The is very nice because it also monitors and relaunches the service, even in the community version.
At this moment I have two issues: first is that i can not wrap a whole jar, so I have to use the Class Loader en encapsulate it in a different class. This is important to me because I want the Framework manager to have loose coupling and the dependencies of the Monitor and Execution Agent should be very small. Second, again, a new-mac-user problem of root rights for eclipse to create directories for SensorBase (chmod 777 the whole directory, i just don’t wanna fight these problems, but I will as soon as I got some sleep
)
This week I will fight these two small problems, and care then about the Monitoring and the CBR cases and keep my research, concepts and overall picture of the area growing.

Sorry, the comment form is closed at this time.