Hi Bernie, >From Android Platform porting view, Let me list up related tasks as follows. - Android Base API re-factorization. (Intel - Corresponding Primitive Service Implementation change for Android Base API change. - Android Primitive Service API implementation.
Regarding Android Base API re-factorization, we have a common consensus for API style among Intel, MediaTek and Samsung, but new API Specification has not been shared yet. According to this new Android Base API, lots of modification will be in the primitive service. We have also made the Android API for primitive service and they are mostly ready. But we also have a dependency with Base API change also. These mis-alignment between new Android Base API and need to be cleared with additional time. BR, Uze Choi -----Original Message----- From: Keany, Bernie [mailto:[email protected]] Sent: Saturday, January 17, 2015 12:53 AM To: Lankswert, Patrick; juney at samsung.com; SOON HWANG CHOI; Bowden, George; iotivity-dev at lists.iotivity.org; Kourt, Tim A Cc: Skarpness, Mark; felix.freimann at mediatek.com; Agerstam, Mats G; ???; ???; ??; ???; ???; ???; ???; ???; ???; ???; ???; ???; Subramaniam, Ravi; Moses, Jaideep; Tung, Mark Y; Mirani, Jawid; Badder, Christopher S Subject: Re: IoTivity v1.0.0 criteria proposal Hi Pat .. Thanks for connecting the threads. we?ve completed a significantly refactored Android API implementation that includes OIC Client and Server support, this is based on the code we shared in mid December with Samsung and MediaTek but migrated to M2. We believe we will push the code to a WIP branch by Tuesday or Wednesday of next week and look forward to feedback from the community. After some review time we will submit to gerrit for upstreaming to the master branch. Thanks Bernie From: <Lankswert>, Patrick <patrick.lankswert at intel.com<mailto:[email protected]>> Date: Friday, January 16, 2015 at 7:42 AM To: "juney at samsung.com<mailto:juney at samsung.com>" <juney at samsung.com<mailto:juney at samsung.com>>, SOON HWANG CHOI <soonhwang.choi at samsung.com<mailto:soonhwang.choi at samsung.com>>, "Bowden, George" <george.bowden at intel.com<mailto:george.bowden at intel.com>>, "iotivity-dev at lists.iotivity.org<mailto:iotivity-dev at lists.iotivity.org>" <iotivity-dev at lists.iotivity.org<mailto:iotivity-dev at lists.iotivity.org>> Cc: "Skarpness, Mark" <mark.skarpness at intel.com<mailto:mark.skarpness at intel.com>>, Felix Freimann <felix.freimann at mediatek.com<mailto:felix.freimann at mediatek.com>>, "Agerstam, Mats G" <mats.g.agerstam at intel.com<mailto:mats.g.agerstam at intel.com>>, ??? <thetruth.lee at samsung.com<mailto:thetruth.lee at samsung.com>>, ??? <kangtae.kim at samsung.com<mailto:kangtae.kim at samsung.com>>, ?? <kyeo at samsung.com<mailto:kyeo at samsung.com>>, ??? <igkim.kim at samsung.com<mailto:igkim.kim at samsung.com>>, "jinguk.jeong at samsung.com<mailto:jinguk.jeong at samsung.com>" <jinguk.jeong at samsung.com<mailto:jinguk.jeong at samsung.com>>, "Choi) ???(Uze" <uzchoi at samsung.com<mailto:uzchoi at samsung.com>>, ??? <yw1201.kim at samsung.com<mailto:yw1201.kim at samsung.com>>, ??? <seungjoong.kim at samsung.com<mailto:seungjoong.kim at samsung.com>>, ??? <sungkyu.ko at samsung.com<mailto:sungkyu.ko at samsung.com>>, ??? <junghyun.oh at samsung.com<mailto:junghyun.oh at samsung.com>>, ??? <soohong.park at samsung.com<mailto:soohong.park at samsung.com>>, ??? <moonki1.hong at samsung.com<mailto:moonki1.hong at samsung.com>>, "Subramaniam, Ravi" <ravi.subramaniam at intel.com<mailto:ravi.subramaniam at intel.com>>, "Moses, Jaideep" <jaideep.moses at intel.com<mailto:jaideep.moses at intel.com>>, "Tung, Mark Y" <mark.y.tung at intel.com<mailto:mark.y.tung at intel.com>>, "Mirani, Jawid" <jawid.mirani at intel.com<mailto:jawid.mirani at intel.com>>, "Badder, Christopher S" <christopher.s.badder at intel.com<mailto:christopher.s.badder at intel.com>>, Bernie Keany <bernie.keany at intel.com<mailto:bernie.keany at intel.com>> Subject: RE: Re: Re: RE: IoTivity v1.0.0 criteria proposal June, It would be best to take these discussion to the mailing list. Bernie?s team, which was not on this email, had some time and has flushed out the server API for Android. I cannot commit for them, but I think that they are close to done with the implementation. Pat From: JuneYong Young [mailto:[email protected]] Sent: Friday, January 16, 2015 3:01 AM To: SOON HWANG CHOI; ???; Bowden, George; iotivity-dev at lists.iotivity.org<mailto:iotivity-dev at lists.iotivity.org> Cc: Skarpness, Mark; Lankswert, Patrick; felix.freimann at mediatek.com<mailto:felix.freimann at mediatek.com>; Agerstam, Mats G; ???; ???; ??; ???; ???; ???; ???; ???; ???; ???; ???; ???; Subramaniam, Ravi; Moses, Jaideep; Tung, Mark Y; Mirani, Jawid; Badder, Christopher S Subject: Re: Re: Re: RE: IoTivity v1.0.0 criteria proposal Please refer to the updated "IoTivity v1.0.0 release criteria" in the attached. If anyone have an opinion, then let me know. George, Felix, Would you have any comments for the following action items? 1 George & Felix to give opinion about v1.0.0 concept (~1/9) close 2 George & Felix to provide the additional features that will be on v1.0.0 if any (~1/9) 3 George & Felix to provide the backward compatibility review result (~1/16 or earlier) ? Felix, Could you let me know if Android server API implementation is to be in v1.0.0? ?Android Support Android API refactoring and completion (Server API Support) TBD June Yong Young Principal Engineer Web & Convergence Team, Software R&D Center Samsung Electronics Co.,Ltd. T: +82-31-301-6107, M: +82-10-9530-6107 E-mail :juney at samsung.com<mailto:juney at samsung.com> ------- Original Message ------- Sender : SOON HWANG CHOI<soonhwang.choi at samsung.com<mailto:soonhwang.choi at samsung.com>> S5/Senior Engineer/SQE Lab./Samsung Electronics Date : 2015-01-15 16:35 (GMT+09:00) Title : Re: Re: RE: IoTivity v1.0.0 criteria proposal Dear Juneyoung We have discussed about QA Criteria for IoTivity V1.0 in today's QA CC. I attached the result Next, in case of test case type , Samsung's test case is a kinds of API Test Case and Intel's test case is a kinds of integration test case. it means Intel already perform integration test in base layer. we also have plan to perform service Layer's integration test after primitive service API is defined this issue is also discussed in QA CC but some isssues are not fixed yet Best Regrads Soonhwang Choi ------- Original Message ------- Sender : JuneYong Young<juney at samsung.com<mailto:juney at samsung.com>> S6/Principal Engineer/IoT Solution Lab./Samsung Electronics Date : 2015-01-10 18:32 (GMT+09:00) Title : Re: RE: IoTivity v1.0.0 criteria proposal George, Please refer to my comments in [June] below. Regards June June Yong Young Principal Engineer Web & Convergence Team, Software R&D Center Samsung Electronics Co.,Ltd. T: +82-31-301-6107, M: +82-10-9530-6107 E-mail :juney at samsung.com<mailto:juney at samsung.com> ------- Original Message ------- Sender : Bowden, George<george.bowden at intel.com<mailto:george.bowden at intel.com>> Date : 2015-01-08 23:44 (GMT+09:00) Title : RE: IoTivity v1.0.0 criteria proposal Hi June Yong, Thank you for initiating this conversation. I generally agree with your basic concept for v1.0.0 and would like to add the following comments: 1. I don?t believe that backward compatibility between v0.9.0 and v1.0.0 should be an absolute requirement. I do believe it is a ?nice to have? if possible, but not at the cost of adding significant complexity that would need to be carried forward for future 1.x releases. I do believe that v1.0.0 should implement the pieces that set the foundation for what other v1.x should be compatible with (e.g., v1.1.x ? v1.9.x should all be backward compatible with v1.0.0). I believe we still need to decide if v2.x releases should be backward compatible with v1.x releases, but I suspect that it may not be the case that they are. -> Correct, the backward compatibiliy check result I meant was to check if further implementation is required for v1.0.0 release based on current v0.9.0 base. Those implementations should be added in v1.0.0 if any. 2. I do not understand what it means for QA to both ?Run v1.0.0 full test cases? and ?API test case only?. I look to Soonhwang to help better define the set and type of test cases to be run. While I understand why we may choose to not fully execute integration tests at this time, I do think we should complete at least a minimal set of integration QA on the release before calling it v1.0.0. -> [June] This issue will be more clear when SoonHwang sort out the -> criteria, but Integration QA test stil requires further discussioin -> among member company QA teams about how to integrate test cases, how to manage R&R for each member company, and what kind of QA tools to be used, and so on. So, there is a possiblity that Integration test discussion will not be finalized before v1.0.0 if v1.0.0 schedule is determined not too far. 3. In addition to executing tests to help measure the quality of the release, I believe that we need to resolve all of the critical/P1 defects and majority of the high/P2 defects found during test before releasing v1.0.0. We?ve yet to collectively define what we mean by ?critical? and ?high? but I generally mean that ?critical? defects are ones that prevent IoTivity from being usable (e.g., crashes under basic conditions), expose IoTivity or its contributors to financial or legal liabilities, or cause negative impact to the IoTivity brand image. ?high? severity defects could be considered as release reliability defects ? with too many of them remaining, the overall release may be considered unusable (these are the type of defects we?re often compelled to describe in release notes if left unresolved). -> [June] These issues will be more clear in SoonHang's proposal in discussion with each QA lead. 4. We may need a final ISG decision after receiving input from OIC Marketing stating if enough IoTivity features have been implemented to call the release v1.0.0 when considering the state of the OIC standards specification and competing IoT implementations. -> [June] Yes, we will need a final ISG decision, but at first my glance, adding more features Marketing will want to add in v1.0.0 is slightly different from my intention of basic concept "0.9.0 base + incomplete/missing features". We need to talk later on. I?ll re-review the feature list but I don?t believe there are major ?customer visible? features missing, but I do believe there are a lot of cleanup work items remaining at this time (e.g., fixing readmes, directory structure changes, unit test integration with build, etc.). Finally, is there a reason why we are not using a mailing list for this discussion? -- George From: SOON HWANG CHOI [mailto:[email protected]] Sent: Thursday, January 08, 2015 3:31 AM To: ???; Tung, Mark Y; Mirani, Jawid Cc: Skarpness, Mark; Bowden, George; Lankswert, Patrick; felix.freimann at mediatek.com<mailto:felix.freimann at mediatek.com>; Agerstam, Mats G; ???; ???; ??; ???; ???; ???; ???; ???; ???; ???; ???; ???; Subramaniam, Ravi; Moses, Jaideep Subject: RE: IoTivity v1.0.0 criteria proposal Dear June Yong We will provide feedback for Action Item #4 after discussion with Intel QA Team. Dear Mirani and Mark. Let's discuss the issue of Acion Item #4 in Next week's CC (1/15) We will provide our side opinion earler. Regards Soonhwang Choi ------- Original Message ------- Sender : ???<juney at samsung.com<mailto:juney at samsung.com>> S6(??)/??/IoT Solution Lab(S/W??)/???? Date : 2015-01-08 19:15 (GMT+09:00) Title : IoTivity v1.0.0 criteria proposal Hello George, Felix, This is my personal thought on v1.0.0 criteria. Could you provide your opinion per my proposal? Basic concept on V1.0.0 Same v0.9.0 feature base ? Apply only missing features & incompleted items of v0.9.0 ? Apply the additional/revised items(APIs, code structure, etc) to maintain backward compatibility ? Merge Master/CA/CM branch onto one branch(master repo.) ? v1.0.0 QA Criteria . Run v1.0.0 full test cases . API test case only (Integration QA test case to start since M3) ? Based on the assumption that the proposal is satisfactory, the following action items will be required afterwards Please refer to the attached. First of all, I have sorted out the features that were supported on v0.9.0 and expected additional features to be supported on v1.0.0 on Samsung side in the attached. Could you add the list of the features to be supported on v1.0.0 in the attached if any on your side? Action Items 1 George & Felix to give opinion about v1.0.0 concept (~1/9) ? 2 George & Felix to provide the additional features that will be on v1.0.0 if any (~1/9) ? 3 George & Felix to provide the backward compatibility review result (~1/16 or earlier) ? 4 SoonHwang to discuss with QA lead for each company to confirm (~1/16 or earlier) . if QA criteria on v1.0.0 is ok . whether or not the test cases can be integrated . when test cases will be completed ? 5 QA Leads to provide v1.0.0 QA test cases to Project Leads (Architects, Maintainers, Functions Leads) (TBD) ? 6 June to propose v1.0.0 criteria to ISG (TBD) ? 7 Project Leads to confirm v1.0.0 schedule (TBD) ? SoonHwang, Would you please discuss an action item #4 with QA lead for each company and let us know your feedback. --------------------------------- Features on V0.9.0 vs V1.0.0 Features V0.9.0 V1.0.0 V1.x(M3) Ownership Feature Detail Remark 12-30 TBD Schedule March Company Notification Manager Lite Device Resource Discovery Investigating on how to revise Noti. Mgmt. on Base APIs. N TBD ? Y Samsung Formation of the Virtual Resource for Lite Device N TBD ? Y Samsung Resource proxy instead of Lite Device using Virtual Resource N TBD ? Y Samsung Soft Sensor Manager ?Physical Sensor Data Listening ? Y Y ? Y Samsung Developing template for Sensor Fusion as a library andDeploying/Executing the library ? Y Y ? Y Samsung Query-based Sensor Data Request ? Y Y ? Y Samsung Reference soft sensors ? Y Y ? Y Samsung ? Bridging in a local network using Pluggable Protocols Converters ? Y Y ? Y Samsung Protocol Plugin C/C++ and Java Support for Multi Platforms - Linux, Android, Tizen ? N Y ? Y Samsung Hue Plugin with C/C++ - On/Off, Change Color, Dimming ? N Y ? Y Samsung MQTT Plugin with C/C++ - FAN On/Off ? Y Y ? Y Samsung Gear Plugin with Java(Android only) - Notification to Gear - User Activity Event Receiving from Gear ? Y Y ? Y Samsung Belkin Wemo Plugin with Java(Android only) - Motion Sensor, Switch On/Off ? N Y ? Y Samsung Things Manager Find appropriate resources for the specific group ? Y Y ? Y Samsung Find/Create/Delete a group ? Y Y ? Y Samsung Join/Leave ? Y Y ? Y Samsung Let the other devices to join the specific group ? Y Y ? Y Samsung Get the information of all groups ? Y Y ? Y Samsung Check presence information of group (member resource's connectivity/resource change) ? Y Y ? Y Samsung Take a single action on a group to affect all member resources (Group Action using ActionSet) ? Y Y ? Y Samsung CRUD function for ActionSet ? Y Y ? Y Samsung Send configuration/diagnostics command to multiple things ? Y Y ? Y Samsung Get the parameter list of configuration feature ? Y Y ? Y Samsung Get the functionality list of diagnostics feature ? Y Y ? Y Samsung Control Manager Provides framework and services to implement a Controller with Smart Home Data Model ? Y Y ? Y Samsung Provides RESTful Resource Request/Response handler with Device Discovery and Subscription/Notification Manager ? Y Y ? Y Samsung Provides framework and services to implement a Controlee ? Y Y ? Y Samsung Provides RESTful Resource request Handler to perform the action requested by the Controllers ? Y Y ? Y Samsung Provides discovery of the devices and resources a device hosts ? Y Y ? Y Samsung Handles subscription requests from the Controllers ? Y Y ? Y Samsung Provides HTTP based REST framework for Control Manager ? Y Y ? Y Samsung Android Support Supports client side Java APIs for Android ? Y Y ? Y MediaTek Requires Android NDK version 10 or later ? Y Y ? Y MediaTek Requires Android SDK API level 19 ? Y Y ? Y MediaTek Sample applications demonstrate Java SDK ? Y Y ? Y MediaTek Android API refactoring and completion (Server API Support) ? N Y ? Y MediaTek Security Bootstrapping Channel Protection API (Na?ve, ECDH) Review in progress N TBD ? Y Samsung Connectivity Abstraction This feature integrates the resource model (aka Resource Introspection - RI) and Connectivity Abstraction (CA) layers. ? Y Y ? Y Intel The CA layer provides abstraction to the RI layer from adaptors and transport protocols. This release showcases the integration of RI and CA layers over multiple heterogeneous adaptors (Wi-Fi and Ethernet). ? Y Y ? Y Samsung Features existing with RI and CA integration- Discovery (multicast and unicast), GET, PUT, POST, DELETE and Observe and Active Discovery (aka presence). ? Y Y ? Y Samsung Supports both secure and non-secure resources. ? Y Y ? Y Samsung The user has the option to include/exclude the CA layer using compiler flag CA_INT. In the current code by default the CA_INT compiler flag is included and hence the CA layer is included. ? Y Y ? Y Intel Some of the C/C++ APIs have changed for CA integration. These changes are included in the CA_INT flag in the header files. ? Y Y ? Y Intel During resource discovery it is possible for the same resource to be discovered on multiple adaptors. To resolve this a Server Identifier (SID) is included in the resource discovery response. ? Y Y ? Y Intel The discovery response also includes the adaptor type on which the resource was discovered (Ethernet, Wi-Fi, etc) and this information is passed to the application. If the same resource is reachable via multiple adaptors, i.e. it has been discovered on multiple connectivity types, the application must specify which interface to use for subsequent GET/PUT/POST/DELETE/observe operations. ? Y Y ? Y Samsung Unicast discovery uses port 5683; multicast discovery uses port 5298 ? Y Y ? Y Samsung Sample application demonstrating CA integration: - ocserver and occlient in C sample. - simpleserver and simpleclient C++ sample. - presenceserver C31and presenceclient C++ sample. ? Y Y ? Y Samsung BLE Support ? N Y ? Y Samsung ?Support for HIGH QoS. ? N Y ? Y Samsung slow response. ? N Y ? Y Samsung Device discovery works on a single adaptor. ? N Y ? Y Samsung Only unicast presence supported. ? N Y ? Y Samsung CA integration has been tested only on Ubuntu. ? N Y ? Y Samsung Discovery and Connectivity CoAP model- IoTvity supports information exchange and control based on the messaging/CoAP model. IoTivity also manages radio connections between devices (Wi-Fi, LAN) and across any available transport, whether it?s device-to-device or across the same network ? ? ? ? ? Intel Discovery- This feature provides discovery mechanisms for finding resources in proximity. ? ? ? ? ? Intel Device Discovery- This feature provides a mechanism to find devices based on specific device-level attributes. ? ? ? ? ? Intel Active Discovery- This feature provides presence notifications based on a) a resource coming online or b) a change in a resource's properties or c) a resource going offline. It allows a client to subscribe/unsubscribe (unicast or multicast) for presence notifications. ? ? ? ? ? Intel Resource Management Resource model operations- IoTivity supports fundamental resource model based operations such as GET, PUT, POST, DELETE apart from Observations and its notifications. Observe notifications can be sent to all clients or to a specific set of clients. ? ? ? ? ? Intel Entity Handler support- This allows a server app developer to handle incoming client requests and respond after processing the requests. A default device entity handler is also supported to handle a request that does not match the existing registered resource. ? ? ? ? ? Intel Header Options support- This feature allows the client to send custom header options to the server and vice-versa. ? ? ? ? ? Intel QoS support- This feature allows the app developer to choose the quality of service which currently translates to non-confirmable (LOW_QoS) and confirmable (HIGH_QoS) in CoAP. ? ? ? ? ? Intel SDK- The SDK abstracts all the OS APIs for radio connections into simpler APIs. SDK provides APIs for platform initialization (Client/Server/Client-Server mode in In-Proc model), discovery of resources, discovery of devices, registration/creation of resources and resource model operations. ? ? ? ? ? Intel Collection- This feature provides a root resource to point to other resources. This features includes operations on default, linklist and batch interfaces on a collection resource. ? ? ? ? ? Intel JSON format- IoTivity uses JSON data format with JSON serialization and de-serialization in C++ SDK layer. ? ? ? ? ? Intel Slow response- This feature allows a server application to indicate 'slow response' to a client on an incoming request. This enables the server process the request, then send a response at a later time. ? ? ? ? ? Intel Security- This feature provides security that allows app developers to create secure resources and communicate with resources in a secured channel. ? ? ? ? ? Intel Tizen Support IoTivity project build supported on Tizen 2.3 and 3.0 (both on IA and ARM version) ? ? ? ? ? Intel No new specific APIs for Tizen; Tizen development support and build process provided in "Readme.scons.txt" ? ? ? ? ? Intel Yocto Support meta-oic software layer for Yocto separately hosted on git.yoctoproject.org. ? ? ? ? ? Intel Contains recipes to build the IoTivity framework and SDK for Yocto based embedded targets. ? ? ? ? ? Intel Can utilize Yocto provisioned infrastructure to construct target toolchains to cross-compile IoTivity applications for that target. ? ? ? ? ? Intel Tested successfully on Intel Edison and MinnowBoard MAX platforms. ? ? ? ? ? Intel Currently supports the resource layer (runtimes and applications) of the IoTivity stack. ? ? ? ? ? Intel OICSensorBoard provides sample IoTivity application for the Intel Edison Platform. ? ? ? ? ? Intel Demonstrates IoTivity Server capabilities on the Edison through the integration of an add-on breadboard that hosts temperature, ambient light and LED resources. ? ? ? ? ? Intel Client-server functionality successfully tested by building server using Yocto toolchain for Edison and client for Ubuntu. ? ? ? ? ? Intel Fully documented connection diagram of sensors to Edison, build configuration, supported IoTivity interfaces and methods, and client/server. ? ? ? ? ? Intel Scons Support SCons provides cross-platform build tool. ? ? ? ? ? Intel IoTivity project can be built on Linux, Windows, MAC OSX for various OS(Linux, Tizen, Android, Arduino, Windos, MAC OSX, iOS). SCons readme file available at parent folder 'iotivity'. ? ? ? ? ? Intel June Yong Young Principal Engineer Web & Convergence Team, Software R&D Center Samsung Electronics Co.,Ltd. T: +82-31-301-6107, M: +82-10-9530-6107 E-mail :juney at samsung.com<mailto:juney at samsung.com> Choi, Soon Hwang Senior Engineer / Ph. D. Software Engineering Lab (SE Lab) Digital Media & Communication R&D Center SAMSUNG ELECTRONICS CO.,LTD AnyCall +82-10-7311-0206 e-mail soonhwang.choi at samsung.com<mailto:soonhwang.choi at samsung.com> Choi, Soon Hwang Senior Engineer / Ph. D. Software Engineering Lab (SE Lab) Digital Media & Communication R&D Center SAMSUNG ELECTRONICS CO.,LTD AnyCall +82-10-7311-0206 e-mail soonhwang.choi at samsung.com<mailto:soonhwang.choi at samsung.com> [cid:image001.gif at 01D03179.22DDF600] [http://ext.samsung.net/mailcheck/SeenTimeChecker?do=6db27cebcd8822fb77117ef89cc77e93dc8928a02cb65e9187dfe03c47d8dbcb08c5ce1bd480a15cd4a87a1fb2ad96504bea3c1765014a1208cece8541bc14eacf878f9a26ce15a0]
