Software are Processes Too
|
|
- Curtis Crawford
- 8 years ago
- Views:
Transcription
1 Invited Paper at Software Process Workshop (SPW) Bejing, Mai Software are Processes Too Jacky Estublier LSR-IMAG, 220 rue de la Chimie BP Grenoble Cedex 9, France Abstract. A process defines the way activities are organized, managed, measured, supported and improved to reach a goal. It has been shown, 15 years ago [1] that processes are software too; more precisely that their description can also be software. We hypothesize that a system can be characterized by its goal and by answering the questions: why, what and how. We show that software process work investigated only a tiny subset of processes, where only the how have been addressed. Meta-process research tried to address the why to change a process model, but was largely unfruitful. This paper first relates processes, software production and humans in the framework of the meta pyramid proposed by the OMG MDA. We show that programs and process models are fully similar, but not at the same level in the meta pyramids. Therefore the claim: software are processes too. The meta pyramid framework is used to show and contrast new and original potential uses of process technology. It is shown in particular that strategic software management requires a kind of process support where the what is not humans, but the software itself. Finally it is shown that autonomic computing will soon require process support where the why, the what and the how will have to be fully formalized and the process models automatically executed. We believe that this new and demanding context will foster new research on process modeling and support. 1. Introduction A process is the way activities are organized, managed, measured, supported and improved to reach a goal. For example, in the software process, the activity is software development (design, implementation, test, ) and the goal is to deliver the planned software product. A process model is the formal expression of a part of the process, with the goal to understand, communicate, improve, support or automate the process. Process technology supports a process in order to consistently reach the goal within predefined time, budget, and quality constraints. The process, therefore, encodes a part of the company know-how which otherwise is only in the performer's head. It is acknowledged that this (partial) transfer of knowhow allows the company to master its assets, to transfer more easily the know-how to newcomers, to increase repeatability, and to allow process analysis and improvement.
2 From this perspective, in the software process community, the goal is the repeatability of the process with optimal human resource consumption, focusing on how the job (designing, developing and maintaining a software) should be done. The job is performed by humans on documents (what) on the time scale of a software project (weeks and months) [2] [3] [4]. It is interesting to see that any interactive software system also has a goal to support (and constrain) human activities in order to reach a goal in a repeatable and predictable way, optimizing the human resource. From this perspective, interactive software is a process support system. How, is often defined by the functions the system supports and what is often the values of some data managed by the software system. Time scale is minutes. The software process line of work, and most interactive programs, hypothesize that the context is constant (technology, market, goals). But the context permanently evolves, on a larger time scale (years), and successful software (and models) must evolve to adapt to its changing context. This long-term evolution is also a process, often carefully planned (strategic view of the product). The goal is to adapt the software product (what) to new markets and technologies, changing (how) the software product content. The time scale is years. This is why software evolves. So far, this kind of process has not been formally described and supported. Today, in autonomic computing for example, a software must evolve continually at execution, changing its architecture and its features, under the constraints of its environment. This is typically what a process is. The goal is to adapt to evolving contextual conditions, why is to maintain an optimal software service, what is the software system, how is architectural and feature changes; in the time frame of seconds. Because of the very short time frame, these changes must be performed fully automatically, and therefore the why, how and what must be formalized. We discuss these new dimensions of processes, at the light of the MDA framework, and we show what are the differences and synergies. 2. Meta-pyramids The meta prefix is used very often in research, but it is a relative notion. A metalanguage is a language that describe languages; meta-data is data that describes data, and a meta-model is a model that models model. The meta notion occurs at different levels, in different domains and under different terms The software meta-pyramid The meta notion can be composed. For instance a meta-meta-model is a model that describes meta-models. Clearly each composition step leads to a level that is increasingly difficult to grasp. In practice after a few levels of abstraction, adding more levels is not useful. Figure 1 presents the classical meta-pyramid.
3 The language technology provides a good example of meta-tower. The Backus Normal Form (BNF) is a meta-language that is useful for describing languages. One might use the BNF grammar to describe the Java or C++ grammar. The Java grammar describes how to write valid Java programs [5] [6][7]. M+3 Meta - Meta - Model MOF M+2 Meta - Model UML MM C# MM Cobol MM Java MM EJB MM Z MM M+1 Model M+0 Instance ACME Banking Apps FOO Banking Apps Z Bookstore Apps FOO Banking State 10am ACME Banking State 3pm Z Bookstore state 9pm alternatives # of entities Figure 1 The MDA Software pyramid [8] The relationship between two levels is the conformity relationship. Conformity can be defined in different ways. It can be the instantiation conformity (an instance conforms to its class); it can be linguistic conformity (a sentence conforms to the language in which it is written), ontological conformity (an instance conforms to the definition of its ontological class) and so on. MDA uses instantiation conformity between M+0 and M+1, linguistic conformity otherwise. At the lowest level (M+0), instances (or objects) represent abstractions of real world entities (e.g., tom is a client of the ACME bank). Each state of the program execution is a model (an abstraction) of a state in the real world. The program is a model of the evolution of the real world. M+1 is the level where programs reside. Program are models describing the application concepts (e.g., client and account ) and the rules that govern all possible states (e.g., balance>0 ). The meta-model level (M+2) describes the concepts that are used to describe models. For instance the concepts of class and association are used in UML class diagrams, the concepts of class, method, field, and inheritance are used in Java programs, etc. At the meta-meta-model level (M+3), there is the MOF. The MOF is used to describe itself, and to describe arbitrary meta-models including meta-models for UML, Cobol, Java, C, etc. Roughly speaking the MOF is the equivalent of the BNF in the context of UML The Software process Meta-Pyramid Aside from the MDA pyramid, called here the technology pyramid, we can find the human pyramid, representing the humans working at each level. In this pyramid, the
4 conformity relationship is informal: the persons at one level define the tools and methods to be used at the next lower level [9]. At the model level are software developers; they produce the software. One level higher, the software experts are designing and developing the technologies needed for the developers, including programming languages (compilers), middleware and other piece of enabling technology. These persons are much less numerous than the software developers. At the meta-meta-level are a few specialists that develop (meta) tools for the software specialists (compiler compilers, meta parsers and so on). As claimed long ago, a software process is itself software [1], therefore, the process pyramid is also a technology pyramid. But process execution supports the work performed by the software developers, which are the process' end users. The process model, developed by the software experts, specifies how the software developers' job has to be done. The Process Support System (PSS) is the language (and associated support tools) in which models are written; it is created by metaware experts. We find the usual technology pyramid, one level higher than the traditional one, showing clearly that the claim software processes are software too is justified, but one step higher. In software processes, software production is supported, the goal of the processes is support and automation. The software process community has considered the most critical issue to be the modeling and support of activities in a non-deterministic world; non-deterministic because the humans that perform the job (who) are nondeterministic. In these software processes, human are producing, consuming and changing products, which are the final product, the targeted software (what). To increase efficiency, predictability, and reduce errors, the process, when supported, prohibits the user from doing anything, and instead lets him perform only some predefined task, in a predefined order; usually the process engine handles the products on behalf of the user. Software Humans Software Process Enabling technology Program Metaware experts Soft. experts Programmers PSS Process Model Process execution Program execution Software Engineering End users Build Support Process Enginering Figure 2 Software engineering and process engineering
5 Now consider an interactive program. The program simply manages some data (product) on behalf of its users, it prohibits the user from doing anything with the data and instead proposes only predefined operations (activities) in a predefined order; it handles the issues around concurrent work on the same data. The program is very similar to a process model, and the machine to a process engine. We can say the program supports its users in pretty much the same way as a process supports its users. A model (program) expresses how humans are supposed to interact with software artifacts (data); it expresses the sequence of actions (how) to be performed by these humans of these artifacts (what) to reach a goal. In both cases the goal is the repeatability of the process, the consistency of the resulting data and the optimization of human time. This shows that our claim software are processes too is fully justified. The relationships between the human and technology pyramids are build and support. At a given level, the humans are building the tools at the same level in the technology pyramid. As an exception, at the base level, the end users are not (necessarily) developing any software. The execution of software succeeds one level down in the technology pyramid, using the instantiation conformity (see fig 1). Therefore, these tools, when executed (1 level down) are supporting the work performed by the human at that level. It is the typical relationship between a process and the humans it manages or supports. This consideration is true for any interactive software; this is true for the Process Support System (PSS), that supports the software expert in defining the process model, and it is also true for most of the enabling technology found at the M2 level of the technology pyramid: IDEs and other tools are supporting the software engineers work. This is why we claim that software are processes too. This analogy, once established, makes it interesting to revisit process technology and its use. 3. New uses of processes 3.1. Program coordination Orchestration and choreography are nice names for the coordination of independent programs. Indeed, it means that the what are programs and that the goal is to provide control to these program in order to reach a goal. These program can be seen as performing an activity, in which case orchestration and choreography can be seen as a process, with a goal to implement a complex application, acting on other programs (the what), providing control to these program (the how) [18]. In contrast with software processes, the job is not performed by a human, but by programs. Programs are usually deterministic, hence, coordination languages are seen as programming languages, with the same characteristics and constraints. But communication often occur through the internet, which is not fully reliable, introducing another reason for non-determinism. This is why exception handling is an
6 important issue. The point of program coordination, since it is fully automatic, is to get clear an unambiguous semantics; it is a microprocess line of work [10] [12][14]. It is interesting to see that this kind of automated coordination is recognized by the software engineering community as being a process (under name workflow), even if no humans are involved in their execution. Indeed, process (or workflow) driven XX is becoming a common expression to indicate that process technology is used to coordinate XX [15] Meta process In most work on meta-processes, the meta-process is not the level above the process in the meta pyramid, but a completely different process, which (tries to) support the software experts when updating/changing a process model, in order to solve the discrepancies found during process execution (process instance evolution) [11], to adapt the model to new methods and tools (process evolution), or to improve the model (process improvement). Indeed the work on meta-processes were among the first attempts to formalize the know-how of software experts when deciding to react to contextual changes during process execution. This know-how is the analysis of the changes, and the decision of what changes are to be performed in order to maintain some fundamental properties of the process (the why). Considering that the process model is also a program, the traditional software process, defining how to change the model, can be applied [17] [3]. Meta Process Humans Software Process PSS Process Model Process execution Metaware experts Soft. experts Programmers PSS Process Model Process execution End users Figure 3 The Meta-process pyramid It is interesting to see that virtually all the work performed on meta-processes addressed why to change the model, and what to change; leaving how to change to the traditional software process. This is an important difference. Unfortunately, the least we can say, is that meta-processes have not been successful so far. This is not surprising, since modeling the why (modeling
7 motivations, choices in non deterministic space, behavior in non planned context..) is intrinsically more complex than modeling the how. The time scale of such meta-processes is weeks for process instance evolution, but years for process adaptation and software improvement Process for strategic software evolution The long process by which a software product evolves from its current state to a future desired state is often carefully planned. For example, a development plan may state that product XX, currently on Linux must be available also on Windows XP, must support multi-threading and must provide support for YY and ZZ features in the next 2 years. For a professional product, it is likely that the long list of changes to be performed to reach the goal will be analyzed and the process will be identified (steps, duration, resources ). Companies would like to have support during this long period of time, for example, for each change to be performed (e.g., normal maintenance) to assess if it is consistent with the long term goal or not. This is similar to civil engineering: before performing work is an area, checks are performed to see if there are conflicts with other planned future work (highway, ). This is typical software process: it formalizes an evolution to reach a goal (the future desired state of the software), it contains a lot of know-how, and has to be performed in a highly non-deterministic context (technology and market evolve permanently at that time scale). This long-term process is different from the usual one in the sense that it focuses on the structure and technical content of the software (the what) while traditional processes focuses the humans and documents (semantically neutral from the process perspective). It defines the changes (what) that must be applied to the content and structure of the software, in order for the software evolve as planned. The entities the process acts upon are not humans, but the software itself, not files, but its content and structure. Strategic Process Software PSS Process Model Process execution Years Technology, needs and market Evolution Enabling technology A CME Banking Apps Program A CME Banking State 10am Program execution Figure 4 Strategic software evolution It means the strategic process should control and coordinate the different production processes (governing how the changes are to be performed). In general, it
8 involves the coordination of two or more different processes, possibly handled by different process engines, in different geographical locations. These issues have been addresses by the Workflow Management Coalition (WfMC), but with many restrictions [20][21]. The problem still needs to be addressed in a more general context [19] Process for dynamic software evolution The fact modern software applications are gradually supported by a network of computers, has dramatic consequences. Provided the number of machines potentially involved in such an application (up to thousands), the variability of the network bandwidth and availability, and even the mobility of some machines (laptops, PDA, phones), the administration of these complex software application cannot be done manually. It gives birth to so called autonomic computing systems. These systems are commonly defined as exhibiting self-monitoring, self-configuration, selfoptimization, self-healing, and/or self-protection [22][23]. Software Autonomic Process Enabling technology ACME Banking Apps Program ACME Banking State 10am Program execution Model of Evolution Seconds PSS Process Model Process execution Figure 5 Dynamic software evolution This means that autonomic systems are permanently changing their architecture and their features in response to the changing context. The goal of these changes is to maintain a service in an evolving and non-deterministic world. The why of these changes is that something occurred in the environment which hampers the software application to provide an optimal service (or no service at all). An autonomic software system must analyze the new context, and decide what to change in order to restore optimal service (the why). Since the autonomic system performs the change, it must therefore know how to perform the change. The needs and ambitions of autonomic systems is very similar to those of metaprocesses, but with a major difference: meta-processes have a time scale of years, and therefore are at least partially performed by humans. In autonomic computing, these changes occur in the time frame of a few seconds and are performed on many machine simultaneously: decisions must be made and performed fully automatically. It is very interesting to consider that autonomic computing will require processes that fully formalize the why, the what and the how.
9 4. Conclusion Process technology has explored a number of issues and technologies, but with implicit hypothesis : humans are doing the job, the process expresses how to perform the job, in a rather stable world. The difficult issue is the non-deterministic of humans. From the process point of view, the software product (the what) is a set of documents whose content is not really of concern. Work on meta-processes tried to address other issues, the product (the process model) being known and changed to adapt to changes that have occurred in the environment. The meta-process work tried to address the what and the why. Unfortunately, this work was not so successful. In recent years, process technology has been used for a number of other purposes, in which the what became the content and structure of programs (or models), where the major issue is no longer human non-determinism, but the non-determinism of context evolution, either over very long periods of time (market, needs and technology) or very short periods of time for widely distributed and dynamic applications executing in non-predictable environments (mobility, bandwidth, availability, services and so on). This evolution considers software as both a process and the subject of a process, blurring even more the traditional distinction between processes and software. We believe that this new and demanding context should resurrect the old work performed on meta-processes and foster a new trend of research activity on process support in general, and on how to formalize the why and what in processes. Acknowledgement. We are grateful to Jean-Marie Favre for the discussion and initial ideas leading to that short paper. I hope an extended version will be produce in common soon. References [1] L. Osterweil. Processes are software too. Proceedings of the 9th international conference on Software Engineering. Monterey, California, United States, Pages: [2] Conradi, R., Fernstrom, C., Fuggetta, A., Snowdown, B. Towards a Reference Framework for Process Concepts. In Proc. EW SPT 92, 2nd European Workshop on Software Process Technology, Trondheim, Norway (Sept. 1992) [3] J.C. Derniame (ed). «Software Process : Principles, Methodology and Technology». LNCS Springer Verlag [4] B. Curtis, M.. I. Kellner, J. Over. "Process Modeling", Communications of the ACM, Volume 35, No. 9, September [5] Dsouza, D. Model-Driven Architecture and Integration: Opportunities and Challenges Version 1.1, document available at February [6] OMG Model Driven Architecture A Technical Perspective Architecture Board MDA Drafting Team Draft 21st February 2001
10 [7] John Poole. Model-Driven Architecture: Vision, Standards And Emerging Technologies. ECOOP [8] J.M. Favre. CacOphoNy: Metamodel-Driven Architecture Reconstruction. Working Conference on Reverse Engineering (WCRE 2004). November 2004, Delft, The Netherlands [9] J.M.Favre, S. Ducasse "Using Meta-Model Transformation to Model Software Evolution". ATEM2004, Workshop with WCRE 2004) Delft, The Netherlands, November 8th-12, And in Electronic Notes in Theoritical Computer Science [10] C. Godart, F. Charoy, O.Perrin and H. Skaf-Molli: Cooperative Workflows to Coordinate Asynchronous Cooperative Applications in a Simple Way.. 7th International Conference on Parallel and Distributed Systems (ICPADS 00). Iwate, Japan, July 2000 [11] P.Y. Cunin, R.M. Greenwood, L. Francou, I. Robertson and B. Warboys. The PIE Methodology - Concept and Application. 8th European Workshop on Software Process Technology (EWSPT). Dortmunt, Germany. June 19, [12] G. Valetto, G. Kaiser. Using Process Technology to Control and coordinate Software Adaptation. ICSE, Portland May [13] Wise, A., Cass, G.A., Staudt Lerner, B., McCall, E.K., Osterweil, L.J., Sutton Jr., S.M.: Using Little-JIL to Coordinate Agents in Software Engineering. Proceedings of the Automated Software Engineering Conference ASE 2000, Grenoble, France (September 2000) [14] Estublier, J., Sanlaville, S.: Business Processes and Workflow Coordination of Web Services. IEEE International Conference on e-technology, e-commerce and e-service (EEE-05), Hong Kong (March 2005). [15] Estublier, J., Villalobos, J., Le, A.T., Sanlaville, S., Vega, G.: An Approach and Framework for Extensible Process Support System. 9th European Workshop on Software Process Technology EWSPT 2003, Helsinki, Finland (September 2003). [16] Leymann, F.: Web Services Flow Language (WSFL 1.0). IBM Software Group (May 2001). [17] Minh Ngoc Nguyen, Reidar Conradi: "The Software Meta-process: Taxonomy and Assessment", p , Proc. 3rd Int'l Conference on Software Process (ICSP'3), IEEE- CS Press, Oct Washington. [18] Leymann, F., Roller, D.: Workflow-based applications. IBM System Journal. Vol. 36, No.1 (1997) [19] Jacky Estublier, Pierre-Yves Cunin, Noureddine Belkhatir. «An architecture for process support interoperability. ICSP 5, Pages June 1998 Chicago, Illinois, USA. [20] Workflow Management Coalition: Interface 1: Process Definition Interface. WfMC TC (August 1996) [21] Workflow Management Coalition "Workflow Standard - Interoperability - Abstract Specification", Document Number WFMC-TC-1012, Version 2.0b, 30 November [22] IBM Systems Journal: Special Issue on Autonomic Computing, Vol. 42, No. 1, Jan [23] J.O. Kephart and D.M. Chess, The Vision of Autonomic Computing, IEEE Computer, Vol. 36, No. 1, pp , Jan 2003.
Towards automated software component configuration and deployment
Towards automated software component configuration and deployment Vincent Lestideau, Noureddine Belkhatir, Pierre-Yves Cunin Adele Team Bat C LSR-IMAG, 220 rue de la chimie Domaine Universitaire, BP 53
More information2 nd UML 2 Semantics Symposium: Formal Semantics for UML
2 nd UML 2 Semantics Symposium: Formal Semantics for UML Manfred Broy 1, Michelle L. Crane 2, Juergen Dingel 2, Alan Hartman 3, Bernhard Rumpe 4, and Bran Selic 5 1 Technische Universität München, Germany
More informationWhat is a metamodel: the OMG s metamodeling infrastructure
Modeling and metamodeling in Model Driven Development Warsaw, May 14-15th 2009 Gonzalo Génova ggenova@inf.uc3m.es http://www.kr.inf.uc3m.es/ggenova/ Knowledge Reuse Group Universidad Carlos III de Madrid
More informationStructure of Presentation. The Role of Programming in Informatics Curricula. Concepts of Informatics 2. Concepts of Informatics 1
The Role of Programming in Informatics Curricula A. J. Cowling Department of Computer Science University of Sheffield Structure of Presentation Introduction The problem, and the key concepts. Dimensions
More informationEnhancement of Development Technologies for Agent- Based Software Engineering
Enhancement of Development Technologies for Agent- Based Software Engineering Andre Karpištšenko Tallinn Technical University, Ehitajate tee 5 19086 Tallinn, Estonia andre@lap.ee Abstract. Current trends
More informationModel-Driven Development: A Metamodeling Foundation
Model-Driven Development: A Metamodeling Foundation Colin Atkinson University of Mannheim 68161 Mannheim, Germany atkinson@informatik.uni-mannheim.de Thomas Kühne Darmstadt University of Technology 64283
More informationAll you need are models Anneke Kleppe, Klasse Objecten
Model Driven Architecture All you need are models Anneke Kleppe, Klasse Objecten Contents Limited Vision on MDA Modeling Maturity Levels Models Model Driven Development Model Driven Architecture MDA in
More informationCross Organizational Workflow Management Systems
Cross Organizational Management Systems Venkatesh Patil & Avinash Chaudhari Tata Consultancy Services, India Paper presented at Product Data Technology Europe 2002 At Centro Ricerche Fiat, Turin, Italy
More informationBusiness Process Standards and Modeling
Business Process Standards and Modeling Janne J. Korhonen Helsinki University of Technology STANDARDS Standards Organizations Object Management Group (www.omg.org) Business Process Modeling Notation (BPMN)
More informationOn the Use of Model Transformations for the Automation of the 4SRS Transition Method
On the Use of Model Transformations for the Automation of the 4SRS Transition Method Sofia Azevedo 1, Ricardo J. Machado 1, and Rita Suzana Pitangueira Maciel 2 1 Universidade do Minho, Portugal {sofia.azevedo,rmac}@dsi.uminho.pt
More informationFrom Business World to Software World: Deriving Class Diagrams from Business Process Models
From Business World to Software World: Deriving Class Diagrams from Business Process Models WARARAT RUNGWORAWUT 1 AND TWITTIE SENIVONGSE 2 Department of Computer Engineering, Chulalongkorn University 254
More informationMDA Transformations Applied to Web Application Development 1
MDA Transformations Applied to Web Application Development 1 Santiago Meliá 1, Andreas Kraus 2, and Nora Koch 2, 3 1 Universidad de Alicante, Spain 2 Ludwig-Maximilians-Universität München, Germany 3 F.A.S.T
More informationA Framework for the Semantics of Behavioral Contracts
A Framework for the Semantics of Behavioral Contracts Ashley McNeile Metamaxim Ltd, 48 Brunswick Gardens, London W8 4AN, UK ashley.mcneile@metamaxim.com Abstract. Contracts have proved a powerful concept
More informationAutomatic Generation Between UML and Code. Fande Kong and Liang Zhang Computer Science department
Automatic Generation Between UML and Code Fande Kong and Liang Zhang Computer Science department Outline The motivation why we need to do the generation between the UML and code. What other people have
More informationINTEROPERABILITY IN DATA WAREHOUSES
INTEROPERABILITY IN DATA WAREHOUSES Riccardo Torlone Roma Tre University http://torlone.dia.uniroma3.it/ SYNONYMS Data warehouse integration DEFINITION The term refers to the ability of combining the content
More informationIntegrating Performance Characterization with Software Development
International Journal of Basic & Applied Sciences IJBAS-IJENS Vol: 11 No: 02 7 Integrating Performance Characterization with Software Development Abstract- The importance of integrating performance considerations
More informationContext-aware Model Driven Development by Parameterized Transformation
Context-aware Model Driven Development by Parameterized Transformation Samyr Vale 1,2, Slimane Hammoudi 1 1 ESEO, 4 rue Merlet de la Boulaye BP 926, 49009 Angers cedex 01 France {samyr.vale, slimane.hammoudi}@eseo.fr
More informationModel-Checking Verification for Reliable Web Service
Model-Checking Verification for Reliable Web Service Shin NAKAJIMA Hosei University and PRESTO, JST nkjm@i.hosei.ac.jp Abstract Model-checking is a promising technique for the verification and validation
More informationMDE Adoption in Industry: Challenges and Success Criteria
MDE Adoption in Industry: Challenges and Success Criteria Parastoo Mohagheghi 1, Miguel A. Fernandez 2, Juan A. Martell 2, Mathias Fritzsche 3 and Wasif Gilani 3 1 SINTEF, P.O.Box 124-Blindern, N-0314
More informationA Framework of Model-Driven Web Application Testing
A Framework of Model-Driven Web Application Testing Nuo Li, Qin-qin Ma, Ji Wu, Mao-zhong Jin, Chao Liu Software Engineering Institute, School of Computer Science and Engineering, Beihang University, China
More informationA Meta-Model for Distributed Software Development
A Meta-Model for Distributed Software Development Sigrid Goldmann, Jürgen Münch, Harald Holz Universität Kaiserslautern, Postfach 3049, 67653 Kaiserslautern, Germany {sigig, muench, holz}@informatik.uni-kl.de
More informationDependability in the Web Service Architecture
Dependability in the Web Service Architecture Ferda Tartanoglu 1, Valérie Issarny 2 INRIA, UR Rocquencourt Domaine de Voluceau - B.P. 105 78153 Le Chesnay France 1 Galip-Ferda.Tartanoglu@inria.fr, 2 Valerie.Issarny@inria.fr
More informationFrom Business Services to Web Services: an MDA Approach
From Business Services to Web Services: an MDA Approach Hugo Estrada 1, Itzel Morales-Ramírez 2, Alicia Martínez 1, Oscar Pastor 3 1 CENIDET, Cuernavaca, Mor. México {hestrada, amartinez}@cenidet.edu.mx
More informationUML Profiling Comes of Age Realizing the Potential of Domain-Specific Modeling
UML Profiling Comes of Age Realizing the Potential of Domain-Specific Modeling PATHS TO DOMAIN-SPECIFIC MODELING... 1 UML PROFILING... 2 The Origin of the UML Profiling Specifications... 2 The Vision...
More informationMetadata Management for Data Warehouse Projects
Metadata Management for Data Warehouse Projects Stefano Cazzella Datamat S.p.A. stefano.cazzella@datamat.it Abstract Metadata management has been identified as one of the major critical success factor
More informationCo-Creation of Models and Metamodels for Enterprise. Architecture Projects.
Co-Creation of Models and Metamodels for Enterprise Architecture Projects Paola Gómez pa.gomez398@uniandes.edu.co Hector Florez ha.florez39@uniandes.edu.co ABSTRACT The linguistic conformance and the ontological
More informationA Tool Suite for the Generation and Validation of Configurations for Software Availability
A Tool Suite for the Generation and Validation of Configurations for Software Availability A. Gherbi 1, A. Kanso 1, F. Khendek 1, M. Toeroe 2 and A. Hamou-Lhadj 1 1 Concordia University, Montréal, Canada
More informationMODEL DRIVEN DEVELOPMENT OF BUSINESS PROCESS MONITORING AND CONTROL SYSTEMS
MODEL DRIVEN DEVELOPMENT OF BUSINESS PROCESS MONITORING AND CONTROL SYSTEMS Tao Yu Department of Computer Science, University of California at Irvine, USA Email: tyu1@uci.edu Jun-Jang Jeng IBM T.J. Watson
More informationUSAGE OF BUSINESS RULES IN SUPPLY CHAIN MANAGEMENT
TOTAL LOGISTIC MANAGEMENT No. 2 2009 PP. 5 13 Bartłomiej GAWEŁ, Anna PILCH USAGE OF BUSINESS RULES IN SUPPLY CHAIN MANAGEMENT Abstract: The growth of efficiency in supply chain management depends on the
More informationSome Methodological Clues for Defining a Unified Enterprise Modelling Language
Some Methodological Clues for Defining a Unified Enterprise Modelling Language Michaël Petit University of Namur, Belgium, mpe@info.fundp.ac.be Abstract The need for a Unified Enterprise Modelling Language
More informationSERVICE ORIENTED AND MODEL-DRIVEN DEVELOPMENT METHODS OF INFORMATION SYSTEMS
7th International DAAAM Baltic Conference INDUSTRIAL ENGINEERING 22-24 April 2010, Tallinn, Estonia SERVICE ORIENTED AND MODEL-DRIVEN DEVELOPMENT METHODS OF INFORMATION SYSTEMS Lemmik, R.; Karjust, K.;
More informationOntological Representations of Software Patterns
Ontological Representations of Software Patterns Jean-Marc Rosengard and Marian F. Ursu University of London http://w2.syronex.com/jmr/ Abstract. This paper 1 is based on and advocates the trend in software
More informationOverview of major concepts in the service oriented extended OeBTO
Modelling business policies and behaviour based on extended Open edi Business Transaction Ontology (OeBTO) Introduction Model Driven Development (MDD) provides a basis for the alignment between business
More informationDesigning a Semantic Repository
Designing a Semantic Repository Integrating architectures for reuse and integration Overview Cory Casanave Cory-c (at) modeldriven.org ModelDriven.org May 2007 The Semantic Metadata infrastructure will
More informationSOA Enabled Workflow Modernization
Abstract Vitaly Khusidman Workflow Modernization is a case of Architecture Driven Modernization (ADM) and follows ADM Horseshoe Lifecycle. This paper explains how workflow modernization fits into the ADM
More informationChallenges and Opportunities for formal specifications in Service Oriented Architectures
ACSD ATPN Xi an China June 2008 Challenges and Opportunities for formal specifications in Service Oriented Architectures Gustavo Alonso Systems Group Department of Computer Science Swiss Federal Institute
More informationSeamless UML Support for Service-based Software Architectures
Seamless UML Support for Service-based Software Architectures Matthias Tichy and Holger Giese Software Engineering Group, Department of Computer Science University of Paderborn, Germany [mtt hg]@uni-paderborn.de
More informationA Software process engineering course
Rochester Institute of Technology RIT Scholar Works Presentations and other scholarship 2009 A Software process engineering course J. Scott Hawker Follow this and additional works at: http://scholarworks.rit.edu/other
More informationMulti-objective Design Space Exploration based on UML
Multi-objective Design Space Exploration based on UML Marcio F. da S. Oliveira, Eduardo W. Brião, Francisco A. Nascimento, Instituto de Informática, Universidade Federal do Rio Grande do Sul (UFRGS), Brazil
More informationAnalysis of the Specifics for a Business Rules Engine Based Projects
Analysis of the Specifics for a Business Rules Engine Based Projects By Dmitri Ilkaev and Dan Meenan Introduction In recent years business rules engines (BRE) have become a key component in almost every
More informationOrganization of DSLE part. Overview of DSLE. Model driven software engineering. Engineering. Tooling. Topics:
Organization of DSLE part Domain Specific Language Engineering Tooling Eclipse plus EMF Xtext, Xtend, Xpand, QVTo and ATL Prof.dr. Mark van den Brand GLT 2010/11 Topics: Meta-modeling Model transformations
More informationSEARCH The National Consortium for Justice Information and Statistics. Model-driven Development of NIEM Information Exchange Package Documentation
Technical Brief April 2011 The National Consortium for Justice Information and Statistics Model-driven Development of NIEM Information Exchange Package Documentation By Andrew Owen and Scott Came Since
More informationBusiness Process Modeling and Standardization
Business Modeling and Standardization Antoine Lonjon Chief Architect MEGA Content Introduction Business : One Word, Multiple Arenas of Application Criteria for a Business Modeling Standard State of the
More informationCHAPTER 2 LITERATURE SURVEY
CHAPTER 2 LITERATURE SURVEY This chapter describes the survey of existing literature on multiple views. Later, it presents literature survey conducted on frameworks for tool comparison and stakeholder
More informationDevelopment of Tool Extensions with MOFLON
Development of Tool Extensions with MOFLON Ingo Weisemöller, Felix Klar, and Andy Schürr Fachgebiet Echtzeitsysteme Technische Universität Darmstadt D-64283 Darmstadt, Germany {weisemoeller klar schuerr}@es.tu-darmstadt.de
More informationCLOUD COMPUTING: A NEW VISION OF THE DISTRIBUTED SYSTEM
CLOUD COMPUTING: A NEW VISION OF THE DISTRIBUTED SYSTEM Taha Chaabouni 1 and Maher Khemakhem 2 1 MIRACL Lab, FSEG, University of Sfax, Sfax, Tunisia chaabounitaha@yahoo.fr 2 MIRACL Lab, FSEG, University
More informationConcern Driven Software Development
Concern Driven Software Development Omar Alam School of Computer Science, McGill University, Montreal, Canada Omar.Alam@mail.mcgill.ca Abstract Model Driven Engineering (MDE) has achieved success in many
More informationGraph-Grammar Based Completion and Transformation of SDL/UML-Diagrams
Graph-Grammar Based Completion and Transformation of SDL/UML-Diagrams Position Paper Ulrich A. Nickel, Robert Wagner University of Paderborn Warburger Straße 100 D-33098 Paderborn Germany [duke, wag25]@uni-paderborn.de
More informationAMFIBIA: A Meta-Model for the Integration of Business Process Modelling Aspects
AMFIBIA: A Meta-Model for the Integration of Business Process Modelling Aspects Björn Axenath, Ekkart Kindler, Vladimir Rubin Software Engineering Group, University of Paderborn, Warburger Str. 100, D-33098
More informationInternet Based Inter-Business Process Management: A Federated Approach
Internet Based Inter-Business Process Management: A Federated Approach Giacomo Piccinelli, Floriana Marcello*, Gabriele Zugliani* Internet Business Management Department HP Laboratories Bristol HPL-98-87
More informationCollaborative & Integrated Network & Systems Management: Management Using Grid Technologies
2011 International Conference on Computer Communication and Management Proc.of CSIT vol.5 (2011) (2011) IACSIT Press, Singapore Collaborative & Integrated Network & Systems Management: Management Using
More informationRequirements for Software Deployment Languages and Schema
Requirements for Software Deployment Languages and Schema Richard S. Hall, Dennis Heimbigner, Alexander L. Wolf Software Engineering Research Laboratory Department of Computer Science University of Colorado
More informationModeling Service Oriented Architectures of Mobile Applications by Extending SoaML with Ambients
2009 35th Euromicro Conference on Software Engineering and Advanced Applications Modeling Service Oriented Architectures of Mobile Applications by Extending SoaML with Ambients Nour Ali, Muhammad Ali Babar
More informationModel Driven Interoperability through Semantic Annotations using SoaML and ODM
Model Driven Interoperability through Semantic Annotations using SoaML and ODM JiuCheng Xu*, ZhaoYang Bai*, Arne J.Berre*, Odd Christer Brovig** *SINTEF, Pb. 124 Blindern, NO-0314 Oslo, Norway (e-mail:
More informationInformation Services for Smart Grids
Smart Grid and Renewable Energy, 2009, 8 12 Published Online September 2009 (http://www.scirp.org/journal/sgre/). ABSTRACT Interconnected and integrated electrical power systems, by their very dynamic
More informationRun-time Variability Issues in Software Product Lines
Run-time Variability Issues in Software Product Lines Alexandre Bragança 1 and Ricardo J. Machado 2 1 Dep. I&D, I2S Informática Sistemas e Serviços SA, Porto, Portugal, alexandre.braganca@i2s.pt 2 Dep.
More informationjeti: A Tool for Remote Tool Integration
jeti: A Tool for Remote Tool Integration Tiziana Margaria 1, Ralf Nagel 2, and Bernhard Steffen 2 1 Service Engineering for Distributed Systems, Institute for Informatics, University of Göttingen, Germany
More informationProcess-Centered Software Engineering Environments A Brief History and Future Challenges
Annals of Software Engineering 14, 363 382, 2002 2002 Kluwer Academic Publishers. Manufactured in The Netherlands. Process-Centered Software Engineering Environments A Brief History and Future Challenges
More informationA Pattern-based Approach to Business Process Modeling and Implementation in Web Services
A Pattern-based Approach to Business Process Modeling and Implementation in Web Services Steen Brahe 1 and Behzad Bordbar 2 1 Danske Bank & IT University of Copenhagen, Denmark stbr@itu.dk 2 University
More informationVisualization of Component-based Software
Visualization of Component-based Software Jean-Marie Favre Humberto Cervantes Adele Team, Laboratoire LSR-IMAG University of Grenoble, France http://www-adele.imag.fr/(gsee BEANOME) Abstract New component-based
More informationA UML 2 Profile for Business Process Modelling *
A UML 2 Profile for Business Process Modelling * Beate List and Birgit Korherr Women s Postgraduate College for Internet Technologies Institute of Software Technology and Interactive Systems Vienna University
More informationAn Integrated Collection of Tools for Continuously Improving the Processes by Which Health Care is Delivered: A Tool Report
An Integrated Collection of Tools for Continuously Improving the Processes by Which Health Care is Delivered: A Tool Report Leon J. Osterweil, Lori A. Clarke, George S. Avrunin Department of Computer Science
More informationOpen Source egovernment Reference Architecture Osera.modeldriven.org. Copyright 2006 Data Access Technologies, Inc. Slide 1
Open Source egovernment Reference Architecture Osera.modeldriven.org Slide 1 Caveat OsEra and the Semantic Core is work in progress, not a ready to use capability Slide 2 OsEra What we will cover OsEra
More information2. Language/Program/Tool co-evolution. 1.3. Background. 1.2. Co-evolution along other dimensions
Meta-Model and Model Co- within the 3D Software Space Jean-Marie Favre Adele Team, Laboratoire LSR-IMAG University of Grenoble, France http://www-adele.imag.fr/~jmfavre Abstract Software -in-the-large
More informationThe Concept of Automated Process Control
Scientific Papers, University of Latvia, 2010. Vol. 756 Computer Science and Information Technologies 193 203 P. The Concept of Automated Process Control Ivo Oditis 1, Janis Bicevskis 2 1 Bank of Latvia,
More informationClarifying a vision on certification of MDA tools
SCIENTIFIC PAPERS, UNIVERSITY OF LATVIA, 2010. Vol. 757 COMPUTER SCIENCE AND INFORMATION TECHNOLOGIES 23 29 P. Clarifying a vision on certification of MDA tools Antons Cernickins Riga Technical University,
More informationSimplifying e Business Collaboration by providing a Semantic Mapping Platform
Simplifying e Business Collaboration by providing a Semantic Mapping Platform Abels, Sven 1 ; Sheikhhasan Hamzeh 1 ; Cranner, Paul 2 1 TIE Nederland BV, 1119 PS Amsterdam, Netherlands 2 University of Sunderland,
More informationAn Automated Workflow System Geared Towards Consumer Goods and Services Companies
Proceedings of the 2014 International Conference on Industrial Engineering and Operations Management Bali, Indonesia, January 7 9, 2014 An Automated Workflow System Geared Towards Consumer Goods and Services
More informationSpecial Issue on Drivers of Business Process Development: Business, IT, Compliance
Special Issue on Drivers of Business Process Development: Business, IT, Compliance Selmin Nurcan *, University Paris 1 Panthéon Sorbonne, France Rainer Schmidt, Aalen University, Germany Pnina Soffer,
More informationA Variability Viewpoint for Enterprise Software Systems
2012 Joint Working Conference on Software Architecture & 6th European Conference on Software Architecture A Variability Viewpoint for Enterprise Software Systems Matthias Galster University of Groningen,
More informationAn Architecture to Support Model Driven Software Visualization
An Architecture to Support Model Driven Software Visualization R. Ian Bull and Margaret-Anne Storey University of Victoria British Columbia, Canada {irbull,mstorey@cs.uvic.ca Marin Litoiu IBM Markham Ontario
More informationTool Adoption Issues in a Very Large Software Company
Tool Adoption Issues in a Very Large Software Company Jean-Marie Favre Jacky Estublier Remy Sanlaville Adele Team, Laboratoire LSR-IMAG University of Grenoble, France http://www-adele.imag.fr Abstract
More informationModeling Turnpike: a Model-Driven Framework for Domain-Specific Software Development *
for Domain-Specific Software Development * Hiroshi Wada Advisor: Junichi Suzuki Department of Computer Science University of Massachusetts, Boston hiroshi_wada@otij.org and jxs@cs.umb.edu Abstract. This
More informationThe Role of Modelling in Teaching Formal Methods for Software Engineering
The Role of Modelling in Teaching Formal Methods for Software Engineering A. J. Cowling Department of Computer Science University of Sheffield Sheffield, England A.Cowling@dcs.shef.ac.uk Abstract. This
More informationApplying 4+1 View Architecture with UML 2. White Paper
Applying 4+1 View Architecture with UML 2 White Paper Copyright 2007 FCGSS, all rights reserved. www.fcgss.com Introduction Unified Modeling Language (UML) has been available since 1997, and UML 2 was
More informationRoles in Software Development using Domain Specific Modelling Languages
Roles in Software Development using Domain Specific Modelling Languages Holger Krahn Bernhard Rumpe Steven Völkel Institute for Software Systems Engineering Technische Universität Braunschweig, Braunschweig,
More informationWinery A Modeling Tool for TOSCA-based Cloud Applications
Institute of Architecture of Application Systems Winery A Modeling Tool for TOSCA-based Cloud Applications Oliver Kopp 1,2, Tobias Binz 2, Uwe Breitenbücher 2, and Frank Leymann 2 1 IPVS, 2 IAAS, University
More informationQuestions? Assignment. Techniques for Gathering Requirements. Gathering and Analysing Requirements
Questions? Assignment Why is proper project management important? What is goal of domain analysis? What is the difference between functional and non- functional requirements? Why is it important for requirements
More informationKEEP THIS COPY FOR REPRODUCTION PURPOSES. I ~~~~~Final Report
MASTER COPY KEEP THIS COPY FOR REPRODUCTION PURPOSES 1 Form Approved REPORT DOCUMENTATION PAGE I OMS No. 0704-0188 Public reoorting burden for this collection of information is estimated to average I hour
More informationOptimised Realistic Test Input Generation
Optimised Realistic Test Input Generation Mustafa Bozkurt and Mark Harman {m.bozkurt,m.harman}@cs.ucl.ac.uk CREST Centre, Department of Computer Science, University College London. Malet Place, London
More informationSoftware Requirements
Software Engineering Software Requirements Based on Software Engineering, 7 th Edition by Ian Sommerville Objectives To introduce the concepts of user and system requirements To describe functional and
More informationSoftware Engineering. Software Engineering. Component-Based. Based on Software Engineering, 7 th Edition by Ian Sommerville
Software Engineering Component-Based Software Engineering Based on Software Engineering, 7 th Edition by Ian Sommerville Objectives To explain that CBSE is concerned with developing standardised components
More informationTesting mobile computing applications: toward a scenario language and tools
Sixth International Workshop on Dynamic Analysis (WODA), 21 July 2008 Testing mobile computing applications: toward a scenario language and tools Minh Duc Nguyen, Hélène Waeselynck, Nicolas Rivière Mobile
More informationAdvanced and secure architectural EHR approaches
International Journal of Medical Informatics (2006) 75, 185 190 Advanced and secure architectural EHR approaches Bernd Blobel Chair of the EFMI WG Electronic Health Records, University Hospital Magdeburg,
More informationModeling Coordination as Resource Flow: An Object-Based Approach
Modeling Coordination as Resource Flow: An Object-Based Approach John Noll Computer Engineering Department Santa Clara University 500 El Camino Real Santa Clara, CA 95053-0566 jnoll@cse.scu.edu Bryce Billinger
More informationThe OMG BPM Standards
The OMG BPM Standards Derek Miers CEO, BPM Focus +44 (20) 8742 8500 UK Office +44 (7703) 178 500 UK Cell +1 (714) 600 9010 US Cell miers@bpmfocus.org A BPM Definition Business Process Management is primarily
More informationINNOVATOR. The integrated tool suite for business process and software engineering
The integrated tool suite for business process and software engineering Use the synergy: The integrated tool suite for business process and software engineering is the only integrated tool suite for business
More informationCollaborative Knowledge Flow Improving Process-Awareness and Traceability of Work Activities
Collaborative Knowledge Flow Improving Process-Awareness and Traceability of Work Activities Schahram Dustdar Information Systems Institute, Distributed Systems Group, Vienna University of Technology,
More informationMapping between Levels in the Metamodel Architecture
Mapping between Levels in the Metamodel Architecture José Álvarez, Andy Evans 2, Paul Sammut 2 Dpto. de Lenguajes y Ciencias de la Computación, University Málaga, Málaga, 2907, Spain alvarezp@lcc.uma.es
More information22C:22 (CS:2820) Object-Oriented Software Development
The University of Iowa 22C:22 (CS:2820) Object-Oriented Software Development Fall 2012 Software Complexity by Cesare Tinelli Complexity Software systems are complex artifacts Failure to master this complexity
More informationProceedings of the 6th Educators Symposium: Software Modeling in Education at MODELS 2010 (EduSymp 2010)
Electronic Communications of the EASST Volume 34 (2010) Proceedings of the 6th Educators Symposium: Software Modeling in Education at MODELS 2010 (EduSymp 2010) Position Paper: m2n A Tool for Translating
More informationThe Specific Text Analysis Tasks at the Beginning of MDA Life Cycle
SCIENTIFIC PAPERS, UNIVERSITY OF LATVIA, 2010. Vol. 757 COMPUTER SCIENCE AND INFORMATION TECHNOLOGIES 11 22 P. The Specific Text Analysis Tasks at the Beginning of MDA Life Cycle Armands Šlihte Faculty
More informationModeling of Distributed Systems with SOA & MDA
Modeling of Distributed Systems with SOA & MDA Haeng-Kon Kim Abstract Along with the boom of Web services and the thriving Model Driven Architecture (MDA), we must consider the growing significance and
More informationModel-Driven Data Warehousing
Model-Driven Data Warehousing Integrate.2003, Burlingame, CA Wednesday, January 29, 16:30-18:00 John Poole Hyperion Solutions Corporation Why Model-Driven Data Warehousing? Problem statement: Data warehousing
More informationSoftware Requirements Specification (SRS)
Software Requirements Specification (SRS) Meeting Scheduler MANISH BANSAL ABHISHEK GOYAL NIKITA PATEL ANURAG MAHAJAN SMARAK BHUYAN - 1 - VERSION RECORD Version record showing the amendments effected to
More informationDATA QUALITY DATA BASE QUALITY INFORMATION SYSTEM QUALITY
DATA QUALITY DATA BASE QUALITY INFORMATION SYSTEM QUALITY The content of those documents are the exclusive property of REVER. The aim of those documents is to provide information and should, in no case,
More informationHow To Solve The Interoperability Problem Of An Enterprise Software Application (Eos)
From BPMN 2.0 to the Setting-Up on an ESB - Application to an Interoperability Problem Y. Lemrabet, D. Clin, M. Bigand, and J.-P. Bourey Univ Lille Nord de France, F-59000 Lille, France Laboratoire de
More informationThe value of modeling
The value of modeling Level: Introductory Gary Cernosek, Marketing Manager, IBM Rational Eric Naiburg, Group Market Manager Desktop Products, IBM Rational 15 Nov 2004 from The Rational Edge: This article
More informationAgile Test-based Modeling
Agile Test-based Modeling Bernhard Rumpe Software Systems Engineering TU Braunschweig, Germany www.sse.cs.tu-bs.de Model driven architecture (MDA) concentrates on the use of models during software development.
More information3 Software Architecture
Software Architecture and Software Configuration Management Bernhard Westfechtel, Aachen Reidar Conradi, Trondheim Abstract This paper examines the relations between software architecture and software
More information