CHƢƠNG 1 CÔNG NGHỆ TRUYỀN HÌNH DI ĐỘNG
3.3. Xây dựng hệ thống
3.3.1. Mô hình ca sử dụng
Nhìn ở mức cao hơn, “trình hiển thị phƣơng tiện di động” có các yêu cầu về mặt chức năng sau. Khi áp dụng “trình hiển thị phƣơng tiện di động”, nó có khả năng nhận các dòng truyền dữ liệu IP và lƣu các chỉ dẫn dịch vụ điện tử. Nếu chỉ dẫn dịch vụ điện tử không có sẵn qua việc truyền đại chúng, “trình hiển thị phƣơng tiện di động” sẽ tìm lại nó qua một kênh truyền thông luân phiên. Sau khi chỉ dẫn dịch vụ điện tử đã có sẵn, “trình hiển thị phƣơng tiện di động” mở ra một trình duyệt. Ngƣời sử dụng có thể chọn các dịch vụ để đặt hàng hoặc tiêu thụ từ chỉ dẫn dịch vụ và tìm kiếm các dịch vụ khác. Khi một dịch vụ đang đƣợc sử dụng, “trình hiển thị phƣơng tiện di động” sẽ hiển thị các thanh biểu ngữ cho ngƣời sử dụng. Ngƣời sử dụng có thể nhấn vào các thanh biểu ngữ để đặt hàng dịch vụ đƣợc quảng cáo. Hơn nữa, “trình hiển thị phƣơng tiện di động” có các “phòng trò chuyện” để ngƣời sử dụng có thể đăng nhập, tìm các phòng trò chuyện và “trò chuyện”. Cuối cùng ngƣời sử dụng có thể tuỳ chỉnh hiện trạng của nó theo sở thích. Hình 3.2 chỉ ra một bảng tóm tắt các trƣờng hợp sử dụng cho “trình hiển thị phƣơng tiện di động”.
Hình 3.2: Mô hình ca sử dụng
3.3.2. Trường hợp sử dụng dịch vụ đặt hàng
Khi một ngƣời sử dụng muốn sử dụng hoặc đặt hàng một dịch vụ, ngƣời đó sẽ xem chỉ dẫn dịch vụ điện tử hoặc là nhấn vào một thanh biểu ngữ. Thành công của trƣờng hợp sử dụng này đảm bảo rằng ngƣời sử dụng đƣợc phê chuẩn và đƣợc làm hoá đơn, nội dung và quyền nội dung đƣợc nhận thành công và dịch vụ tuỳ theo sẽ đƣợc đƣa ra. Bởi vì các mô hình thƣơng mại khác nhau cho phép ngƣời sử dụng truy cập tới các dịch vụ theo các cách khác nhau. Những yêu cầu cần thiết để phát ra dịch vụ có thể thay đổi. Phụ thuộc vào dịch vụ đƣợc chọn, một dịch vụ đặc biệt có thể yêu cầu, ví dụ : tải tệp, các quyền nội dung các khoá để giải mã nội dung, hoặc bản thân nội dung. Hình 3.3 chỉ ra dịch vụ đặt hàng
Mô tả kịch bản:
1. Ngƣời sử dụng chọn một dịch vụ.
2. Hệ thống lấy từ định danh của dịch vụ đƣợc chọn.
3. Kiểm tra quyền nội dung phần mềm, kiểm tra xem nội dung có sẵn hay không?
4. Hệ thống xác định hiện trạng của ngƣời sử dụng để truy xuất thông tin lập hoá đơn và phƣơng pháp trả tiền.
5. Hệ thống yêu cầu quyền nội dung hoặc nội dung, và gửi thông tin lập hoá đơn tới điều hành viên dịch vụ qua một kênh truyền thông. 6. Điều hành viên dịch vụ thực hiện vụ giao dịch và đáp lại bằng việc
gửi các nội dung đƣợc yêu cầu hoặc quyền nội dung tới phần mềm đầu cuối.
7. “Trình hiển thị nội dung” ghi nhận dịch vụ đƣợc đặt hàng theo sở thích của ngƣời sử dụng trong hiện trạng ngƣời sử dụng.
8. Hệ thống đƣa ra ứng dụng theo đúng yêu cầu.
Biểu đồ tuần tự (trong trƣờng hợp quyền nội dung đang sẵn có)
3.3.3. Trường hợp sử dụng hiển thị chỉ dẫn dịch vụ quảng cáo
Phần mềm đầu cuối hiển thị một đề tựa có liên quan tới dịch vụ đang hoạt động hiện thời và có liên quan tới những sở thích đƣợc xác định trong lƣợc tả. Các thanh biểu ngữ đƣợc hiển thị có thể hoạt động giống nhƣ các nút đặt hàng tới tất cả các dịch vụ đƣợc mô tả trong chỉ dẫn dịch vụ điện tử hoặc cung cấp sự tƣơng tác. Siêu dữ liệu thanh biểu ngữ miêu tả các thanh biểu ngữ đƣợc định vị trong chỉ dẫn dịch vụ điện tử. “Trình hiển thị phƣơng tiện phƣơng tiện di động” sử dụng siêu dữ liệu thanh biểu ngữ để yêu cầu thanh biểu ngữ từ điều hành viên dịch vụ. Thành công của trƣờng hợp sử dụng này đảm bảo rằng một sự tìm kiếm cho các thanh biểu ngữ đƣợc thực hiện trong chỉ dẫn dịch vụ điện tử, thanh biểu ngữ đƣợc yêu cầu và đƣợc nhận trong trƣờng hợp thanh biểu ngữ không có sẵn, và đƣợc hiển thị tới ngƣời sử dụng. Hình 3.5 chỉ ra thanh biểu ngữ hiển thị sử dụng sơ đồ.
Hình 3.5: Biều đồ ca sử dụng hiển thị chỉ dẫn dịch vụ Mô tả kịch bản: Mô tả kịch bản:
1. “Trình hiển thị phƣơng tiện di động” hỏi “User Profile” đề biết dịch vụ nào đƣợc sử dụng và biết đƣợc sở thích của ngƣời sử dụng.
2. “Trình hiển thị phƣơng tiện di động” tìm kiếm chỉ dẫn dịch vụ điện tử để truy lục tới siêu dữ liệu thanh biểu ngữ. Dịch vụ đang dùng và sở thích của ngƣời sử dụng đƣợc sử dụng nhƣ một bộ lọc để tìm kiếm.
3. “Trình hiển thị phƣơng tiện di động” yêu cầu các thanh biểu ngữ từ điều hành viên dịch vụ.
4. Điều hành viên dịch vụ đáp lại bằng cách gửi thanh biểu ngữ.
5. “Trình hiển thị phƣơng tiện di động” nhận và lƣa trữ các thanh biểu ngữ. 6. “Trình hiển thị phƣơng tiện di động” hiển thị các thanh biểu ngữ.
Hình 3.6: Biều đồ ca sử dụng hiển thị thanh biểu ngữ quảng cáo
3.3.4. Trường hợp sử dụng việc nhấn các thanh biểu ngữ
Khi ngƣời sử dụng nhấn vào một đề tƣạ, “trình hiển thị phƣơng tiện di động” phát ra một dịch tƣơng ứng với đòi hỏi của thanh biểu ngữ. Ví dụ, nếu một thanh
biểu ngữ là một thanh biểu ngữ web, “trình hiển thị phƣơng tiện di động” sẽ mở một trình duyệt web. Sự thành công của trƣờng hợp sử dụng này đảm bảo rằng ứng dụng tƣơng ứng cho thanh biểu ngữ sẽ đƣợc phát ra và thông tin chính của thanh biểu ngữ đƣợc ghi. Một bản ghi các thanh biểu ngữ đƣợc nhấn đƣợc giữ lại để cung cấp một dịch vụ tuỳ chỉnh theo ý khách hàng.
Mô tả kịch bản
1. Ngƣời sử dụng nhấn vào thanh biểu ngữ.
2. “Trình hiển thị phƣơng tiện di động” lấy từ định danh của thanh biểu ngữ. 3. “Trình hiển thị phƣơng tiện di động” phát ra ứng dụng đƣợc đòi hỏi. 4. “Trình hiển thị phƣơng tiện di động” ghi thông tin về thanh biểu ngữ vào
mục sở thích của ngƣời sử dụng trong “user Profile”.
Nói một cách tổng quát, các thanh biểu ngữ có thể phù hợp với 5 phạm trù phụ thuộc vào chức năng của chúng. Tuy nhiên, nó có thể thực thi các đề tựa mà sử dụng các ứng dụng khác nhau sẽ đƣợc miêu tả trong quá trình nghiên cứu này.
Thanh biểu ngữ cung cấp thông tin, nó không cung cấp sự tƣơng tác. Loại thanh biểu ngữ này đƣợc sử dụng để hiển thị một quảng cáo tĩnh hoặc một thông báo tĩnh. Thông báo tĩnh này có thể là những báo động tin tức hoặc thông tin bổ sung có liên quan tới dịch vụ.
Thanh biểu ngữ đặt hàng, nó nhằm vào việc đặt hàng một dịch vụ. Khi thanh biểu ngữ đƣợc nhấn, nó tạo ra một yêu cầu đặt hàng. Các chi tiết về cách thức đặt hàng dịch vụ cũng nhƣ chi phí của nó đƣợc xác định trong chỉ dẫn dịch vụ điện tử.
Thanh biểu ngữ Web, nó đƣợc liên kết tới trang Web. Khi một thanh biểu ngữ Web đƣợc nhấn, nó đòi hỏi rằng trang web đƣợc liên kết phải mở với ứng dụng trình duyệt web.
Thanh biểu ngữ bầu chọn, nó đƣợc sử dụng để đƣa ra các lá phiếu. Khi thanh biểu ngữ này đƣợc nhấn nó sẽ gửi phiếu thông qua một kênh truyền thông.
Thanh biểu ngữ hỏi/đáp, nó đƣợc sử dụng để cung cấp sự tƣơng tác. Khi thanh biểu ngữ đƣợc nhấn, nó cung cấp tƣơng tác tới ngƣời sử dụng bằng cách hiển thị một tập các câu hỏi có thể đƣợc chứa trong cùng thanh biểu ngữ.
Kịch bản mở rộng cho các trƣờng hợp:
Thanh biểu ngữ là cung cấp thông tin và không cung cấp sự tƣơng tác. Thanh biểu ngữ đặt hàng: Phần mềm đầu cuối cho phép khách hàng chọn
vào mục bán hàng. Nó sẽ cập nhật thông tin ngƣời dùng và mở trang web bán hàng tƣơng ứng.
Thanh biểu ngữ web: phần mềm đầu cuối truy cập một địa chỉ web
Thanh biểu ngữ bầu chọn: Phần mềm đầu cuối gửi phiếu tới ngƣời nhận qua một kênh truyền thông. Phần mềm đầu cuối thông báo cho ngƣời sử dụng bằng việc mô tả phiếu đƣợc thực hiện thành công hay không?
Thanh biểu ngữ thi đố: ngƣời sử dụng tiếp tục trả lời, tiếp tục bƣớc một của trƣờng hợp sử dụng. Trƣờng hợp sử dụng cuối cùng khi trò đó kết thúc.
Hình 3.8: Lƣợc đồ tuần tự cho việc bầu chọn
3.3.5. Biểu đồ lớp
Mô tả các gói đối tƣợng chính của hệ thống:
Trình quản lý dịch vụ - Service Manager bố trí các hoạt động của các đối tƣợng khác nhau có liên hệ với hệ thống.
Chỉ dẫn dịch vụ điện tử - Electronic Service Guide) chứa bảng mô tả các dịch vụ - siêu dữ liệu dịch vụ) và các thanh biểu ngữ. Đối tƣợng thanh biểu ngữ bản thân nó chính là các đề tựa.
Ngƣời sử dụng - User) hiển thị ngƣời sử dụng của hệ thống. Đối tƣợng này có một lƣợc tả ngƣời sử dụng - user profile) chứa các thông tin về ngƣời sử dụng, sở thích của ngƣời sử dụng và một danh sách các dịch vụ đƣợc dùng bởi ngƣời sử dụng.
Một thứ tự đặt hàng - Purchase Order xem xét một dịch vụ đƣợc đặt hàng bởi ngƣời sử dụng. Trình quản lý việc lập hoá đơn đƣợc đƣa vào việc đặt hàng các dịch vụ. Vì mục đích này, nó sử dụng một dịch vụ quản lý bản quyền số - DRM Agent) để vận hành các quyền về nội dung của dịch vụ đƣợc đặt hàng.
Trình quản lý giao tiếp - Communication Manager mở ra các cổng truyền thông để đƣa ra yêu cầu và nhận dữ liệu.
Giao diện ngƣời sử dụng - User Interface cung cấp các phƣơng tiện cho ngƣời sử dụng để tƣơng tác với hệ thống.
Ứng dụng - Application: là đối tƣợng trừu tƣợng, các dịch vụ triển khai phía hệ thống sẽ kế thừa đối tƣợng này nhƣ dịch vụ trò chuyện.
Trình quản lý ứng dụng - Application Manager điều khiển các ứng dụng phần mềm có liên quan với hệ thống. Trình ứng dụng là tầng cơ sở cho các ứng dụng, ví dụ nhƣ “trò chuyện”. Nếu những ứng dụng khác đƣợc sử dụng với hệ thống, chúng cũng bắt nguồn từ tầng ứng dụng.
3.4. Khả năng liên kết với phần mềm nhúng đầu cuối
Trong phạm vi nghiên cứu, luận văn chỉ tập trung vào hệ điều hành Symbian đƣợc sử dụng rộng rãi nhất trên các máy của Nokia, Samsung,…Với hệ điều hành Symbian, nó có khả năng kết nối vẫn đƣợc sử dụng theo cùng một cách mà không
quan tâm đến kênh truyền thông. Vì thế, điều cốt yếu là hiểu đƣợc chức năng kết nối Symbian OS để phát triển bất cứ một ứng dụng nào kết nối với kênh truyền thông. Hơn nữa, một vài vấn đề phải đƣợc ghi nhớ bất cứ khi nào những ứng dụng của Symbian đƣợc phát triển. Một trong những vấn đề quan trọng nhất đó là việc sử dụng những đối tƣợng kích hoạt.
Các ứng dụng của Symbian phù hợp với các đối tƣợng kích hoạt hơn là đa luồng. Khái niệm đối tƣợng kích hoạt đƣợc phát triển riêng biệt cho hệ thống điều hành Symbian. Nó cho phép thực hiện một vài đòi hỏi không đồng bộ tại cùng thời điểm và trong cùng luồng cũng có thể nó đƣợc xác định nhƣ một nền tảng liên kết.
Trong Symbian, luồng là đơn vị thực hiện, tất cả các đối tƣợng kích hoạt và bộ lập thời biểu tích cực trong cùng luồng. Bộ lập thời biểu tích cực là một vòng chờ trong luồng đơn, nó sẽ phát hiện sự hoàn thành của các sự kiện không đồng bộ và định vị đối tƣợng kích hoạt có liên quan để vận hành chúng.
Các kết nối trong Symbian phù hợp để sử dụng các đối tƣợng kích hoạt và đó là lý do tại sao chúng quan trọng cho việc nghiên cứu này. Thủ tục bắt đầu bất kỳ một kết nối nào trong Symbian đƣợc mô tả dƣới đây [11]:
Thiết lập một server socket
Việc cài đặt sẽ tạo ra một kênh truyền thông. Lệnh đƣợc sử dụng là :
Rsocketserv::Connect().
Tạo kết nối tới Socket Server
Phần đính kèm sẽ bắt đầu một điểm truy cập Internet. Điểm truy cập Internet có thể là bất kỳ một loại nào, nhƣ: CPRS, EDGE, W-CDMA/UMTS, LAN không dây, Ethernet hoặc truyền dữ liệu IP. Bộ mô phỏng sử dụng điểm truy cập Ethernet Internet, trong khi truyền dữ liệu IP đƣợc sử dụng cho truyền đại chúng. Lệnh đƣợc sử dụng là: Rconnection::Open(RsocketSev, aSocketServer).
Bắt đầu sự kết nối dựa trên những ƣu tiên kết nối
Những ƣu tiên kết nối cho điểm truỵ cập Internet IDs đƣợc xác định trong tệp commsDB của ứng dụng. IDs của các điểm truy cập Internet là các số nguyên.
Những sự ƣu tiên này sẽ đƣợc sử dụng khi một sự kết nối bắt đầu. Lệnh đƣợc sử dụng là: Rconnection:: Start (TconnPref& aPref, Trequest Status & aStatus).
Mở luồng socket và gắn nó tới 1 kết nối có sẵn
Sau khi sự kết nối đƣợc bắt đầu, bƣớc tiếp theo là tạo ra một ổ cắm và gắn nó với một kết nối đã đƣợc bắt đầu. Lệnh đƣợc sử dụng là
RSocket::Open(RSocketServ& aServer, TUint addrFamily, TUint sockType, TUint protocol, RConnection anRConnection).
Những thông số có sẵn xác định phiên socket máy chủ, mà không cần biết Ipv4 hoặc Ipv6 có đƣợc sử dụng cho địa chỉ, loại socket là TCP hay UDP, giao thức và sự kết nối tới socket hay không.
Sử dụng cơ chế ổ cắm
Sử dụng ổ cắm để gửi và nhận dữ liệu. Trong các ngôn ngữ của Symbian, “write” đƣợc sử dụng để gửi dữ liệu, và “read” để nhận dữ liệu. Để gửi dữ liệu, lệnh đƣợc sử dụng là: Rsocket::Write(TDesc8 &aDesc, TRequestStatus &aStatus).
Bộ miêu tả đƣợc sử dụng nhƣ là thông số đầu tiên là dữ liệu mà sẽ đƣợc gửi nhờ kênh truyền thông. Thông số thứ hai đề cập đến trạng thái. Trạng thái sẽ đƣợc yêu cầu ngay khi dữ liệu bắt đầu đƣợc gửi và sẽ hoàn tất đến tận khi tất cả dữ liệu đƣợc gửi. Trong trƣờng hợp nhận dữ liệu, cách tiếp cận không khác nhiều. Lệnh đƣợc sử dụng để nhận dữ liệu là: Rsocket::Read(TDesc8 &aDesc, TRequestStatus &aStatus).
Trong trƣờng hợp này, bộ phận miêu tả là dữ liệu mà sẽ đƣợc nhận, bất cứ khi nào dữ liệu đƣợc nhận thì trạng thái sẽ đƣợc khởi sự. Quá trình nhận dữ liệu không nhất thiết là một quá trình liên tục. Nghĩa là dữ liệu sẽ không đƣợc nhận liên tục. Quá trình này mất nhiều thời gian.
Điều này đƣợc phát triển trong Symbian nhờ việc việc tạo ra một đối tƣợng kích hoạt mà sẽ điều khiển dữ liệu bất cứ khi nào đƣợc nhận. một cách để thực hiện các chức năng nhận với một đối tƣợng kích hoạt đƣợc cho sau:
CActive{...
RSocket::Read(desc, iStatus)
SetActive();
RunL(){...
Process the descriptor RSocket::Read() SetActive();
DoCancel()
Trong ví dụ này, một đối tƣợng kích hoạt đƣợc tạo. Đối tƣợng kích hoạt thực hiện chức năng StartReading ()- bắt đầu đọc, và trong chức năng này, nó đƣa ra chức năng Rsocket::Read (), nó đƣợc sử dụng để nhận dữ liệu từ ổ cắm. Chức năng StartReading () kích hoạt đối tƣợng kích hoạt nhờ việc sử dụng hàm SetActive (). Khi dữ liệu đƣợc nhận, hàm RunL () đƣợc khởi hành.. Hàm RunL là một hàm đặc biệt mà phải đƣợc thực hiện trong đối tƣợng kích hoạt. RunL () đƣợc gọi bởi bộ lập thời biểu tích cực khi nó phát hiện ra rằng một yêu cầu của đối tƣợng kích hoạt đƣợc thực hiện. Hàm này sẽ xử lý dữ liệu đƣợc nhận và gọi Rsocket::Read () một cách lặp lại trong đối tƣợng kích hoạt để nhận dữ liệu. Sự lặp lại này sẽ tiếp tục đến khi đối tƣợng kích hoạt bị xoá bỏ nhờ hàm DoCancel (), hoặc một lỗi xuất hiện.
Đóng kết nối
Cuối cùng việc đóng kết nối đƣợc thực hiện nhờ việc đóng socket, các kết nối, và máy chủ socket. Lệnh đƣợc sử dụng là: RSocket::Close() RConnection: