Service based meta-model for the development of distributed ...

3 downloads 3700 Views 897KB Size Report
The use of Distributed Embedded Real-Time System (DERTS) is increasing in ... tionally used for enterprise software development, SOC is also applicable at ...
Real-Time Syst DOI 10.1007/s11241-013-9179-z

Service based meta-model for the development of distributed embedded real-time systems Muhammad Waqar Aziz · Radziah Mohamad · Dayang N.A. Jawawi · Rosbi Mamat

© Springer Science+Business Media New York 2013

Abstract The development complexity of Distributed Embedded Real-Time Systems (DERTS) can be reduced by the use of Service-Oriented Computing (SOC). However, the existing modeling methods allow modeling of either DERTS or SOC concepts and there is a lack of meta-model for Service-Oriented development of DERTS. This paper proposes a service-based meta-model for DERTS, along with the constraints of the elements of the meta-model. A Smart Home case study was designed to validate the meta-model. This meta-model could not only be beneficial for Service-Oriented development of DERTS, but can also be used at the Platform Independent Model (PIM) level of MDD. Keywords Distributed embedded real-time system (DERTS) · Service-Orientation · Meta-model · Service concepts · Smart Home 1 Introduction The use of Distributed Embedded Real-Time System (DERTS) is increasing in different areas of society such as defense, industry, aerospace, home automation and so on. With their increasing capabilities, unique characteristics, resource constraints, temporal guarantees and increasing software-centric trend, the development of DERTS is very complex compared with enterprise software (Thramboulidis et al. 2008). This complexity can be reduced by using state-of-the-art software development methods such as Service-Oriented Computing (SOC) (Huhns and Singh 2005). Traditionally used for enterprise software development, SOC is also applicable at device level (Jammes and Smit 2005a; Jammes et al. 2007; Cannata et al. 2008a, 2008b; Moritz et al. 2008; Li et al. 2008; Barisic et al. 2007), where it provides a logical M.W. Aziz () · R. Mohamad · D.N.A. Jawawi · R. Mamat Universiti Teknologi Malaysia Skudai, Johor, Malaysia e-mail: [email protected]

Real-Time Syst

service-based view of each physical device (Jammes and Smit 2005a). The application of Service-Oriented Architecture (SOA) at device level provides advantages like device integration with higher level subsystems, interoperability of heterogeneous equipment, increased agility, flexibility and adaptability to change, reduced development cost due to reuse, easy manageability and maintainability and fault tolerance (Jammes and Smit 2005b). Due to these advantages, SOC has been applied in embedded real-time system development (Cannata et al. 2008a; Li et al. 2008; Jammes and Smit 2005b; Souza et al. 2008), for the integration of embedded devices (Jammes et al. 2007), for embedded software (Tsai et al. 2007), and for distributed embedded systems (Shopov et al. 2007). The development complexity of DERTS can be dealt with by increasing the level of abstraction at the design level (Marco et al. 2008). SOC has proven to provide such suitable abstractions to master the complexity of large applications (Antonio et al. 2009). However, SOC is mostly used with DERTS in ad hoc manner, without a proper focus on modeling and design. A systematic analysis and design approach is needed for a successful implementation of Service-Oriented (SO) solution, instead of implementing it on ad hoc basis. In this regard, to pay full attention on systematic modeling of SOC, a service-based technology independent meta-model is proposed in this paper for high-level modeling of DERTS design. The meta-model is proposed because a meta-model provides a unified framework to ensure the consistency among design models and to check their validity (Richard et al. 2007). In addition, service modeling is a critical step in SOA-based development (Yukyong and Xongran 2006), a model is needed for developing applications based on SOA. Furthermore, a service-based meta-model for DERTS is missing from the literature. The proposed meta-model provides developers of DERTS the means to model the structure and behavior of DERTS in terms of SOC concepts. Moreover, it allows the developers to describe and maintain temporal characteristics and other quality of service in a visual way during SO design of DERTS that plays an important role in service discovery, matching and selection. Thus, software engineers are supported with intuitive and easily understandable and adoptable design abstractions for SO development of DERTS. The use of SOC for DERTS provides a generic means of communication and computation for different categories of real-time and embedded systems. It is important to mention here that in existing literature mostly service is used with DERTS as an implementation concept. Instead in this research, service is used as a first class modeling concept for DERTS. Therefore, the development focus of the proposed meta-model and existing SOC implementations for DERTS is different. Although many approaches for enterprise software development consider service as a first class modeling concept, to date no approach exists for SO DERTS development to the best of our knowledge. To introduce new modeling constructs, the three available alternatives are: defining or extending a Unified Modeling Language (UML) profile, extending a UML metamodel and defining a new MOF-based meta-model (Stahl et al. 2006). In defining a new profile, the UML models are adopted with introducing new stereotypes and tag values. There exist some standard UML profiles that can partially support the ServiceOriented modeling of DERTS, as they provide the modeling facility that covers only

Real-Time Syst

a single domain. For example, the UML profile MARTE (OMG 2009a) can be used for modeling and analysis of embedded real-time systems, as it provides sub-profiles for modeling of hardware/software resources, non-functional properties (NFP), time etc. However, it does not cover the modeling of SOC concepts such as orchestration and service interface. Similarly, UML profile SoaML (OMG 2009b) can be used to model SOC concepts in terms of UML, but it lacks in the modeling of embedded-realtime systems. A holistic UML profile combining the embedded, real-time and SO concepts is still missing. We believe that the integration of the existing UML profiles such as UML MARTE and SoaML would still not be beneficial because the profiles are not developed to work in other domains and are hard to understand and use, if even applied in other domains. Furthermore, extending some existing profile would inherit UML complexity and ambiguity. Extending the UML meta-model has the disadvantages of loosing tool support, familiarity and standard conformity. Therefore, this alternative is not much used in academia and industry. Thus, the last alternate to define a new MOF based meta-model that is not tied to the UML meta-model, has been chosen in this research. The rationale of the proposed meta-model is to allow the software engineers to develop Service-Oriented design models of DERTS at different levels of abstraction, without binding the DERTS model to a specific implementation solution. In our research, we have already presented four levels of abstraction for Service-Oriented DERTS design (Aziz et al. 2011), where each level provides the different amount of details. The models developed in the four levels of abstraction design have to follow the semantics prescribed in the proposed meta-model. In addition to the ServiceOriented modeling of DERTS along with the real-time properties, the proposed metamodel provides a basis for systematic design of DERTS. Along with the possible representation of the concepts of the proposed meta-model, a set of constraints on the elements of the meta-model are also provided. The constraints are described informally using natural language and formally using the OMG standard Object Constraint Language (OCL). This work follows the OMG Model-Driven Development (MDD) approach to separate the logical implementation of a service from its physical realizations. Thus, the issues related with physical implementation of DERTS like deployment, communication, platform and resource usage are not included. MDD is followed because it can be observed as a trend for DERTS design (Antonio et al. 2009) due to the levels of abstraction it provides. However, to support MDD of SOA applications, notations for SOA concepts need to be defined (Reiko et al. 2003) first. The proposed meta-model can be used at PIM level of MDD, which focuses on process logic without considering the underlying platform specific issues. As this research is not aimed at MDD of DERTS, the transformation of models from PIM to PSM levels is outside of the scope. To illustrate the application of the proposed meta-model, it has been used to the design of Smart Home case study. Although the proposed meta-model was applied on a Smart Home case study to check the soundness of the presented concepts, it is not limited to the case study only. In fact, the proposed meta-model covers the concepts of embedded, real-time and Service-Oriented domains and it allows the modeling of devices and embedded and real-time characteristics. Furthermore, the meta-model

Real-Time Syst

does not need any variations in case of its application in any kind of DERTS. Thus, the proposed meta-model is general enough to model Service-Oriented development in any other DERTS environment such as industrial floor and automobiles. The paper is organized as follows: The next section explains the methodology used for proposing the meta-model. The service and its concepts are represented with the help of the proposed meta-model in Sect. 3. Section 4 provides an introduction of Smart Home and the application of the proposed models in the Smart Home case study is demonstrated in Sect. 5. Section 6 contains the related work and provides a discussion on the comparison of related works and the proposed meta-model. Finally, Sect. 7 concludes the paper.

2 Method The method to develop the proposed meta-model consists of four stages. In the first stage of collecting the domain concepts, several studies (Reiko et al. 2003; Baresi et al. 2003; Tao et al. 2006; López-Sanz et al. 2008; Amir and Zeid 2004; Johnston 2005; Wada et al. 2006) were selected from the literature to collect the service and its related concepts. The selection was based on the inclusion and exclusion criteria defined in Kitchenham and Charters (2007). Care has been given to represent almost all the basic SO concepts in the meta-model as described in Papazoglou (2003) and Erl (2005). On the other hand, the real-time constraints for SOC were based by considering the Real-Time Service-Oriented Architecture (RTSOA) paradigm (Tsai et al. 2006). In addition, the modeling needs for real-time and embedded systems (Gérard et al. 2011) and the non-functional requirements for DERTS were also considered (Wehrmeister et al. 2007; Zhang 2012). The second stage was to define a list of requirements that the meta-model should fulfill. The requirements are as follows: • Expressing service and its related concepts collected from service-oriented domain such as service interface and composition • Differentiating among different types of service • Representing the functionality of a device or a device itself as service • Expressing devices in the model • Expressing the real-time properties of services such as duration, deadline etc. • Producing the design of the system for device-to-device communication, the services a device offers, the way services communicate with each other and the internal structure of the service. In the third stage, the concepts collected from embedded, real-time and SO domains were integrated and some new concepts were introduced based on the deficiencies to represent embedded, real-time and SO concepts that still remain after integration. Finally, the meta-model was developed in the construction stage.

3 Service and its related concepts in DERTS In this section, the detailed explanation of the important concepts used in the proposed meta-model is provided, which is followed by the presentation of the meta-

Real-Time Syst

model itself. The elements of the proposed meta-model describe the concepts of both DERTS and SOC domains. 3.1 Service provider Service providers are the independent entities which provide and manage services. Opposed to SO development of enterprise software, where the role of service provider is not important, the Service Provider concept has been explicitly mentioned in the proposed meta-model. This allows representing the properties of each device (Service Provider), which can affect the way how the service is being provided by the device. In this way, the proposed meta-model allows the designer to collectively represent the application and the deployment model of DERTS. Furthermore, the device properties can be used for selection of the optimal service provider, in case when many service providers are providing the same service. The existence of service providers is justified by the necessity to represent the involved devices. These providers act like a service container (López-Sanz et al. 2008). Therefore, service providers in the presented model were represented by UML package. The service provider element is present in the literature with other names such as container (Dustdar and Aiello 2006), service aggregator or service provider (Papazoglou 2003). Each device needs to know the commands to invoke the services provided by other devices. To achieve real-time communication, a set of pre-defined commands can be used along with serialization of messages, reservation of bandwidth and use of fault recovery mechanisms. 3.2 Service In this research, a service represents a basic functionality offered by a device or external provider. A device can offer one or more simple functionalities (services), which can be accessed simultaneously. In this way, services are considered as concurrent computing units, where each service has a set of associated real-time constraints. Services, in this context, can be treated as ‘tasks’ in real-time domain, which has given a priority and can be schedule using a real-time operating system. In this work, service is represented by UML component based on existing work (Baresi et al. 2003; Tao et al. 2006; Amir and Zeid 2004), where service is defined as a subclass of component (Baresi et al. 2003; Amir and Zeid 2004) and service component is used as a first-class modeling entity (Tao et al. 2006). Beside this, the working of a service as a distinct component motivated us to represent a service as UML component. In this research, the service description is stored in ontology. Although the semantic matching and discovery is a heavy process for DERTS, the service description ontology can be loaded and classified offline and only once. The classified ontology can then be accessed several times for matching (Mokhtar et al. 2008). In this way, service reasoning and matching can be realized in real-time. 3.3 The proposed meta-model This section presents the proposed meta-model for DERTS development based on the key concepts defined in previous sections. It means that the elements of the proposed

Real-Time Syst

Fig. 1 The proposed meta-model for SOA based DERTS development

meta-model cover the perspective of both the embedded real-time and SO domains. Figure 1 depicts the proposed meta-model for SO DERTS development. The service providers in the proposed model are divided into two groups: devices within the system, which provide their functionality as services and external providers, which are entities outside of the system which provide the services that collaborate with the system to perform a specific task. The device properties included in the proposed meta-model are: the ID No. for unique identification of device, location of the device, total energy, for example, to represent the battery power, memory allocation and power consumption. One Service Provider can provide more than one service, therefore 1 : N relationship was used to represent the relationship between them. There are some devices which do not provide any functionality but use the functionality provided by other devices. As these devices cannot be represented as Service Providers, they were represented as a type of service (i.e. the DeviceService) in our meta-model. This representation is in accordance with Masahide et al. (2004) in which devices are represented as services. Within a SO system, a service can be atomic (Simple) or a Composite service combining several atomic and/or other composite services. The Simple service can be divided into basic services (Basic) which provide some basic functionality and supporting services (Helping). The Helping service can be further divided into two types: the mitigation service (Mitigator) and the orchestration service (Orchestrator). The Mitigator service could provide the help required by other services to work properly. It includes different types of Handlers to cope with special situations such as errors. The event-handler is used to handle a particular event; exception-handler is used to cope with any erroneous condition such as device or network failure and service unavailability, while the compensation-handler is used to reverse an already completed activity. While the Orchestrator service would help in orchestrating all services involved in a composite service. The following real-time properties of a service are included in the proposed metamodel: Response Time, Worst Case Execution Time (WCET), Deadline, Period and Temporal constraint. All the properties are self-explanatory and are represented in milliseconds (ms). The Temporal constraint property is used to specify the allowed deadlines to be missed occasionally, for instance in case of weakly hard- or soft real-

Real-Time Syst

n time systems. The Temporal constraint property is represented as m which represents a task meets any n in m deadlines. For further details of the specification of miss deadline the reader is referred to the previous work of our research group (Ismail and Jawawi 2011). If the deadline of a service is missed in hard real-time system, the service is discarded and the next service would be selected from the list of selected services. In case, there is no more service to select, an error would occur and the exception-handler in the Mitigator service would be called to handle the situation in terms of sending message to the service requester or calling another similar service. The same group of properties holds for all types of service including composite service; however the values of these properties would have a different meaning. For example, the response time of a composite service represents the end-to-end timing requirements which include the cumulative response time of each individual service and the communication latencies involved in the composition. In other words, the response time of a composite service represents the bounded time for service discovery, matching, selection and assembly. 3.4 Constraints of the meta-model elements To define the modeling constraints of the elements of the proposed meta-model, the OMG standard OCL Language is used. This is in alignment with the UML specification (OMG 2009c). Each rule is described informally using natural language and formally using the OMG standard OCL. However, the formal syntax of only some of the constraints is presented as certain constraints were not supported by OCL. The constraints of the elements of the proposed meta-model are presented in Tables 1, 2 and 3.

4 The Smart Home case study To illustrate the usage of the proposed meta-model, it is applied to model a Smart Home environment. The Smart Home consists of the following: • A web-based software application, which can be accessed through a computer, cell phone or PDA, to monitor and control home devices • White goods (one microwave oven and one fridge) • Consumer electronics (one television (TV), one telephone) • Building automation (one dimmable light and an air conditioner (AC)) • Environmental sensors (one temperature sensor). The platform for each device in the Smart Home is based on an ATMEL ATMega32 8-bit single-chip microcontroller. The microcontroller has 32 Kbytes of flash program memory, and 2 Kbytes internal Random Access Memory (RAM). The ATMega32 also includes an 8-channels 10-bit analogue-to-digital converter (ADC), three timers, parallel input-output ports and several serial communication interfaces including Serial Peripheral Interface (SPI), Inter-Integrated Circuit (I2C) and Universal Synchronous Asynchronous Receiver Transmitter (USART). A ZIGBEE wireless

Real-Time Syst Table 1 Constraints for service Rules in natural language

Context: Service

1.

The elements of a service are constrained to classes, their relationships (dependency, association) and RTController

self.contents -> forAll (s | s.oclIsKindOf(Class) or s.oclIsKindOf(Dependency) or s.oclIsKindOf(Association) or s.oclIsKindOf(RTController))

2.

A service is a namespace for its elements i.e., no two elements in a service can have the same name

self.contents -> forAll (c1, c2 | c1.name = c2.name implies c1 = c2)

3.

A service should have at least one interface

self.contents -> exists (c | c.oclIsTypeOf(ServiceInterface))

4.

The service can only be one of the following types: Service ::= Simple | Composite | Helping | Basic | Fundamental | Orchestrator | Device

self.oclIsTypeOf(Simple) or self.oclIsTypeOf(Composite) or self.oclIsTypeOf(Helping) or self.oclIsTypeOf(Basic) or self.oclIsTypeOf(Fundamental) or self.oclIsTypeOf(Orcherator) or self.oclIsTypeOf(Device)

5.

One Composite service must contain more than one simple service

self.contents -> size >= 2

6.

Each service has a ServiceType and an user defined name



Context: Composite Service

Table 2 Constraints for service association Rules in natural language

Context: Service Association

Service association indicates a relationship between two services interfaces



2.

Service association is only between two elements

self.allConnections -> size = 2

3.

Service Association has exactly two Association Ends, where on each end there is a service interface



1.

transceiver is used for wireless communication among the devices. The software in each device was developed using C language with GNU C compiler. The real-time kernel MicroC/OS II (Labrosse 2002) was used to manage concurrent tasks and communication in each device. The interaction among the devices is shown in Fig. 2, from which it can be observed that the case study used includes some Hard and Soft temporal requirements. For example, the cooking of food in the oven has a hard real-time requirement of sending the SMS to the user within 1 minute to avoid the food getting burned. On the other hand, monitoring of the environment by the temperature sensor and checking the weight of the food item by the Fridge after every 1000 ms are soft real-time requirements. There are five use cases in the Smart Home case study which are Attending Call, Watching TV, Cooking, Food Processing and Temperature Control. These use cases are explained in Table 4.

Real-Time Syst Table 3 General constraints Rules in natural language

OCL

1.

Every service provider must have a unique name



2.

There can only be two types of service providers: Service Provider ::= Device | External provider

self.oclIsTypeOf(Device) or self.oclIsTypeOf(External Provider)

3.

A diagram must have at least one device and at least one service



4.

Devices are not allowed to interact with each other directly



5.

Each device provides or is represented by at least one service and every service is related with at least one device



6.

Within an Orchestrator services, three types of handlers can be used: Handlers ::= event | exception | compensation

self.handler.oclIsTypeOf(event) or self.handler.oclIsTypeOf(exception) or self.handler.oclIsTypeOf(compensation)

Context: Service Provider

Context: Orchestrator Service

Table 4 Use cases and explanation No.

Use cases

Explanation

1.

Attending Call

When a land-line call is received while watching the TV, the TV will automatically reduce the volume. When the call is ended, the volume will be turned up to the normal level (Masahide et al. 2004)

2.

Watching TV

The light will be dimmed when the TV is turned on and brightened otherwise

3.

Cooking

RFID tags are used to identify and cook the food in a microwave oven (Alamo et al. 2008). An appropriate message is send to the cell phone when the food is ready

4.

Food Processing

If the weight of an item is less than a specified value, the fridge can order the item from the grocery store and send a message to the user

5.

Temperature Control

The AC is controlled by a temperature sensor that give messages to the AC to heighten or lower the temperature

Fig. 2 The system sequence diagram

Real-Time Syst

Fig. 3 The Smart Home case study

The appliances used in this case study were arranged in three layer service architecture, as depicted in Fig. 3. Through the Application Layer, the user can control and manage the home appliances; the Service Layer contains services while the Device Layer is the layer that actually contains all the home appliances. The services provided by devices are different from software services, due to the contention problems i.e., a device cannot provide a single service simultaneously to different clients. For example, TV cannot provide its “Speaker” service to Telephone, cell phone and PC at the same time. On the other hand, a device can provide different services to one or more devices at the same time. For example, a TV can provide its “Speaker” service to Telephone, “Display” service to PC and “Teletext Display” service to Oven simultaneously. However, due to contention a device can only provide one service at one time. Furthermore, there are some logical cases where a device cannot provide services to different devices e.g., TV cannot provide its “Display” service to cell phone to display a picture and to PC to run the video simultaneously. The use of ontology can solve this problem by semantically specifying the service equivalency. To solve the device contention problem, we suggest RTController component within each service, whose purpose is to deal with different aspects of real-time. For example, RTController can handle concurrency and synchronization issues and schedule the requests based on the duration and priority of the task. For example, PC, Laptop and Telephone all access the “Speaker” service provided by TV simultaneously. Similarly, a service request conflict can be removed by using the priority, e.g., if Oven and Fridge accessing the TV “Teletext Display” service simultaneously, the priority of both requests would be checked by the RTController and service would be granted to request with higher priority. Supposedly, the RTController is realized through the underlying Real-Time Operating System.

Real-Time Syst

5 Application of the proposed meta-model: Platform Independent Models This section presents the application of the proposed meta-model in the Smart Home case study. The models produced in the case study are platform independent, therefore they do not provide the platform specific details. The models of the Smart Home case study were checked to find out whether they satisfy the modeling constraints or not. Based on the proposed meta-model, special stereotype notations were defined to represent the concepts discussed earlier. The service and its related concepts present in the Smart Home case study are explained below. In the case study, there are seven home appliances (devices) providing different services, as displayed in Fig. 3. These devices were represented as package and stereotyped with «Device» notation, as can be seen in Fig. 4. The services which are providing basic functionalities were stereotyped with the «Basic» notation, for example Display and Low/High Light service. «DeviceService» stereotyped was applied to represent a device which does not provide any services, for example the telephone. A Uses relationship was used to show the anticipated interaction between two services. A service level model of the case study is shown in Fig. 4 which includes three devices the Telephone, TV and the Light along with their services. For simplicity, the service properties are not displayed at this level of abstraction. Each Service interacts with other services by the Service Interface, which shows the required inputs and outputs provided by the service. The interaction among the services is presented in the Service interface level of abstraction. The interaction between two services, in fact between two devices, along with their realtime properties is shown in Fig. 5. As mentioned before, UML interface notations (ball and sockets) were used to represent an interface in our model. It can be observed in Fig. 5 that the AC checks the temperature periodically after every 1000 ms using the Check Temperature service, as mentioned by Period property of the service. Similarly, WCET, Response time and Deadline properties of both the services are also mentioned. The Temporal Constraint property of “Check Temperature” service is showing that the interaction has soft realtime requirements where the “Check Temperature” service has to meet 3 deadlines in any 5 invocations.

Fig. 4 The service provider and services

Real-Time Syst Fig. 5 Service interface level model

Fig. 6 Service interaction within a composite service

The simple services can be combined to form composite services and were stereotyped with the «Composite» notation, an example is shown in Fig. 6. In the figure, the “Food Order” composite service provided by the Fridge is shown, which involves three partner services orchestrated by the “FoodOrch” orchestrator service. In this case, the properties of the composite service depend on the aggregation of the properties of all Partner Services. The applicability of the proposed meta-model on the Smart Home case study showed that our proposed meta-model was adequate to represent the correct service

Real-Time Syst

concepts, service-to-service communication and real-time properties during the early design phase of DERTS development. 6 Related works and discussion Several UML profiles are proposed for SOA modeling in the recent years (Aziz et al. 2011; Tao et al. 2006; Amir and Zeid 2004; Johnston 2005; Wada et al. 2006; Kitchenham and Charters 2007; Masahide et al. 2004), however, our focus in this work is on the meta-models presented for SO modeling. A meta-model is defined in López-Sanz et al. (2008) with service as a first class modeling element. Their proposal defines the service contracts, the service roles and the pre/post conditions along with other service elements. Both functional and non-functional properties are included in this meta-model. However, the composition of services is restricted only to choreography and the proposal does not specify any front end for user interaction as no modeling component is defined for it. Baresi et al. (2003) proposed a UML model to represent SOA static concepts where to represent the dynamic behavior, the graph transformation rules are presented and transition systems are used for their validation. Since this model considers the service providers, requesters and discovery agencies necessary for SOA development, it cannot be generalized to other execution platforms. The types of services in our model were based on Amir and Zeid (2004). Another SOA modeling solution is provided in Johnston (2005). Along with the representation of service, messages and connectors, the solution is more focused on modeling the non-functional properties where the non-functional properties are represented as tagged-values. Erradi et al. (2006) provides a service conceptual metamodel, but do not cover all the important service concepts and do not represent all the service elements. Furthermore, the focus of the conceptual model is service identification and not how to represent the service concept. The representation of service and its concepts in our work was based on several other researches (Aziz et al. 2011; Tao et al. 2006; López-Sanz et al. 2008; Amir and Zeid 2004; Johnston 2005; Wada et al. 2006; Kitchenham and Charters 2007). We reused the graphical notation of UML2 to increase the acceptance rate of the designer towards the proposed models. For example, the UML interface notation (circle) is used to represent a provided interface similar to Reiko et al. (2003), Tao et al. (2006), a service is represented as a component similar to Tao et al. (2006), López-Sanz et al. (2008) and so on. One approach that can be considered compatible to our idea of using service as a first class modeling concept for DERTS development is presented in Ermagan et al. (2007). However in the approach, ‘service’ is defined as the interaction among the entities and the approach is presented for automobile domain only. Although a tool chain is developed to support the SO development process, only the deadline is used as real-time property while no properties of devices are presented. It is worth mentioning that the existing service modeling approaches, some discussed above, are for enterprise applications and do not consider DERTS development. Furthermore, every study provides only a few of service concepts. We have collected and integrated the independently developed SOA concepts from the literature. The concepts were collected and defined while keeping Service-Oriented DERTS development in mind rather than enterprise software development. Besides

Real-Time Syst

collection and integration, we have introduced some new concepts related to SOA and DERTS. For example, DeviceService was introduced as a type of service to represent a device using the services of other devices, Mitigator service was introduced to handle exception handling and the Service Provider concept was introduced to represent the device providing the service. The inclusion of Service Provider as a modeling element allows the designer to represent the application and the deployment aspects in a single model. The other key contributions of our research are the use of service as a first class modeling element for DERTS, the definition of stereotypes to represent the service and its related concepts presented in this paper, the definition of the constraints of the modeling elements in OCL and the definition of real-time and embedded systems properties in Service and Device elements of the meta-model. With the help of these properties the timing, performance and embedded aspects of DERTS can be modeled. Thus, the developers are allowed to model the real-time constraints. In addition, these properties can be useful in performance and predictability analysis and in model-based verification techniques such as model checking. 7 Conclusion The development of DERTS is very complex and different from enterprise software. To reduce the complexity, new software engineering methods and techniques can be used for the development. Service Orientation has been applied for the development of DERTS due to the advantages it provides. In this paper, a service-based meta-model for DERTS development is proposed, in which service is considered as a first-class modeling element. In this regard, service and its related concepts were identified, represented and discussed in detail. The proposed meta-model allows the high-level modeling of DERTS, which includes the modeling of real-time constraints. The models, however, remain independent of any hardware platform or component infrastructure. The definition of the constraints of the elements of meta-model was also provided in OCL. The application of the proposed meta-model was demonstrated by the Smart Home case study. The models developed in the case study are usable at the PIM level of the MDD process, thus can be used in MDD of DERTS, but requires some transformation rules to generate PSM. References Alamo JMR, Sarkar T, Wong J (2008) Composition of services for notification in Smart Homes. In: Second international symposium on the universal communication (ISUC’08), December 15–16, 2006 Amir R, Zeid A (2004) A UML profile for service oriented architectures. In: Companion to the 19th annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications. New York, ACM Antonio B, Sara C, Thaizel F (2009) A two-tiered approach to enabling enhanced service discovery in embedded peer-to-peer systems. In: Proceedings of the 7th international joint conference on serviceoriented computing. Springer, Berlin Aziz MW, Mohamad R, Jawawi DNA (2011) Multiple levels of abstraction modelling for service-oriented distributed embedded real-time software design. In: Abd Manaf PA et al (eds) ICIEIS 2011, Part I, CCIS 251. Springer, Berlin, pp 517–528 Baresi L et al (2003) Modeling and validation of service-oriented architectures: application vs. style. In: 9th European software engineering conference ESEC/FSE-11. ACM, New York

Real-Time Syst Barisic D et al (2007) Making embedded software development more efficient with SOA. In: 21st international conference on advanced information networking and applications workshops, AINAW’07 Cannata A, Gerosa M, Taisch M (2008a) SOCRADES: a framework for developing intelligent systems in manufacturing. In: IEEE international conference on industrial engineering and engineering management, IEEM 2008 Cannata A, Gerosa M, Taisch M (2008b) A technology roadmap on SOA for smart embedded devices: towards intelligent systems in manufacturing. In: IEEE international conference on industrial engineering and engineering management, IEEM 2008 Dustdar S, Aiello M (2006) Service oriented computing: service foundations. In: Service oriented computing (SOC). Dagstuhl, Germany: Internationales Begegnungs- und Forschungszentrum fur Informatik (IBFI), Schloss Dagstuhl, Germany Erl T (2005) Service-oriented architecture: concepts, technology, and design. Prentice Hall, New York Ermagan V et al (2007) Towards tool support for service-oriented development of embedded automotive systems. In: Dagstuhl workshop on model-based development of embedded systems, MBEES 2007 Erradi A, Anand S, Kulkarni SOAF N (2006) An architectural framework for service definition and realization. In: IEEE international conference on services computing, SCC’06 Gérard S et al (2011) Modeling languages for real-time and embedded systems. In: Giese H et al (eds) Model-based engineering of embedded real-time systems. Springer, Berlin, pp 129–154 Huhns MN, Singh MP (2005) Service-oriented computing: key concepts and principles. IEEE Internet Comput 9(1):75–81 Ismail H, Jawawi DNA (2011) The specifications of the weakly hard real-time systems: a review. In: Zain JM, Wan Mohd WMb, El-Qawasmeh E (eds) Software engineering and computer systems. Springer, Berlin, pp 274–288 Jammes F, Smit H (2005a) Service-oriented paradigms in industrial automation. IEEE Trans Ind Inform 1(1):62–70 Jammes F, Smit H (2005b) Service-oriented architectures for devices—the SIRENA view. In: 3rd IEEE international conference on industrial informatics, INDIN’05 Jammes F, Mensch A, Smit H (2007) Service-oriented device communications using the devices profile for web services. In: 21st international conference on advanced information networking and applications workshops, AINAW’07 Johnston S (2005) UML 2.0 profile for software services Kitchenham B, Charters S (2007) Guidelines for performing Systematic Literature Reviews in Software Engineering p 57 Labrosse JJ (2002) MicroC/OS-II: the real-time kernel. McGraw-Hill, New York Li Q et al (2008) Service-oriented embedded device model in industrial automation. In: Second international symposium on intelligent information technology application, IITA’08 López-Sanz M et al (2008) Modelling of Service-oriented architectures with UML. Electron Notes Theor Comput Sci 194(4):23–37 Marco AW et al (2008) A case study to evaluate pros/cons of aspect- and object-oriented paradigms to model distributed embedded real-time systems. In: Proceedings of the 5th international workshop on model-based methodologies for pervasive and embedded software. IEEE Comput Soc, Los Alamitos Masahide N et al (2004) Implementing integrated services of networked home appliances using service oriented architecture. In: Proceedings of the 2nd international conference on service oriented computing. ACM, New York Mokhtar SB et al (2008) EASY: Efficient semAntic Service discoverY in pervasive computing environments with QoS and context support. J Syst Softw 81(5):785–808 Moritz G et al (2008) Real-time service-oriented communication protocols on resource constrained devices. In: International multiconference on computer science and information technology, IMCSIT 2008 OMG (2009a) UML Profile for MARTE: modeling and analysis of real-time embedded systems (vol 1.0, pp 738). Object Management Group, Inc OMG (2009b) Service oriented architecture Modeling Language (SoaML)—Specification for the UML profile and metamodel for services (UPMS) (vol FTF Beta 2). Object Management Group, Inc OMG (2009c) Unified Modeling Language (OMG UML). Superstructure (vol 2.3). Object Management Group, Inc Papazoglou MP (2003) Service-oriented computing: concepts, characteristics and directions. In: Proceedings of the fourth international conference on web information systems engineering, WISE 2003 Reiko H, Marc L, Sebastian Tn (2003) Towards a UML profile for service-oriented architectures. In: Workshop on model driven architecture: foundations and applications

Real-Time Syst Richard FP, Phillip JB, Jonathan SO (2007) Metamodel-based model conformance and multiview consistency checking. ACM Trans Softw Eng Methodol 16(3):11 Shopov MP, Matev H, Spasov GV (2007) Evaluation of web services implementation for arm-based embedded system. In: ELECTRONICS’2007, Sozopol, Bulgaria Souza LMSAD et al (2008) SOCRADES: a web service based shop floor integration infrastructure. In: The internet of things, Springer, Berlin, pp 50–67 Stahl T et al (2006) Model-driven software development: technology, engineering, management. Wiley, New York Tao Z et al (2006) A modeling framework for service-oriented architecture. In: Sixth international conference on quality software, QSIC 2006 Thramboulidis KC, Doukas G, Koumoutsos G (2008) A SOA-based embedded systems development environment for industrial automation. EURASIP J Embed Syst 15 Tsai WT et al (2006) RTSOA: real-time service-oriented architecture. In: Second IEEE international workshop service-oriented system engineering, SOSE’06 Tsai W-T et al (2007) Service-oriented system engineering (SOSE) and its applications to embedded system development. Serv Oriented Comput Appl 1(1):3–17 Wada H, Suzuki J, Oba K (2006) Modeling non-functional aspects in service oriented architecture. In: IEEE international conference on services computing, SCC’06 Wehrmeister MA et al (2007) An aspect-oriented approach for dealing with non-functional requirements in a model-driven development of distributed embedded real-time systems. In: 10th IEEE international symposium on object and component-oriented real-time distributed computing, ISORC’07 Yukyong K, Xongran Y (2006) Service modeling in service-oriented engineering. In: The sixth IEEE international conference on computer and information technology, CIT’06 Zhang L (2012) Aspect-oriented development method for non-functional characteristics of cyber physical systems based on MDA approach. J Softw 7(3):608–619

Muhammad Waqar Aziz is currently Ph.D. fellow in Department of Software Engineering, Faculty of Computer Science and Information Systems, Universiti Teknologi Malaysia. He has completed his MS-Software Engineering in 2009. His areas of interest are ServiceOriented Computing, Web Services and Embedded Real-time software development.

Radziah Mohamad is a senior lecturer at the Software Engineering Department, Faculty of Computer Science and Information Systems, Universiti Teknologi Malaysia. She received her Bachelor of Science (Hons) in Software Engineering from Sheffield Hallam University, Master of Science (Computer Science) and Doctor of Philosophy (Computer Science) from Universiti Teknologi Malaysia. She has been a lecturer at Software Engineering Department for more than ten years. Her research interests include service-oriented design, pattern-oriented design, formal methods, component-based software engineering and agent-oriented software engineering.

Real-Time Syst Dayang N.A. Jawawi is a lecturer at the Department of Software Engineering, Faculty of Computer Science and Information Systems, Universiti Teknologi Malaysia (UTM). She received her B.Sc. Degree in Software Engineering from Sheffield Hallam University, UK and M.Sc. and Ph.D. research in software engineering from Universiti Teknologi Malaysia. Her research interests are software reuse, component-based reuse, software quality and embedded real-time software. Currently she is Head of Software Engineering Department, Faculty of Computer Science and Information Systems, UTM; and member of Software Engineering Research Group (SERG), K-Economy, UTM.

Rosbi Mamat is currently an Associate Professor of Mechatronic and Robotics Engineering at Faculty of Electrical Engineering of Universiti Teknologi Malaysia. He obtained his Ph.D. in Control Engineering from University of Sheffield, UK. His main areas of research interest cover intelligent control, robotics and mechatronic systems.

Suggest Documents