SDA SE Wiki

Software Engineering for Smart Data Analytics & Smart Data Analytics for Software Engineering

User Tools

Site Tools


Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
research:logicaj:cop [2008/06/05 12:39]
malte
research:logicaj:cop [2018/05/09 01:59] (current)
Line 1: Line 1:
 +===== Context-oriented Programming in Java as a LogicAJ Aspect =====
 +
 +Context-oriented programming (COP) enriches programming languages and execution environments with features
 +to explicitly represent context-dependent behavior variations.
 +
 +See [[http://​www.jot.fm/​issues/​issue 2008 03/​article4.pdf|Context-oriented programming]] for details.
 +
 +In short-term this page will provide a LogicAJ aspect realizing the context-oriented programming paradigm
 +with the help as an aspect library.
 +We also make available a small sample application demonstrating the use of the aspect.
 +
 +==== The Aspect ====
 +
 +
 +
 +
 +
 +==== Demo Application ====
 +
 +This section describes a mobile community application. Consider, Tim and Lucy are two students. Both possess a mobile phone with a client software that allows friends to check each others context information,​ e.g., location or current activity. At noon they have an appointment at the university campus in Potsdam. Tim lives in the center of Berlin from which he has a 50 minutes train ride to university. When he leaves home, his mobile connects to GPS and provides exact location data via a service. When Lucy arrives at campus at 11:50, she checks her phone to see Tim’s whereabout. Depending on her current context, the application renders Tim's activity in different ways. 
 +
 +The context-dependent behavior of the application is implemented with the COP aspect written in LogicAJ.
 +
 +
 +=== Installation and Running the Application ===
 +
 + ​First,​ install the [[installation|LogicAJ plugin]]. Then, import the {{:​research:​logicaj:​mobiledevice_v1-20080505.zip|project}} into your eclipse installation. Weave the aspect "​ContextJAspect"​ and run the Main class in the output project. ​
 +
 +
 +=== Triggering Context Change ===
 +
 +The application simulates a mobile device. The screen shows a map with a point representing Tim's current location. A second window allows to trigger context information.
 +Context change leads to different user representations on the mobile device.  ​
  
research/logicaj/cop.txt · Last modified: 2018/05/09 01:59 (external edit)

SEWiki, © 2019