A Study on an Object-orientation and Extensibility in Context-aware Systems
3
조회
0
다운로드
0
인용
0
참고문헌
키워드
초록
There has been a lot of research on context-aware computing, but software extensibility in the development of those systems has not gotten much attention in spite of its importance in software engineering. In this paper, we introduce some extension requirements for context-aware systems, and identify four extension types for them: sensors, context inference algorithms, contexts, and context-aware services. For those extension requirements, we propose four extension mechanisms based on object-oriented technology: separation between abstraction and implementation of context, separation of context from sensors, modular and separate model for context-aware functions, and overloading model for context-aware functions. By adopting those mechanisms, developers or maintainers can add new sensors, context inference algorithms, contexts, or context-aware services without modifying the source code after deployment. Those mechanisms are all based on object-orientation. Our approach represents a context as a class, and context services as methods with context parameter. Context inference is a class with a method which understands sensor values and infers the current context from the values. This approach will reduce costs, time, and efforts in context-aware system maintenance which requires new context-aware features after deployment because it will increase the software reusability and extensibility. In this paper, we also specify a case study which shows how to extend a context-aware system with the extension requirements.
Abstract
There has been a lot of research on context-aware computing, but software extensibility in the development of those systems has not gotten much attention in spite of its importance in software engineering. In this paper, we introduce some extension requirements for context-aware systems, and identify four extension types for them: sensors, context inference algorithms, contexts, and context-aware services. For those extension requirements, we propose four extension mechanisms based on object-oriented technology: separation between abstraction and implementation of context, separation of context from sensors, modular and separate model for context-aware functions, and overloading model for context-aware functions. By adopting those mechanisms, developers or maintainers can add new sensors, context inference algorithms, contexts, or context-aware services without modifying the source code after deployment. Those mechanisms are all based on object-orientation. Our approach represents a context as a class, and context services as methods with context parameter. Context inference is a class with a method which understands sensor values and infers the current context from the values. This approach will reduce costs, time, and efforts in context-aware system maintenance which requires new context-aware features after deployment because it will increase the software reusability and extensibility. In this paper, we also specify a case study which shows how to extend a context-aware system with the extension requirements.
참고문헌 (26)
- F. P. Brooks, "No silver bullet, essence and accidents of software engineering", Computer, 20(4), pp.10~19 (1987)
- M. Zenger, "Programming language abstractions for extensible software components", PhD, pp.2004
- D. Notkin, "Enhancement through extension: the extension interpreter", Proc. of SIGPLAN’87, ACM SIGPLAN Notices, 22(7), pp.45~55 (1987)
- Robert L. Glass, "Frequently forgotten fundamental facts about software engineering", Software, 18(3), pp.110~112 (2001)
- B. P. Lientz, "Software maintenance management" (1980), Addison-Wesley Longman Pub
- "OSGi" (2017)[URL]
- O. Gruber, "The eclipse 3.0 platform: Adopting OSGi technology", IBM Systems Journal, 44(2), pp.289~299 (2005), IBM
- M. Baldauf, "A survey on context-aware systems", Int. J. Ad Hoc and Ubiquitous Computing, 2(4), pp.263~277 (2007)
- D. Notkin, "Extension and software development", Proc. of the 10th Int'l Conf. on Software Engineering, pp.274~283 (1988)
- D. L. Parnas, "Designing software for ease of extension and contraction", Proc. of the 3rd Int’l Conf. on Software Engineering, pp.264~277 (1978)
- B. Meyer, "Object-oriented software construction" (1988), Prentice Hall
- B. H. Liskov, "A behavioral notion of subtyping", ACM Trans. Program. Lang. Syst, 16(6), pp.1811~1841 (1994)
- T. H. Ng, "Toward effective development of design patterns for software extension: A case study", Proc. of the 2006 Int'l Workshop on Software Quality, pp.51~56 (2006)
- L. Prechelt, "A controlled experiment in maintenance: comparing design patterns to simpler solutions", IEEE Trans. Software Eng, 27(12), pp.1134~1144 (2001)
- A. A. Sabagh, "An extensible framework for context-aware smart environments, architecture of computing systems-ARCS 2011", LNCS, 6566(Spring), pp.98~109 (2011)
- J-M. Choi, "Software architecture for extensible context-aware systems", Proceeding of Convergence and Hybrid Information Technology, pp.811~816 (2008)
- P. Fahy, "CASS-middleware for mobile context-aware applications", Workshop on Context Awareness, MobiSys (2004)
- D. Athanasopoulos, "CoWSAMI:interface-aware context gathering in ambient intelligence environments", Pervasive and Mobile Computing, 4(3), pp.360~389 (2008), Elsevier
- K. Henricksen, "A software engineering framework for context-aware pervasive computing", Proc. of the 2nd Advent IEEE Annual Conference on Pervasive Computing and Communications (PERCOM’04), IEEE (2004)
- G. M. Kapitsaki, "Context-aware service engineering: A survey", Journal of Systems and Software, 82(8), pp.1285~1297 (2009)
- C. Bettini, "A survey of context modelling and reasoning techniques", Pervasive and Mobile Computing, 6(2), pp.161~180 (2010), Elsevier
- T. Strang, "A context modeling survey, Proc. of the 1st Int’l Workshop on Advanced Context Modelling", Reasoning And Management at UbiComp 2004 (2004)
- G. D. Abowd, "Towards a better understanding of context and context-awareness", Int’l Symposium on Handheld and Ubiquitous Computing, (Springer), pp.304~307 (1999)
- R. Bouckaert, "BEAST 2: A software platform for mayesian evolutionary analysis", PLOS Computational Biology, 10 (2014)
- D. Ferreira, "AWARE: mobile context instrumentation framework", Frontiers in ICT, 2(6) (2015)
- G. Meditskos, "MetaQ: A knowledge-driven framework for context-aware activity recognition combining SPARQL and OWL 2 activity patterns", Pervasive and Mobile Computing, 25(1), pp.104~124 (2016), Elsevier
