Research Themes
Service-Oriented Applications and Ultra-Large Scale Systems
Ultra-large scale software-intensive systems exist in a wide variety of application domains. Classical examples are Internet-wide decision support systems, command and control, telecommunications, as well as modeling and simulation. Increasingly, however, the same set of challenges also arises in the domain of automotive software and other technical domains. In automotive, for instance, thousands of software-enabled functions are distributed over up to 80 Electronic Control Units (ECUs) that are connected via multiple different networking protocols and technologies.
Our basic research on systems of systems integration solutions is grounded in this wide spectrum of application domains. We have successfully applied our research and development results to projects covering all the application domains mentioned above.
Related projects: Software Service Design for Automotive Infotronics, Advanced Engineering Methods for Networked Automotive Software, Failure Management in Service-Oriented Automotive Software
Tailored Development Process, Methodology & Tools
Service Oriented Design & Development
Establishing
the correct interplay among the components in a distributed, reactive
system is one of the crucial development tasks. Model-based development
has been suggested as a means for capturing key structural and behavioral
requirements of the system under consideration before code
is written by hand or generated automatically. However, most of
the corresponding development approaches focus on components as
the central development entity, leaving the integration of the resulting
components as a separate, difficult and error-prone task. We are
developing a fresh approach, where services, not the components
implementing them, are the center of concern from the early phases
of requirements capture all the way to implementation.
Long-lived, large-scale system of systems integration efforts will bring together a wide variety of stable and emerging applications, systems and underlying technologies. This induces a mix of stable and emerging requirements, as well as a correspondingly broad spectrum of risks and agility demands. Therefore, we propose instituting a tailored development process that takes this broad spectrum into account.
We work with a development process consisting of two phases: service elicitation and architecture definition. In the first phase we develop a logical model of the system’s services and their dependencies. In the second phase we establish a mapping from the set of services to target architectures. This separates functionality from structure and enables the support of product-line variations, as well as modifications of the target architectures or technical infrastructures.

SAINT also has extensive experience in tailoring both agile and plan-driven development processes towards the needs of large scale systems of systems integration projects. Development processes and process models we have successfully tailored in the past include SCRUM, Rational Unified Process, EIA-632, and XP.
Related publications
A. PRIMARY PUBLISHED OR CREATIVE WORK
- I. H. Krüger, B. Demchak, and M. Menarini, “Dynamic Service Composition and Deployment with OpenRichServices,” Software Service and Application Engineering, M. Heisel (Ed.), Lecture Notes in Computer Science, vol. 7365, pp. 120-146, Berlin / Heidelberg: Springer, May 2012.
A.1. REFEREED JOURNAL ARTICLES
- I. H Krüger, “Specifying Services with UML and UML-RT: Foundation, Challenges and Limitations,” VISS 2002, Validation and Implementation of Scenario-based Specifications (Satellite Event of ETAPS 2002), B. Caillaud and A. Muscholl (Eds.), Electronic Notes in Theoretical Computer Science, vol. 65, no. 7, pp. 34-50, Elsevier B.V, Apr. 2002.
A.2. BOOKS AND BOOK CHAPTERS
- I. H. Krüger, B. Demchak, and M. Menarini, “Dynamic Service Composition and Deployment with OpenRichServices,” Software Service and Application Engineering, M. Heisel (Ed.), Lecture Notes in Computer Science, vol. 7365, pp. 120-146, Berlin / Heidelberg: Springer, May 2012.
A.3. REFEREED CONFERENCE PROCEEDINGS
- B. Demchak and I. Krüger, “Policy Driven Development: Flexible Policy Insertion for Large Scale Systems,” in 2012 IEEE International Symposium on Policies for Distributed Systems and Networks, Chapel Hill. IEEE Computer Society, Jul. 2012, pp. 17-24.
- B. Demchak, V. Ermagan, C. Farcas, E. Farcas, I. H. Krüger, and M. Menarini, “Rich Services: Addressing Challenges of Ultra-Large-Scale Software-Intensive Systems,” in Proceedings of the ICSE 2nd International Workshop on Ultra-Large-Scale Software-Intensive Systems (ULSSIS 2008), Leipzig, Germany. New York, NY, USA: ACM, May 2008, pp. 29-32.
- B. Demchak and I. H Krüger, “Rich Feeds for RESCUE,” in Proceedings of the 5th International Conference on Information Systems for Crisis Response and Management (ISCRAM 2008), F. Fiedrich and B.K Van de Walle (Eds.), Washington, D.C. May 2008.
[More available]
[Less]- V. Ermagan and I. H Krüger, “A UML2 Profile for Service Modeling,” Model Driven Engineering Languages and Systems. 10th International Conference, MoDELS 2007, Nashville, USA, September 30 - October 5, 2007. Proceedings, G. ngels, B. Opdyke, D. C. Schmidt, and F. Weil (Eds.), Lecture Notes in Computer Science, vol. 4735, pp. 360-374, Springer Berlin / Heidelberg, Oct. 2007.
- B. Demchak, C. Farcas, E. Farcas, and I. Krüger, “The Treasure Map for Rich Services,” in Proceedings of the 2007 IEEE International Conference on Information Reuse and Integration (IRI), Las Vegas, USA. IEEE, Aug. 2007, pp. 400-405.
- M. Arrott, B. Demchak, V. Ermagan, C. Farcas, E. Farcas, I. H. Krüger, and M. Menarini, “Rich Services: The Integration Piece of the SOA Puzzle,” in Proceedings of the IEEE International Conference on Web Services (ICWS), Salt Lake City, Utah, USA. IEEE, Jul. 2007, pp. 176-183.
- V. Ermagan, C. Farcas, E. Farcas, I. H. Krüger, and M. Menarini, “A Service-Oriented Blueprint for COTS Integration: the Hidden Part of the Iceberg,” in Proceedings of the ICSE Second International Workshop on Incorporating COTS Software into Software Systems: Tools and Techniques (IWICSS'07), Minneapolis, MN, USA. Washington, DC, USA: IEEE Computer Society, May 2007, p. 10.
- V. Ermagan, I. Krueger, M. Menarini, J.-I. Mizutani, K. Oguchi, and D. Weir, “Towards Model-Based Failure-Management for Automotive Software,” in Proceedings of the ICSE Fourth International Workshop on Software Engineering for Automotive Systems (SEAS'07), Minneapolis, MN, USA. Washington, DC, USA: IEEE Computer Society, 2007, p. 8.
- I. H. Krüger, “Service Specification with MSCs and Roles,” in IASTED Int'l Conf. on Software Engineering (IASTED SE'04), Innsbruck, Austria. ACTA Press, Sep. 2004.
- I. H. Krüger and R. Mathew, “Systematic Development and Exploration of Service-Oriented Software Architectures,” in Proceedings of the 4th Working IEEE/IFIP Conference on Software Architecture (WICSA-4), Oslo, Norway. IEEE Computer Society, Jun. 2004, pp. 177-187.
- I. H. Krüger, D. Gupta, R. Mathew, P. Moorthy, W. Phillips, S. Rittmann, and J. Ahluwalia, “Towards a Process and Tool-Chain for Service-Oriented Automotive Software Engineering,” in Proceedings of the ICSE 2004 Workshop on Software Engineering for Automotive Systems (SEAS). 2004.
- J. Whittle and I. H Krüger, “A Methodology for Scenario-Based Requirements Capture,” in Proceedings of the ICSE 2004 Workshop on Scenarios and State Machines (SCESM). 2004.
- R. Cornea, S. Mohapatra, N. Dutt, R. Gupta, I. Krueger, A. Nicolau, D. Schmidt, S. Shukla, and N. Venkatasubramanian, “A Model-Based Approach to System Specification for Distributed Real-time and Embedded Systems,” in Proceedings of RTAS 2003 Workshop on Model-Driven Embedded Systems, Washington, DC, USA. May 2003.
- R. Cornea, N. Dutt, R. Gupta, I. Krueger, A. Nicolau, D. Schmidt, and S. Shukla, “FORGE: A Framework for Optimization of Distributed Embedded Systems Software,” in Proceedings of the International Parallel and Distributed Processing Symposium (IPDPS'03), Nice, France. IEEE Computer Society, Apr. 2003, p. 13.
- I. H Krüger, “Towards Precise Service Specification with UML and UML-RT,” in Proceedings of the Workshop on Critical Systems Development with UML (CSDUML), J. Jürjens, M. V. Cengarle, E. B. Fernandez, B. Rumpe, and R. Sandner (Eds.). Technische Universität München Institut für Informatik, 2002, pp. 19-34.
B. OTHER WORK
B.3. OTHER PRESENTATIONS / WORKS
Toolchain for Service-Oriented Development
We are
developing a a prototypic toolchain for supporting the service-oriented
development process outlined above. One purpose of the tool support is to provide models for services that can be transformed into executables.
The tool chain consists of several ingredients: a process support tool (SODA), our center-piece service modeling tool for modeling roles and their interactions (M2Code), a modeling, simulation, verification and test tool for component configurations (MSCCheck), code generators for the RTCORBA middleware platform (RTCodeGen) and for aspect-oriented implementations (M2Aspects), as well as model-checking and reverse engineering tools.
Based on this tool suite we have developed a runtime monitoring approach for Quality-of-Service properties (including deadlines) in real-time environments. To that end we have combined the end-to-end protocol modeling capabilities of M2Code with the automatic generation of a distributed runtime monitoring facility; this facility can determine on a per-service basis whether all QoS properties are met at runtime.

Related publications
A.3. REFEREED CONFERENCE PROCEEDINGS
- V. Ermagan, T.-J. Huang, I. Krüger, M. Meisinger, M. Menarini, and P. Moorthy, “Towards Tool Support for Service-Oriented Development of Embedded Automotive Systems,” in Proceedings of the Dagstuhl Workshop on Model-Based Development of Embedded Systems (MBEES'07), Informatik-Bericht 2007-01. Fakultät für Informatik, Technische Universität Braunschweig, Jan. 2007.
- V. Ermagan, I. Krueger, M. Menarini, J.-I. Mizutani, K. Oguchi, and D. Weir, “Towards Model-Based Failure-Management for Automotive Software,” in Proceedings of the ICSE Fourth International Workshop on Software Engineering for Automotive Systems (SEAS'07), Minneapolis, MN, USA. Washington, DC, USA: IEEE Computer Society, 2007, p. 8.
- I. H. Krüger, M. Meisinger, and M. Menarini, “Applying Service-Oriented Development to. Complex System: a BART case study,” Reliable Systems on Unreliable Networked Platforms, 12th Monterey Workshop 2005, Laguna Beach, CA, USA, September 22-24, 2005. Revised Selected Papers, F. Kordon and J. Sztipanovits (Eds.), Lecture Notes in Computer Science, vol. 4322, pp. 26-46, Springer Berlin / Heidelberg, 2007.
[More available]
[Less]- I. H. Krüger, G. Lee, and M. Meisinger, “Automating Software Architecture Exploration with M2Aspects,” in Proceedings of the ICSE 2006 Workshop on Scenarios and State Machines: Models, Algorithms and Tools (SCESM'06), Shanghai, China. New York, NY: ACM Press, May 2006, pp. 51-58.
- I. H. Krüger, R. Mathew, and M. Meisinger, “Efficient exploration of service-oriented architectures using aspects,” in Proceedings of the 28th international conference on Software engineering (ICSE '06), Shanghai, China. New York, NY, USA: ACM, May 2006, pp. 62-71.
- J. Ahluwalia, I. H. Krüger, M. Meisinger, and W. Phillips, “Model-Based Run-Time Monitoring of End-to-End Deadlines,” in Proceedings of the 5th ACM international conference on Embedded Software (EMSOFT'05), Jersey City, NJ, USA. New York, NY, USA: ACM Press, Sep. 2005, pp. 100-109.
- I. H. Krüger, R. Mathew, and M. Meisinger, “From Scenarios to Aspects: Exploring Product Lines,” in roceedings of the ICSE 2005 Workshop on Scenarios and State Machines (SCESM'05), St. Louis, MO, USA. New York, NY, USA: ACM Press, May 2005, pp. 1-6.
- I. H. Krüger and R. Mathew, “Component Synthesis from Service Specifications,” Scenarios: Models, Transformations and Tools, International Workshop, Dagstuhl Castle, Germany, September 7-12, 2003, Revised Selected Papers, S. Leue and T. J. Systä (Eds.), Lecture Notes in Computer Science, vol. 3466, pp. 255-277, Springer Berlin / Heidelberg, 2005.
- I. H. Krüger, D. Gupta, R. Mathew, P. Moorthy, W. Phillips, S. Rittmann, and J. Ahluwalia, “Towards a Process and Tool-Chain for Service-Oriented Automotive Software Engineering,” in Proceedings of the ICSE 2004 Workshop on Software Engineering for Automotive Systems (SEAS). 2004.
- I. Krüger, R. Grosu, P. Scholz, and M. Broy, “From MSCs to statecharts,” in Proceedings of the IFIP WG10.3/WG10.5 international workshop on Distributed and Parallel Embedded Systems (DIPES'98), F. J. Rammig (Ed.), Scholoß Eringerfeld, Germany. Norwell, MA, USA: Kluwer Academic Publishers, 1998, pp. 61-71.
M2Code
M2Code
is our tool for modeling roles and their interactions, which are
the defining elements for services. Thus, M2Code covers, in particular,
the early phases of the service-oriented development process. A
centerpiece of M2Code is its capability for (semi)automatically
deriving state machines from interaction patterns given as Message
Sequence Charts (MSCs). In particular, it can deal with overlapping,
alternatives, parallel composition, loops, and preemption.
The output
of M2Code is a role domain model together with one automaton for
each role defined in this domain model; these automata implement
the respective role's contribution to all the services it is associated
with.
M2 Code
is built as a plugin for Microsoft Visio, and visualizes both the
MSCs entered by the developer and, using automated layout algorithms,
displays state machines for validation purposes.
Finally,
M2Code supports exporting the modeling elements (both the automata
and the system structure, i.e. the role domain model) as an XML
document preparing verification/validation and code generation.
Related publications
A.3. REFEREED CONFERENCE PROCEEDINGS
- I. H. Krüger, D. Gupta, R. Mathew, P. Moorthy, W. Phillips, S. Rittmann, and J. Ahluwalia, “Towards a Process and Tool-Chain for Service-Oriented Automotive Software Engineering,” in Proceedings of the ICSE 2004 Workshop on Software Engineering for Automotive Systems (SEAS). 2004.
- J. Whittle and I. H Krüger, “A Methodology for Scenario-Based Requirements Capture,” in Proceedings of the ICSE 2004 Workshop on Scenarios and State Machines (SCESM). 2004.
- I. Krüger, “Modeling and Synthesis with MSC Extensions for Broadcasting, Overlapping, Preemptive, and Triggered Collaborations,” in Proceedings of ICSE 2003 Workshop on Scenarios and State Machines (SCESM). 2003.
[More available]
[Less]- B. Finkbeiner and I. Krüger, “Using Message Sequence Charts for Component-Based Formal Verification,” in Proceedings of Specification and Verification of Component-Based Systems Workshop at OOPSLA 2001, D. Giannakopoulou, G. T. Leavens, and M. Sitaraman (Eds.). Oct. 2001.
- I. Krüger, “Notational and Methodical Issues in Forward Engineering with MSCs,” Proceedings of OOPSLA 2000 Workshop: Scenario-based round-trip engineering, T. Systä (Ed.), Report, no. 20, Tampere University of Technology, Software Systems Laboratory, Oct. 2000.
- I. Krüger, “Towards the Methodical Usage of Message Sequence Charts,” in Formale Beschreibungstechniken für verteilte Systeme, FBT'99, K. Spies and B. Schätz (Eds.). Herbert Utz Verlag, Jun. 1999, pp. 123-134.
- I. Krüger, R. Grosu, P. Scholz, and M. Broy, “From MSCs to statecharts,” in Proceedings of the IFIP WG10.3/WG10.5 international workshop on Distributed and Parallel Embedded Systems (DIPES'98), F. J. Rammig (Ed.), Scholoß Eringerfeld, Germany. Norwell, MA, USA: Kluwer Academic Publishers, 1998, pp. 61-71.
B.3. OTHER PRESENTATIONS / WORKS
RTCORBA Code Generator
We are
developing a coge generator that takes abstract, validated models
of distributred, reactive systems as input, and produces executables
for the RT CORBA middleware implementing the properties checked
for the abstract models. This closes a gap in the development process
for reliable distributed and reactive systems by eliminating the
manual transition from captured requirements to implementation.
Related publications
A.3. REFEREED CONFERENCE PROCEEDINGS
- I. H. Krüger, D. Gupta, R. Mathew, P. Moorthy, W. Phillips, S. Rittmann, and J. Ahluwalia, “Towards a Process and Tool-Chain for Service-Oriented Automotive Software Engineering,” in Proceedings of the ICSE 2004 Workshop on Software Engineering for Automotive Systems (SEAS). 2004.
- R. Cornea, N. Dutt, R. Gupta, I. Krueger, A. Nicolau, D. Schmidt, and S. Shukla, “FORGE: A Framework for Optimization of Distributed Embedded Systems Software,” in Proceedings of the International Parallel and Distributed Processing Symposium (IPDPS'03), Nice, France. IEEE Computer Society, Apr. 2003, p. 13.
SODA Tool
The SODA tool (Service-Oriented Design and Architecture Development) governs the development
process and provides project support by managing project resources and tracking project progress. It embeds and triggers other tools and has
the capability of generating project relevant documentation and reports. The SODA tool is a
platform for capturing and cross-referencing information about a system or software under
development. Information is structured according
to a changeable domain model and is stored as XML with associated data files. SODA
contains a generic XML editor that enables editing data documents based on arbitrary
XML schemas. We designed an XML schema that contains elements for service-oriented
development projects, such as “Use Case”, “Textual Requirement”, “Service”, “Component”
and many more. The schema designer can further structure and specify types and
attributes for each of these elements Based on the type of element or attribute, specific
data editors are invoked. SODA provides a powerful linking and cross-referencing facility
that applies to all elements, as defined in the XML schema. SODA provides powerful
mechanisms for editing, linking and post-processing.

In our reference data model for service-oriented development projects, the system developer
enters requirements as hierarchically structured use cases, which contain free form
text and embedded figures. Use cases are linked to structured textual requirements; both
use cases and requirements are additionally linked to the services of the system in development. All the before mentioned object types and their cross-references are defined in
the underlying XML schema.
SODA has a plug-in architecture that enables consistency checks of the currently edited
data model. For instance, SODA can detect referencing errors (such as link cycles) and
missing references (such as a use case with no linked service). SODA also has powerful
plug-ins for generating LaTeX, PDF, HTML and other type documents from the model.
We use this to generate requirements and software architecture documents out of the data
model.
M2Aspects
The M2Aspects tool translates services into aspects; the aspect-weaving capabilities of the AspectJ compiler
then create the executable implementation. We use multiple such prototypical implementations
of the same service repository but with different target architectures for quick architecture
exploration and validation
Service-Oriented Software Architecture
Thinking in terms of services triggers a fresh look at how software-architectures are crafted. As a result, the notion of service emerges as a first-class modeling element – instead of being only a first-class implementation element. Effective architectures are required to support service-oriented designs. Such architectures are based on clear, precisely defined syntactic and semantic interfaces and support hierarchical decomposition while preserving basic properties of the system.
We develop such architectures in a compositional way; these service-oriented architectures are described transparently using industry standards such as UML2 and SysML, or using our own service-oriented Architecture Definition Language (Service-ADL, see below).
Successful system of systems integration will rely heavily on the notion of service, as well as on the management of information flow among the subsystems. This will require systematic domain modeling (to identify the subsystem interfaces, including their information exchange protocols & associated data formats, value-added services and their interaction protocols), as well as the design of an integration platform (including, but not limited to, an integrated access mechanism, such as a common web portal), supporting flexible process definition and composition mechanisms, policy definition and enforcement mechanisms, data storage and dissemination, knowledge management, scalability, reliability, safety, security etc.
Enterprise Service Bus (ESB)
A suitable IT infrastructure needs to fulfill the requirements described above, including application integration, security, workflow support, transactionality and reliable messaging. The flexibility to support changing requirements and thus to provide the ability to declaratively alter infrastructure capabilities or application configuration properties is essential. To meet these needs we have developed an integration architecture based on an Enterprise Service Bus (ESB). An ESB can provide flexible and reusable infrastructure services that may be configured and augmented easily and quickly.
To facilitate agile system of systems integration we have configured Enterprise Service Busses (ESBs) and corresponding portal solutions using a wide variety of commercial and open source products, including but not limited to, IBM WebSphere, Groove, .Net, DMIS, JBOSS, Mule, ServiceMix, ActiveMQ, Hibernate.
Related publications
A.3. REFEREED CONFERENCE PROCEEDINGS
- B. Demchak and I. Krüger, “Policy Driven Development: Flexible Policy Insertion for Large Scale Systems,” in 2012 IEEE International Symposium on Policies for Distributed Systems and Networks, Chapel Hill. IEEE Computer Society, Jul. 2012, pp. 17-24.
- B. Demchak, V. Ermagan, C. Farcas, E. Farcas, I. H. Krüger, and M. Menarini, “Rich Services: Addressing Challenges of Ultra-Large-Scale Software-Intensive Systems,” in Proceedings of the ICSE 2nd International Workshop on Ultra-Large-Scale Software-Intensive Systems (ULSSIS 2008), Leipzig, Germany. New York, NY, USA: ACM, May 2008, pp. 29-32.
- B. Demchak and I. H Krüger, “Rich Feeds for RESCUE,” in Proceedings of the 5th International Conference on Information Systems for Crisis Response and Management (ISCRAM 2008), F. Fiedrich and B.K Van de Walle (Eds.), Washington, D.C. May 2008.
[More available]
[Less]- V. Ermagan, I. H. Krüger, and M. Menarini, “Aspect Oriented Modeling Approach to Define Routing in Enterprise Service Bus Architectures,” in MiSE '08: Proceedings of the 2008 international workshop on Models in software engineering, Leipzig, Germany. New York, NY, USA: ACM, May 2008, pp. 15-20.
- M. Arrott, B. Demchak, V. Ermagan, C. Farcas, E. Farcas, I. H. Krüger, and M. Menarini, “Rich Services: The Integration Piece of the SOA Puzzle,” in Proceedings of the IEEE International Conference on Web Services (ICWS), Salt Lake City, Utah, USA. IEEE, Jul. 2007, pp. 176-183.
- V. Ermagan, C. Farcas, E. Farcas, I. H. Krüger, and M. Menarini, “A Service-Oriented Blueprint for COTS Integration: the Hidden Part of the Iceberg,” in Proceedings of the ICSE Second International Workshop on Incorporating COTS Software into Software Systems: Tools and Techniques (IWICSS'07), Minneapolis, MN, USA. Washington, DC, USA: IEEE Computer Society, May 2007, p. 10.
- I. H. Krüger, M. Meisinger, M. Menarini, and S. Pasco, “Rapid Systems of Systems Integration - Combining an Architecture-Centric Approach with Enterprise Service Bus Infrastructure,” in Proceedings of the 2006 IEEE International Conference on Information Reuse and Integration (IRI'06), Waikoloa, Hawaii, USA. IEEE Systems, Man, and Cybernetics Society, Sep. 2006, pp. 51-56.
B.3. OTHER PRESENTATIONS / WORKS
Sensor Networks as Service-Oriented Systems
Sensor
networks vary in sizes, hardware devices, network topologies and
protocols, etc. In other words, for applications to make use of
a sensor network, the application must deal with the heterogenous
nature of the underlying hardware. Sensor network middleware provides
a layer of abstraction between the heterogeneous set of resources
in the sensor network and the applications that are deployed on
these resources. Unfortunately, constraints on the hardware (power,
network trasmission mode, etc.) seem to require this layer of abstraction
to bend (if not break), where application design must take hardware
constraints into consideration to run at reasonably high performance
(directed diffusion, being one example). What is in need is a programming
model for applications that suit the unique constraints of sensor
networks, but also provides portability across hardware domains
through a set of middleware services.
Our research focuses on a new, hierarchical programming model fo
sensor networks; this model abstracts from the details of hardware
layouts, and provides uniform access to sensor networks for multiple
applications.
Related Projects: RUNES
Expressive Description Techniques
Our teams, S3EL/SAINT are well versed in the use of DoD Architecture Framework (DoDAF), Federal Enterprise Architecture (FEA), Rational Unified Process Architecture (RUP), and other architecture development and documentation standards. This is particularly useful in large scale system of systems integration projects, where the overall integration solution needs to be transparently documented.
In addition to applying these established standards, we investigate the potentials of new, hierarchic notations focusing on services and their defining interactions; to that end, we investigate existing notations – including Message Sequence Charts (MSCs) and architecture definition languages (ADLs) – as a mechanism to capture the requirements of service-oriented systems of systems integration architectures.
We are using MSCs, in particular, to capture service protocols, annotated with a wide variety of important end-to-end quality requirements, including failure properties, execution deadlines, etc. This yields executable, service-oriented specifications, out of which we can generate implementation components that follow the required service protocols by construction. We study the utility of these transformations for business process automation, simulation, code generation, test, and verification.
We are developing Service-ADL, an architecture definition language, which captures services as interaction patterns among a set of roles, as specified in MSC models. We can define mappings from a set of services onto a given target architecture by appropriately associating roles with components implementing their interaction behaviors. This allows exploration of multiple “candidate” architectures implementing the same set of services.
Algorithms we have developed enable the transformation from service specifications (in Service-ADL) to executable code; these algorithms take service protocols (in terms of MSC specifications) as input and yield state machines for the participating components. This is actively employed in our tool suite for automotive service engineering. Future research will adapt this technique to marry Business Process Execution Language (BPEL) integration with our Enterprise Service Bus (ESB).
MSCs
Message
Sequence Charts (MSCs) have emerged in the context of SDL as a means
for specifying communication protocols in telecommunication systems;
they provide a rich graphical notation for capturing point-to-point
interaction patterns. We have extended the notation of MSCs further
to make it more adequate especially for highly complex, embedded
systems; to that end, we have introduced syntactic elements for
capturing broadcasting communication, preemption, overlapping interactions
and trigger composition (enabling transparent specification of liveness
properties). We have also developed systematic refinement notions
for MSCs, capturing refinements of behavior, component structure,
and messages.
Because we use interaction patterns as the defining elements of
our service notion, MSCs are an excellent starting point for service
specifications.
We are developing a methodological approach to using MSCs both individually
and in the context of service specifications. To that end, we are
also investigating the transformation from MSC specifications to
statecharts and other automaton models, and study the utility of
these transformations for simulation, code generation, test, and
verification.
Related publications
A.1. REFEREED JOURNAL ARTICLES
- R. Breu, R. Grosu, C. Hofmann, F. Huber, I. Krüger, B. Rumpe, M. Schmidt, and W. Schwerin, “Exemplary and Complete Object Interaction Descriptions,” Computer Standards & Interfaces, vol. 19, no. 7, pp. 335-345, Nov. 1998.
A.3. REFEREED CONFERENCE PROCEEDINGS
- I. H. Krüger, “Service Specification with MSCs and Roles,” in IASTED Int'l Conf. on Software Engineering (IASTED SE'04), Innsbruck, Austria. ACTA Press, Sep. 2004.
- I. H. Krüger and R. Mathew, “Systematic Development and Exploration of Service-Oriented Software Architectures,” in Proceedings of the 4th Working IEEE/IFIP Conference on Software Architecture (WICSA-4), Oslo, Norway. IEEE Computer Society, Jun. 2004, pp. 177-187.
- J. Whittle and I. H Krüger, “A Methodology for Scenario-Based Requirements Capture,” in Proceedings of the ICSE 2004 Workshop on Scenarios and State Machines (SCESM). 2004.
[More available]
[Less]- I. Krüger, “Capturing Overlapping, Triggered, and Preemptive Collaborations Using MSCs,” Fundamental Approaches to Software Engineering: 6th International Conference, FASE 2003, Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2003, Warsaw, Poland, April 7-11, 2003, Proceedings, M. Pezzè (Ed.), Lecture Notes in Computer Science, vol. 2621, pp. 387-402, Springer Berlin / Heidelberg, 2003.
- I. Krüger, “Modeling and Synthesis with MSC Extensions for Broadcasting, Overlapping, Preemptive, and Triggered Collaborations,” in Proceedings of ICSE 2003 Workshop on Scenarios and State Machines (SCESM). 2003.
- I. H. Krüger, W. Prenninger, and R. Sandner, “Semantics of Broadcast MSCs,” in Proceedings of ETAPS2002 Satelitte Workshop on Semantic Foundations of Engineering Design Languages (SFEDL). Apr. 2002.
- B. Finkbeiner and I. Krüger, “Using Message Sequence Charts for Component-Based Formal Verification,” in Proceedings of Specification and Verification of Component-Based Systems Workshop at OOPSLA 2001, D. Giannakopoulou, G. T. Leavens, and M. Sitaraman (Eds.). Oct. 2001.
- I. Krüger, “Notational and Methodical Issues in Forward Engineering with MSCs,” Proceedings of OOPSLA 2000 Workshop: Scenario-based round-trip engineering, T. Systä (Ed.), Report, no. 20, Tampere University of Technology, Software Systems Laboratory, Oct. 2000.
- R. Grosu, I. Krüger, and T. Stauner, “Hybrid Sequence Charts,” in Proceedings of the 3rd International Symposium on Object-Oriented Real-Time Distributed Computing (ISORC 2000), Newport Beach, CA, USA. IEEE Computer Society, Mar. 2000, pp. 104-111.
- R. Grosu, I. Krüger, and T. Stauner, “Requirements Specification of an Automotive System with Hybrid Sequence Charts,” in Proceedings of the 5th International Workshop on Object-oriented Real-time Dependable Systems (WORDS'99), Monterey, CA, USA . IEEE, Nov. 1999, pp. 149-151.
- I. Krüger, “Towards the Methodical Usage of Message Sequence Charts,” in Formale Beschreibungstechniken für verteilte Systeme, FBT'99, K. Spies and B. Schätz (Eds.). Herbert Utz Verlag, Jun. 1999, pp. 123-134.
- M. Broy and I. Krüger, “Interaction Interfaces – Towards a scientific foundation of a methodological usage of Message Sequence Charts,” in Formal Engineering Methods (ICFEM'98), J. Staples, M. G. Hinchey, and S. Liu (Eds.). Washington, DC, USA: IEEE Computer Society, Dec. 1998, p. 2.
- I. Krüger, R. Grosu, P. Scholz, and M. Broy, “From MSCs to statecharts,” in Proceedings of the IFIP WG10.3/WG10.5 international workshop on Distributed and Parallel Embedded Systems (DIPES'98), F. J. Rammig (Ed.), Scholoß Eringerfeld, Germany. Norwell, MA, USA: Kluwer Academic Publishers, 1998, pp. 61-71.
- M. Broy, C. Hofmann, I. Krüger, and M. Schmidt, “Using extended event traces to describe communication in software architectures,” in Proceedings of the Fourth Asia-Pacific Software Engineering and International Computer Science Conference, Clear Water Bay, Hong Kong. Washington, DC, USA: IEEE Computer Society, Dec. 1997, pp. 203-212.
B.3. OTHER PRESENTATIONS / WORKS
- I. H. Krüger, “Distributed System Design with Message Sequence Charts,” Ph.D. dissertation, Technische Universität München, 2000.
- R. Grosu, I. Krüger, and T. Stauner, “Hybrid Sequence Charts,” Tech. Rep. TUM-I9914, Technische Universität München, Jul. 1999.
ADL
We are
developing> an Architecture
Definition Language (ADL) which captures services as interaction
patterns among a set of roles. Each role models the behavior a concrete
component must display to participate in the implementation of a
service. Our use of roles in the definition of the service notion
decouples services from target component configurations and architectures.
We can define mappings from a set of services onto a given target
architecture by appropriately associating roles with components
implementing their interaction behaviors. This allows exploration
of multiple “candidate” architectures implementing the
same set of services.
Related publications
A. PRIMARY PUBLISHED OR CREATIVE WORK
- I. H. Krüger, B. Demchak, and M. Menarini, “Dynamic Service Composition and Deployment with OpenRichServices,” Software Service and Application Engineering, M. Heisel (Ed.), Lecture Notes in Computer Science, vol. 7365, pp. 120-146, Berlin / Heidelberg: Springer, May 2012.
A.2. BOOKS AND BOOK CHAPTERS
- I. H. Krüger, B. Demchak, and M. Menarini, “Dynamic Service Composition and Deployment with OpenRichServices,” Software Service and Application Engineering, M. Heisel (Ed.), Lecture Notes in Computer Science, vol. 7365, pp. 120-146, Berlin / Heidelberg: Springer, May 2012.
A.3. REFEREED CONFERENCE PROCEEDINGS
- V. Ermagan, I. H. Krüger, and M. Menarini, “Aspect Oriented Modeling Approach to Define Routing in Enterprise Service Bus Architectures,” in MiSE '08: Proceedings of the 2008 international workshop on Models in software engineering, Leipzig, Germany. New York, NY, USA: ACM, May 2008, pp. 15-20.
- V. Ermagan and I. H Krüger, “A UML2 Profile for Service Modeling,” Model Driven Engineering Languages and Systems. 10th International Conference, MoDELS 2007, Nashville, USA, September 30 - October 5, 2007. Proceedings, G. ngels, B. Opdyke, D. C. Schmidt, and F. Weil (Eds.), Lecture Notes in Computer Science, vol. 4735, pp. 360-374, Springer Berlin / Heidelberg, Oct. 2007.
- I. H. Krüger, “Service Specification with MSCs and Roles,” in IASTED Int'l Conf. on Software Engineering (IASTED SE'04), Innsbruck, Austria. ACTA Press, Sep. 2004.
[More available]
[Less]- I. H. Krüger and R. Mathew, “Systematic Development and Exploration of Service-Oriented Software Architectures,” in Proceedings of the 4th Working IEEE/IFIP Conference on Software Architecture (WICSA-4), Oslo, Norway. IEEE Computer Society, Jun. 2004, pp. 177-187.
- R. Cornea, N. Dutt, R. Gupta, I. Krueger, A. Nicolau, D. Schmidt, and S. Shukla, “FORGE: A Framework for Optimization of Distributed Embedded Systems Software,” in Proceedings of the International Parallel and Distributed Processing Symposium (IPDPS'03), Nice, France. IEEE Computer Society, Apr. 2003, p. 13.
- I. Krüger, W. Prenninger, and R. Sandner, “Architectural Design of a Broadcasting System using UML-RT,” in OMER-2 Workshop des Arbeitskreises GROOM der GI Fachgruppe 2.1.9 Objektorientierte Software-Entwicklung, A. Schürr (Ed.). Universität der Bundeswehr, München, 2001.
- I. Krüger, W. Prenninger, and R. Sandner, “Deriving Architectural Prototypes for a Broadcasting System using UML-RT,” in 1st ICSE Workshop on Describing Software Architecture with UML, P. Kruchten (Ed.). 2001.
Precise, Methodological Foundation
To foster a solid understanding of services and their properties, a profound mathematical foundation for services is crucial to the systematic development of high-quality systems. A carefully defined, precise, compositional service notion, integrating both static and dynamic aspects of component interaction, highlights the complementary roles of services and components as partial and complete behavior specifications, respectively.
We are developing a precise foundation for the notion of service, based on the mathematical model of streams. This service notion captures, in particular, the interaction patterns required to establish the task under consideration; this captures dynamic information as well as static information about services, and thus goes beyond the lists of methods usually found as service descriptors. Based thereon we develop powerful composition operators, refinement and refactoring techniques for service development; we integrate these results into the toolchain discussed below.
We have developed a formal model of services, based on interactions among roles, service composition and software architectures composed out of services and components. We will extend our methodological basis towards more powerful concepts such as role abstractions.
Semantics of Services
Services
(sometimes also called features) are one of the cornerstones of
applications in the telecommunications domain. Similarly, services
play an important role in both established and evolving technologies
and implementation infrastructures.
We are
developing a precise foundation for the notion of service, based
on the mathematical model of streams. This service notion captures,
in particular, the interaction patterns required to establish the
task under consideration; this captures dynamic information as well
as static information about services, and thus goes beyond the lists
of methods usually found as service descriptors.
Based
on this foundation we develop powerful composition operators, refinement
and refactoring techniques for service development; we integrate
these results into the toolchain discussed above.
Related publications
A.1. REFEREED JOURNAL ARTICLES
- M. Broy, I. H. Krüger, and M. Meisinger, “A Formal Model of Service,” ACM Transactions on Software Engineering and Methodology (TOSEM), vol. 16, no. 1, p. 5, Feb. 2007.
- I. H Krüger, “Specifying Services with UML and UML-RT: Foundation, Challenges and Limitations,” VISS 2002, Validation and Implementation of Scenario-based Specifications (Satellite Event of ETAPS 2002), B. Caillaud and A. Muscholl (Eds.), Electronic Notes in Theoretical Computer Science, vol. 65, no. 7, pp. 34-50, Elsevier B.V, Apr. 2002.
A.3. REFEREED CONFERENCE PROCEEDINGS
- I. H. Krüger, “Service Specification with MSCs and Roles,” in IASTED Int'l Conf. on Software Engineering (IASTED SE'04), Innsbruck, Austria. ACTA Press, Sep. 2004.
- I. Krüger, “Capturing Overlapping, Triggered, and Preemptive Collaborations Using MSCs,” Fundamental Approaches to Software Engineering: 6th International Conference, FASE 2003, Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2003, Warsaw, Poland, April 7-11, 2003, Proceedings, M. Pezzè (Ed.), Lecture Notes in Computer Science, vol. 2621, pp. 387-402, Springer Berlin / Heidelberg, 2003.
- I. H Krüger, “Towards Precise Service Specification with UML and UML-RT,” in Proceedings of the Workshop on Critical Systems Development with UML (CSDUML), J. Jürjens, M. V. Cengarle, E. B. Fernandez, B. Rumpe, and R. Sandner (Eds.). Technische Universität München Institut für Informatik, 2002, pp. 19-34.
Copyright © 2007. All rights reserved.