Through to the popularity of Service-orientation a huge number of process models to develop such systems has been published in recent years. In 2009 Thomas, Leyking and Scheid identified 21 different approaches in [
38]. Most of the currently available models are tailored for a special purpose, require a particular tool chain or concentrate on one field of application only. However, none of them suits to the domain of automotive SOA solutions. Instead of developing yet another model, we decided to find a process model that can be customized to this special scenario and integrated into the CPSSD development process. In order to do so, criteria have been developed and the available approaches have been evaluated based on these. The following criteria have been defined:
1.
Completeness of the specification phase
2.
Independence of a specific field of application
3.
Variability in the scenario of development
5.
Acceptance of the modeling language
6.
Easy integration into CPSSD
Our first criterion is that the modeling approach has to allow a complete system specification which includes the specification of the Services as well as the Service Architectures. This also implies that a detailed technical point of view should be assured rather than focusing on the business domain which is very common using SOA. Finally, concrete methods or techniques on how to carry out the steps within the process model should be proposed. Due to the lack of specialized approaches for the automotive domain the second criterion states that the field of application should not be restricted. Specialized models, used for Web Services for example, are not very promising since their focus is too narrow. Converting these to suit embedded automotive systems would change too many of their essential ideas if possible at all. Another criterion is that the starting position at the very beginning of the process should be variable. This is important because the process model should allow new developments as well as migrating existing systems into SOA. The fourth criterion is that tool support should be given. Using a tool that for example allows modeling the system graphically reduces development time. In addition, implemented validation functionalities decrease the probability of semantic errors. Furthermore, the modeling language deployed should be widely-used and hereby accepted. This demand is set up because of the nature of development teams in the automotive industry. These teams are normally constituted by members with different backgrounds such as software engineers, electrical engineers or mechanical engineers. A widely-used modeling language simplifies the communication within the group and reduces the risk of misunderstandings. Finally, the last criterion is that the development process has to be capable of being integrated into CPSSD. Using these criteria, eleven process models are analyzed. The first one is a model proposed by Stein and Ivanov in [
37]. The model is based on ten phases starting with a business process model ending with the deployment of the developed system. It focuses on business processes and the modeling languages suggested belong to the domain of Web Services. A similar model, the Enterprise SOA Roadmap method is presented in [
17]. This model also emphasizes on business modeling since only one of the five steps to be executed is technical. Both of the process models violate criteria two that they shouldn’t restrict the area of application. Other approaches lack of concrete modeling techniques. Pingel [
32] for example, introduces a technology independent five phase model extending well-known approaches. Another approach in this category is a proposal of Mathas [
24] which extends the software lifecycle model by adding some SOA-specific tasks and roles while staying coarse-grained. The Service-oriented Modeling Framework developed by Bell is quite generic, too [
6]. The idea of the author is to design a concrete process model for every case of application derived from his abstract methodology. Bell also proposes a special design notation which violates the criterion of using a widely-used modeling language. All these models are rather to be seen as suggestions on how a process model may be set up than being a concrete model itself. Unlike the previously named ones the models “Service-oriented design and development” [
31] by Papazoglou and van den Heuvel and “Creating Service-oriented Architectures (CSOA)” [
5] developed by Barry are technical in nature. Both of them are phase-oriented and contain practical techniques to be performed in those phases. Through basing on modeling languages like the business-oriented “Business Process Modeling Language (BPML)” or the “Business Process Execution Language for Web Services (WS-BPEL)” they cannot be used for other fields of application without major changes. This fact violates criterion two. Another approach is presented by Nadhan in [
28]. The author describes a seven step procedure to migrate an existing solution into a SOA-based system focusing on technical issues. Targeting only on the migration scenario this model cannot be used for new developments. In doing so criterion three is violated. Some highly interesting approaches are using the Service-oriented modeling language (SoaML), a notation created to model and design SOA-based systems. This is a promising approach because the language itself satisfies the criteria set up in being not restricted to one field of application and being widely used since it is a profile of the popular Unified Modeling Language (UML). One of these process models is presented in [
16]. The authors describe the development of a Service-based monitoring system by identifying and specifying the needed services. Although this is very promising, it does not allow specifying the architecture of the overall system which violates the criterion of enabling the user to carry out a complete system specification. Another methodology using SoaML introduced in [
13] closely follows the processes defined in the Model-driven architecture (MDA) approach published by the Object Management Group. Tool support is granted by the modeling tool “Modelio”. This process model defines several specification steps within the computational independent model and the platform independent model of MDA. The approach is very close to “Service-oriented Modeling and Architecture (SOMA)” presented in [
2]. This phase-oriented lifecycle model is based on the “Rational Software Architect” and is also free of any restrictions with respect of the area of application. Both of the lastly named methodologies are fitting the criteria set up earlier in this paper. The reasons why SOMA is favored is being more focused on technical issues and offering a more straightforward workflow. Furthermore, the phases of SOMA can be integrated into CPSSD more easily.