Ontological Representations of Software Patterns
|
|
|
- Moris Little
- 10 years ago
- Views:
Transcription
1 Ontological Representations of Software Patterns Jean-Marc Rosengard and Marian F. Ursu University of London Abstract. This paper 1 is based on and advocates the trend in software engineering of extending the use of software patterns as means of structuring solutions to software development problems (be they motivated by best practice or by company interests and policies). The paper argues that, on the one hand, this development requires tools for automatic organisation, retrieval and explanation of software patterns. On the other hand, that the existence of such tools itself will facilitate the further development and employment of patterns in the software development process. The paper analyses existing pattern representations and concludes that they are inadequate for the kind of automation intended here. Adopting a standpoint similar to that taken in the semantic web, the paper proposes that feasible solutions can be built on the basis of ontological representations. 1 Introduction Software patterns are proven solutions to recurring software construction problems in a given context. They describe the knowledge refined from experienced practitioners about a particular aspect of the domain of discourse. The concept of design pattern was formulated in [1] and has since been generalised in for example [2]. The practical employment of patterns in software development has continuously grown [3]. Patterns are generally intended for human/manual use, as structured but informal documentations. Their primary aim is to guide software engineers, by presenting and explaining solutions regarding software construction applicable to a particular context. They are means of structuring solution descriptions. From this angle, therefore, they could be regarded as codes of good practice. This is the perspective that we take in this paper. In this context, patterns are presented in printed catalogues, employing mainly natural language, but also examples of code and diagrammatic representations. Patterns can occur at different levels of abstraction with respect to the specification of a software solution. Thus, there may be architectural patterns, design patterns in a specific design paradigm (e.g. observer and composite [4] in the OO paradigm) and language-specific patterns (e.g. counted body [5] in C++, 1 Published in the proceedings of KES 04, Lecture Notes in Computer Science, vol. 3215, pp , Springer-Verlag, 2004.
2 and marker interface in Java). The latter can also be called idioms. Furthermore, software patterns may have different degrees of generality. Some may be application or domain specific (e.g., contract and portfolio [6] in trading applications), whereas others may be general design patterns, applicable across application domains (e.g. observer and composite). In recent years, software development using patterns has become common practice in the practitioners community [3]. Subsequently, the amount of refined patterns is growing, irrespective of their category from general languagespecific patterns to application specific patterns. However, it is towards the application-domain end that a high rate of growth is expected. The amount of printed documentation, thus, too, is increasing, to the extent that it becomes difficult for it to be effectively used. The problems that appear in this context are similar to the problems faced by engineering designers who have to comply with large codes of regulations and good design practice, which we have already discussed in [7]. We aim to develop tools for intelligent dissemination of patterns to software practitioners. We propose a general model that is applicable to patterns disregarding their level of abstraction (specification) and generality (application domain). On its basis we will implement specific solutions for different categories of patterns. We are here adapting some of the solutions we have proposed previously for the dissemination and enforcement of regulatory engineering-design knowledge (e.g., [7]) to the domain of software engineering and software patterns. Research has been investigating the possibility of automatic code generation from formal representations of software patterns [8]. The goal, according to this approach, is to reduce as much as possible the involvement of the human agent from the design and implementation process. This may be feasible for restricted areas. However, our standpoint is to develop tools that empower rather than replace the software practitioners; patterns should not, cannot and will not replace programmers [2]. This is consistent with our previous work in intelligent design [9]. 2 Software Patterns: Evolution In their early years, patterns have been mainly used within the community close to the group that described them. A number of fundamental patterns have been refined, in particular at the level of design [4], and are now widely used among software engineers. They are involved in the construction of most medium-size and large object-oriented systems. Some have also been integrated in programming platforms, such as Java, becoming thus readily available for application programming. As the result of almost a decade of pattern mining, a large quantity (hundreds) of patterns have been described, reviewed, and catalogued. However there have been few initiatives to structure and organise this knowledge [3] into a consistent representation framework.
3 The rate of growth varies with respect to the level of abstraction with reference to the specification of a solution but more so with the level of generality with reference to the reusability across application domains. General or core patterns tend to be considered as fundamental abstractions and, in time, become integrated into programming languages and tools. Their number is limited and essentially constant. A rate of growth is displayed by patterns specified at the level of middleware. This is because software applications are increasingly complex and, thus, have to be developed around middleware platforms (e.g. J2EE). A higher rate can be predicted at the level of particular application domains or within particular software development companies. Patterns can naturally describe expertise regarding a specific software development application. Furthermore, they can also naturally express specific policies regarding software development within different organisations. The focus, here, is on promoting the use of explicit, locally defined constructs, motivated by concerns like quality, security, performance or code management. Domain specific patterns is the category that strongly motivates our work. Because they represent a natural way for the formulation of accumulated expertise and policies, we consider that they will become the means for the representation of such knowledge. Consequently, large knowledge repositories of domain specific patterns will be created (both within organisations and for general use). Furthermore, domain specific patterns form a dynamic pool of knowledge. They are expected to evolve more rapidly than the more generic ones, because the requirements within application domains are under continuous change, and their review and publication process can be expected to be less rigorous. At this end, manual use of patterns is not an effective solution anymore. Their expected development depends on the existence and motivates the development of tools for their automatic organisation, retrieval and explanation. By development we mean both refinement/statement and employment/use. The latter term encapsulates all the various cognitive activities involved in software development such as understanding whether to use or not a pattern applicable to a given context, choosing a particular pattern suitable to a specific context and understanding how to generate code in accordance to a particular chosen pattern and sharing. 3 Existing Pattern Representations This section discusses existing representations of patterns and their suitability to automatic organisation, retrieval and provision of explanations. 3.1 Informal Representation Patterns are most generally represented in natural language, and are typically published in printed catalogues. The term presentation seems more suitable for this type of description. Such documents are loosely structured, in what we call canonical forms. Such a structure consists of a series of fields, each having a
4 meaning introduced via an informal definition or description. An example of a canonical form is that proposed in [4]. A fragment of this is illustrated in Table 1, below. Field Name Also known as Intent Applicability Structure Consequences Table 1. Fragment of a canonical form for pattern representation [4]. Explanation / Definition Ideally a meaningful name that will be part of the shared design vocabulary. Many existing patterns do not satisfy this requirement for historical reasons. Other names of the pattern. A short specification or rationale of the pattern, used as a principal index for goal-oriented pattern search. An outline of the circumstances in which the pattern may be applicable and, perhaps more importantly, when it should not be applied. A diagrammatic representation of the pattern. Discusses the context resulting from applying the pattern. In particular, trade-offs should be mentioned. Implementation Advices on how to implement the patterns, and other language specific issues. The implementation will depend on the abstractions (objects, parameterised types,... ) supported by the target language. Known uses Patterns are by essence derived from existing systems. It is therefore important that they be justified by their use in several real systems. Related patterns Patterns are often coupled or composed with other patterns, leading to the concept of pattern language; e.g. a visitor may be used to apply an operation to the closed structure provided by a composite. Consider, for example, the most common situation when a software developer is within a specific situation and wants to identify whether there exists a particular pattern useful to the situation at hand. A search within a repository of patterns would, most probably, involve the intent and applicability descriptors. Assuming that the catalogue exists in an electronic format that preserves the structure of the printed catalogue, as described above, then the best option available to him is a keyword search; intent and applicability have no internal structures. This means that the software engineer attempts to retrieve documents describing relevant patterns based on phrases that he would have to guess are used in the descriptors. Each time a document/pattern is retrieved, he would have to read it thoroughly since no summarisation or explanatory features would be supported by the discussed representation and decide upon its suitability. Obviously, this is a cumbersome process. The drawbacks of such a retrieval process are well known. They are more critical if the agent who carries out the process does not have at least some knowledge of the descriptions jargon or of the possible expected results; in our case, if the software engineer is a novice. Note that by novice, we mean without
5 much software development experience, but also inexperienced with a particular technology, or new to a company and not familiar with its policies and codes. These drawbacks have been identified and well described in the context of the web and represent a motivating factor for the development of the semantic web [10]. Although they have the same nature, the scale of the problem in the context of software patterns is obviously not as large as in the context of the web. However, the effects can be similarly drastic, under the founded assumption that the pattern repository has a substancial size. Furthermore, missing or misusing a pattern with respect to a particular situation could have severe implications if the patterns represent company policies or codes of best practice. The above argument was implicitly carried out at the level of application/domain specific patterns. However, it is equally valid in the context of domain independent, but language-specific patterns (idioms). A good example for this is the Javadoc documentation of the Java platform. This knowledge base is significantly large and finding relevant solutions to a specific problem is a cumbersome process for non-expert Java programmers. Another major drawback of this representation is the fact that it does not readily support knowledge management and sharing, also necessarily required, in particular for application-domain patterns (refer to Section 2). Informal representations based on canonical forms cannot support the level of automation at which we aim. For this, we need better-structured representations. 3.2 Patterns in UML Patterns are represented in UML using the familiar class/object and interaction diagrams, and also using the more specific parameterised collaboration model [11] allowing the variation of roles around a given collaboration. While these representations are useful for understanding a pattern and guiding through its implementation, they only express the structural aspects of the pattern. They do little to help the engineer understand its higher-level concerns, like its intent, applicability and tradeoffs. Unsurprisingly, UML is not suitable for pattern representation for the purpose stated in this paper. As a simple example, consider the strategy and state patterns. Although their intents [4] are very different, they exhibit a similar structure. 3.3 Formal Representations Although patterns primarily constitute a body of knowledge for human consumption, several initiatives have been made to formalise some aspects of their representation, opening the way to some automated support for pattern-based development. Formalisation is applied to some of the essential properties of patterns (pattern invariants) by means of specification languages, like the Object Constraint Language (OCL) [12]. On the instantiation of a pattern or the modification of an existing occurrence of a pattern, its implementation may be automatically
6 validated using the structural and behavioural/temporal constraints specified in OCL expressions. Such representations, although useful is such situations, cannot express all the knowledge (that a pattern encapsulates) required for instantiations or modifications. Furthermore, aspects like pattern intent, motivation and applicability, cannot be expressed in OCL. Constraint languages and ontologies (proposed here) are complementary in pattern representation. The former are focussed on automatic code generation, whereas the latter are focussed on the provision of intelligent advice to software developers. Also, constraints and ontological representations operate at different stages expressions represented in constraint languages become applicable after the engineer has made solution decisions. 4 Ontological Representation There are various meanings that the term ontology can have in AI [13]. We adopt the same view as [14] and take ontology first to mean a specification of a conceptualisation, and second pragmatically to define a (standard) vocabulary with which queries and assertions are exchanged among agents. Ontologies are particularly useful in knowledge sharing and reuse. If two agents make the same ontological commitment, then they can exchange knowledge. Alternatively, any knowledge base represented within an ontology can be accessed by agents who committed to the respective ontology. The latter viewpoint is relevant to our proposal. If an ontology for the representation of patterns is in place, then pattern repositories (represented in the respective ontology) become accessible by various tools for intelligent organisation, retrieval and provision of explanations provided they committed to the ontology. An ontology becomes standard within a community when sufficient (or sufficiently powerful) agencies from that community commit to it. The quality of an ontology being standard is only required if knowledge reuse and sharing is an issue within the community. sharing and reuse should be understood, in the context of software patterns, with respect to the type of the patterns. Idioms should be shareable across application domains, whereas application specific patterns may need to be shared only at the level of an institution. As a method of work, we started with the development of a basic ontology for design patterns. They are of a manageable size and their generality is implicitly transferred to the basic ontology. Thereafter, we shall enhance the basic ontology with language-specific concepts and domain-specific concepts, when we move towards the representation of the respective software patterns. Although we do not necessarily intend that the deployment of documentation based on patterns be made within the web, our work, here, is strongly connected with that carried out within the semantic web [15]. The use of ontologies was proposed in software engineering, but in the context of component based development. The focus of these efforts (e.g., [16]) is on automatic retrieval and assembly. Our focus is on the provision of intelligent advice to software engineers.
7 5 Conclusions In this paper, we introduced the idea of combining software patterns with ontological representations, with a view to developing tools for the automatic organisation, retrieval and explanation of reusable solutions to software development, codes of good practice and company policies. References 1. Gamma, E., Helm, R., Vlissides, J., Johnson, R.E.: Design patterns: Abstraction and reuse of object-oriented design. In Nierstrasz, O., ed.: Proceedings ECOOP 93. Volume 707 of LNCS., Springer-Verlag (1993) Coplien, J.O.: Software Patterns. SIGS, New York (1996) 3. Gamma, E.: Design patterns ten years later. In Broy, M., Denert, E., eds.: Software Pioneers: Contributions to Software Engineering, Springer-Verlag (2001) Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley (1995) 5. Coplien, J.: Advanced C++: Programming Styles and Idioms. Addison-Wesley (1992) 6. Fowler, M.: Analysis Patterns: Reusable Objects Models. Addison-Wesley (1997) 7. Ursu, M.F., Hammond, P.: Representing expressed design knowledge. In Benbasat, I., ed.: Association for Information Systems, AIS 98. (1998) Eden, A., Yehudai, A., Gil, J.: Precise specification and automatic application of design patterns. In: International Conference on Automated Software Engineering, IEEE Press (1997) Ursu, M.F., Hammond, P.: Expressing regulatory design knowledge for critiquing intelligent design assistants - spacial representations. In Gero, J., ed.: Artificial Intelligence in Design, AID 00, Kluwer (2000) : Semantic web kick-off in Finland: Vision, technologies, research and applications (2002) 11. Rumbaugh, J., Jacobson, I., Booch, G.: Unified Modeling Language Reference Manual. Addison-Wesley (1998) 12. OMG: Object Constraint Language Specification, version 1.1. (1997) 13. Uschold, M., King, M.: Towards a methodology for building ontologies. In: Basic Ontological Issues in Knowledge Sharing, IJCAI 95, Montreal, Canada (1995) 14. Gruber, T.R.: A translation approach to portable ontology specifications. Knowledge Acquisition 5 (1993) Wahlster, W., Lieberman, H., Hendler, J.: Spinning the Semantic Web: Bringing the WWW to Its Full Potential. MIT Press (2002) 16. MIT: Project oxygen (2004)
Chapter 3 Chapter 3 Service-Oriented Computing and SOA Lecture Note
Chapter 3 Chapter 3 Service-Oriented Computing and SOA Lecture Note Text book of CPET 545 Service-Oriented Architecture and Enterprise Application: SOA Principles of Service Design, by Thomas Erl, ISBN
Generating Aspect Code from UML Models
Generating Aspect Code from UML Models Iris Groher Siemens AG, CT SE 2 Otto-Hahn-Ring 6 81739 Munich, Germany [email protected] Stefan Schulze Siemens AG, CT SE 2 Otto-Hahn-Ring 6 81739 Munich,
Abstraction in Computer Science & Software Engineering: A Pedagogical Perspective
Orit Hazzan's Column Abstraction in Computer Science & Software Engineering: A Pedagogical Perspective This column is coauthored with Jeff Kramer, Department of Computing, Imperial College, London ABSTRACT
Quality Ensuring Development of Software Processes
Quality Ensuring Development of Software Processes ALEXANDER FÖRSTER,GREGOR ENGELS Department of Computer Science University of Paderborn D-33095 Paderborn, Germany {alfo engels}@upb.de ABSTRACT: Software
Patterns in a Nutshell
Patterns in a Nutshell http://www.enteract.com/~bradapp/ January 27, 1998 Patterns in a Nutshell Page 2 of 12 Trendy: Literary: 1.0 What are Patterns? Recent hot topic, OOD buzzword, lots of hype! Form
Patterns in. Lecture 2 GoF Design Patterns Creational. Sharif University of Technology. Department of Computer Engineering
Patterns in Software Engineering Lecturer: Raman Ramsin Lecture 2 GoF Design Patterns Creational 1 GoF Design Patterns Principles Emphasis on flexibility and reuse through decoupling of classes. The underlying
Evaluating OO-CASE tools: OO research meets practice
Evaluating OO-CASE tools: OO research meets practice Danny Greefhorst, Matthijs Maat, Rob Maijers {greefhorst, maat, maijers}@serc.nl Software Engineering Research Centre - SERC PO Box 424 3500 AK Utrecht
Reusable Knowledge-based Components for Building Software. Applications: A Knowledge Modelling Approach
Reusable Knowledge-based Components for Building Software Applications: A Knowledge Modelling Approach Martin Molina, Jose L. Sierra, Jose Cuena Department of Artificial Intelligence, Technical University
Systems Integration: Co C mp m onent- t bas a e s d s o s ftw ft a w r a e r e ngin i eeri r n i g
Systems Integration: Component-based software engineering Objectives To explain that CBSE is concerned with developing standardised components and composing these into applications To describe components
A SYSTEMATIC APPROACH FOR COMPONENT-BASED SOFTWARE DEVELOPMENT
A SYSTEMATIC APPROACH FOR COMPONENT-BASED SOFTWARE DEVELOPMENT Cléver Ricardo Guareis de Farias, Marten van Sinderen and Luís Ferreira Pires Centre for Telematics and Information Technology (CTIT) PO Box
The Oregon Software Development Process
The Oregon Software Development Process Till Schümmer 1 and Robert Slagter 2 1 Computer Science Department, FernUniversität in Hagen, Universitätsstrasse 1, 58084 Hagen, Germany [email protected]
Tool Support for Software Variability Management and Product Derivation in Software Product Lines
Tool Support for Software Variability Management and Product Derivation in Software s Hassan Gomaa 1, Michael E. Shin 2 1 Dept. of Information and Software Engineering, George Mason University, Fairfax,
Business-Driven Software Engineering Lecture 3 Foundations of Processes
Business-Driven Software Engineering Lecture 3 Foundations of Processes Jochen Küster [email protected] Agenda Introduction and Background Process Modeling Foundations Activities and Process Models Summary
Traceability Patterns: An Approach to Requirement-Component Traceability in Agile Software Development
Traceability Patterns: An Approach to Requirement-Component Traceability in Agile Software Development ARBI GHAZARIAN University of Toronto Department of Computer Science 10 King s College Road, Toronto,
Knowledge Management Challenges in Web-Based Adaptive e-learning Systems
Proceedings of I-KNOW 05 Graz, Austria, June 29 - July 1, 2005 Management Challenges in Web-Based Adaptive e-learning Systems Ekaterina Vasilyeva (University of Jyväskylä, Finland [email protected]) Mykola
ONTODESIGN; A DOMAIN ONTOLOGY FOR BUILDING AND EXPLOITING PROJECT MEMORIES IN PRODUCT DESIGN PROJECTS
ONTODESIGN; A DOMAIN ONTOLOGY FOR BUILDING AND EXPLOITING PROJECT MEMORIES IN PRODUCT DESIGN PROJECTS DAVY MONTICOLO Zurfluh-Feller Company 25150 Belfort France VINCENT HILAIRE SeT Laboratory, University
A Pattern-based Framework of Change Operators for Ontology Evolution
A Pattern-based Framework of Change Operators for Ontology Evolution Muhammad Javed 1, Yalemisew M. Abgaz 2, Claus Pahl 3 Centre for Next Generation Localization (CNGL), School of Computing, Dublin City
Software 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
Information systems modelling UML and service description languages
Internet Engineering Tomasz Babczyński, Zofia Kruczkiewicz Tomasz Kubik Information systems modelling UML and service description languages Student Contact Hours: 25.02.2015- Location: 325 C3 room 25.03.2015:
Run-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, [email protected] 2 Dep.
MERGING ONTOLOGIES AND OBJECT-ORIENTED TECHNOLOGIES FOR SOFTWARE DEVELOPMENT
23-24 September, 2006, BULGARIA 1 MERGING ONTOLOGIES AND OBJECT-ORIENTED TECHNOLOGIES FOR SOFTWARE DEVELOPMENT Dencho N. Batanov Frederick Institute of Technology Computer Science Department Nicosia, Cyprus
Umbrella: A New Component-Based Software Development Model
2009 International Conference on Computer Engineering and Applications IPCSIT vol.2 (2011) (2011) IACSIT Press, Singapore Umbrella: A New Component-Based Software Development Model Anurag Dixit and P.C.
City University of Hong Kong Course Syllabus. offered by Department of Computer Science with effect from Semester A 2015/16
City University of Hong Kong Course Syllabus offered by Department of Computer Science with effect from Semester A 2015/16 Part I Course Overview Course Title: Problem Solving and Programming Course Code:
Some 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, [email protected] Abstract The need for a Unified Enterprise Modelling Language
Web-Based Genomic Information Integration with Gene Ontology
Web-Based Genomic Information Integration with Gene Ontology Kai Xu 1 IMAGEN group, National ICT Australia, Sydney, Australia, [email protected] Abstract. Despite the dramatic growth of online genomic
Composing Concerns with a Framework Approach
Composing Concerns with a Framework Approach Constantinos A. Constantinides 1,2 and Tzilla Elrad 2 1 Mathematical and Computer Sciences Department Loyola University Chicago [email protected] 2 Concurrent
Business Modeling with UML
Business Modeling with UML Hans-Erik Eriksson and Magnus Penker, Open Training Hans-Erik In order to keep up and be competitive, all companies Ericsson is and enterprises must assess the quality of their
Design Patterns for Managing Product Lifecycle Information
Design Patterns for Managing Product Lifecycle Information Introduction Kary Främling, Timo Ala-Risku, Mikko Kärkkäinen, Jan Holmström The increasing demands on product lifecycle management means that
A Process for ATLAS Software Development
Atlas Software Quality Control Group A Process for ATLAS Software Development Authors : Atlas Quality Control Group M. Asai, D. Barberis (chairman), M. Bosman, R. Jones, J.-F. Laporte, M. Stavrianakou
Component Based Development Methods - comparison
Component Based Development Methods - comparison Dan Laurenţiu Jişa Abstract: This paper realizes a comparison among three of the best known component based development methods, emphazing on the earlier
On the general structure of ontologies of instructional models
On the general structure of ontologies of instructional models Miguel-Angel Sicilia Information Engineering Research Unit Computer Science Dept., University of Alcalá Ctra. Barcelona km. 33.6 28871 Alcalá
Component Based Software Engineering: A Broad Based Model is Needed
Component Based Software Engineering: A Broad Based Model is Needed Allen Parrish ([email protected]) Brandon Dixon ([email protected]) David Hale ([email protected]) Department of Computer Science
From 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
A Pattern-based Framework to Address Abstraction, Reuse, and Cross-domain Aspects in Domain Specific Visual Languages *
A Pattern-based Framework to Address Abstraction, Reuse, and Cross-domain Aspects in Domain Specific Visual Languages * David Oglesby, Kirk Schloegel, Devesh Bhatt, Eric Engstrom Honeywell Laboratories
ONTOLOGY BASED FEEDBACK GENERATION IN DESIGN- ORIENTED E-LEARNING SYSTEMS
ONTOLOGY BASED FEEDBACK GENERATION IN DESIGN- ORIENTED E-LEARNING SYSTEMS Harrie Passier and Johan Jeuring Faculty of Computer Science, Open University of the Netherlands Valkenburgerweg 177, 6419 AT Heerlen,
22C: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
Agile 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.
From Object Oriented Conceptual Modeling to Automated Programming in Java
From Object Oriented Conceptual Modeling to Automated Programming in Java Oscar Pastor, Vicente Pelechano, Emilio Insfrán, Jaime Gómez Department of Information Systems and Computation Valencia University
Semantic Search in Portals using Ontologies
Semantic Search in Portals using Ontologies Wallace Anacleto Pinheiro Ana Maria de C. Moura Military Institute of Engineering - IME/RJ Department of Computer Engineering - Rio de Janeiro - Brazil [awallace,anamoura]@de9.ime.eb.br
JOURNAL OF OBJECT TECHNOLOGY
JOURNAL OF OBJECT TECHNOLOGY Online at http://www.jot.fm. Published by ETH Zurich, Chair of Software Engineering JOT, 2007 Vol. 6, No. 1, January-February 2007 CM Configuration Change Management John D.
Design Patterns for Complex Event Processing
Design Patterns for Complex Event Processing Adrian Paschke BioTec Center, Technical University Dresden, 01307 Dresden, Germany adrian.paschke AT biotec.tu-dresden.de ABSTRACT Currently engineering efficient
SAPM Overview. Semester Summary. Project management. Tools (1) Dr. James A. Bednar
SAPM Overview Semester Summary Dr. James A. Bednar [email protected] http://homepages.inf.ed.ac.uk/jbednar In this lecture we review the topics we have covered this semester, focusing on what I consider
A Process View on Architecture-Based Software Development
A Process View on Architecture-Based Software Development Lothar Baum, Martin Becker, Lars Geyer, Georg Molter System Software Research Group University of Kaiserslautern D-67653 Kaiserslautern, Germany
Development/Maintenance/Reuse: Software Evolution in Product Lines
Development/Maintenance/Reuse: Software Evolution in Product Lines Stephen R. Schach Vanderbilt University, Nashville, TN, USA Amir Tomer RAFAEL, Haifa, Israel Abstract The evolution tree model is a two-dimensional
Model-Driven Architecture: Vision, Standards And Emerging Technologies
1 Model-Driven Architecture: Vision, Standards And Emerging Technologies Position Paper Submitted to ECOOP 2001 Workshop on Metamodeling and Adaptive Object Models John D. Poole Hyperion Solutions Corporation
Knowledge-based Approach in Information Systems Life Cycle and Information Systems Architecture
5 th Slovakian-Hungarian Joint Symposium on Applied Machine Intelligence and Informatics January 25-26, 2007 Poprad, Slovakia Knowledge-based Approach in Information Systems Life Cycle and Information
Structuring Product-lines: A Layered Architectural Style
Structuring Product-lines: A Layered Architectural Style Tommi Myllymäki, Kai Koskimies, and Tommi Mikkonen Institute of Software Systems, Tampere University of Technology Box 553, FIN-33101 Tampere, Finland
The WebShop E-Commerce Framework
The WebShop E-Commerce Framework Marcus Fontoura IBM Almaden Research Center 650 Harry Road, San Jose, CA 95120, U.S.A. e-mail: fontouraalmaden.ibm.com Wolfgang Pree Professor of Computer Science Software
To introduce software process models To describe three generic process models and when they may be used
Software Processes Objectives To introduce software process models To describe three generic process models and when they may be used To describe outline process models for requirements engineering, software
The 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 [email protected] Abstract. This
Towards an Integration of Business Process Modeling and Object-Oriented Software Development
Towards an Integration of Business Process Modeling and Object-Oriented Software Development Peter Loos, Peter Fettke Chemnitz Univeristy of Technology, Chemnitz, Germany {loos peter.fettke}@isym.tu-chemnitz.de
Software Refactoring using New Architecture of Java Design Patterns
Software Refactoring using New Architecture of Java Design Patterns Norddin Habti, Prashant 1, 1 Departement d informatique et de recherche operationnelle, Universite de Montreal, Quebec, Canada (Dated:
APPLYING CASE BASED REASONING IN AGILE SOFTWARE DEVELOPMENT
APPLYING CASE BASED REASONING IN AGILE SOFTWARE DEVELOPMENT AIMAN TURANI Associate Prof., Faculty of computer science and Engineering, TAIBAH University, Medina, KSA E-mail: [email protected] ABSTRACT
Towards Web Design Frameworks (Wdfs)
14 Towards Web Design Frameworks (Wdfs) Rehema Baguma, Faculty of Computing and IT, Makerere University. [email protected]; Ogao Patrick, Department of Information Systems, Faculty of Computing and
Software Requirements Specification of A University Class Scheduler
Software Requirements Specification of A University Class Scheduler Deanna M. Needell Jeff A. Stuart Tamara C. Thiel Sergiu M. Dascalu Frederick C. Harris, Jr. Department of Computer Science University
A process-driven methodological approach for the design of telecommunications management systems
A process-driven methodological approach for the design of telecommunications management systems Thierry FRAIZE, Julio VILLENA, Jean-Daniel GUEDJ TELECOM ARGENTINA Av Dorrego 2520 (1425) Buenos Aires Argentina
Ubiquitous, Pervasive and Mobile Computing: A Reusable-Models-based Non-Functional Catalogue
Ubiquitous, Pervasive and Mobile Computing: A Reusable-Models-based Non-Functional Catalogue Milene Serrano 1 and Maurício Serrano 1 1 Universidade de Brasília (UnB/FGA), Curso de Engenharia de Software,
Systematization of Requirements Definition for Software Development Processes with a Business Modeling Architecture
Systematization of Requirements Definition for Software Development Processes with a Business Modeling Architecture Delmir de Azevedo Junior 1 and Renato de Campos 2 1 Petrobras University, Republican
BUSINESS RULES AS PART OF INFORMATION SYSTEMS LIFE CYCLE: POSSIBLE SCENARIOS Kestutis Kapocius 1,2,3, Gintautas Garsva 1,2,4
International Conference 20th EURO Mini Conference Continuous Optimization and Knowledge-Based Technologies (EurOPT-2008) May 20 23, 2008, Neringa, LITHUANIA ISBN 978-9955-28-283-9 L. Sakalauskas, G.W.
An Overview of Challenges of Component Based Software Engineering
An Overview of Challenges of Component Based Software Engineering Shabeeh Ahmad Siddiqui Sr Lecturer, Al-Ahgaff University, Yemen Abstract Nowadays there is trend of using components in development of
A Service Modeling Approach with Business-Level Reusability and Extensibility
A Service Modeling Approach with Business-Level Reusability and Extensibility Jianwu Wang 1,2, Jian Yu 1, Yanbo Han 1 1 Institute of Computing Technology, Chinese Academy of Sciences, 100080, Beijing,
A 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
Regulatory Compliance and its Impact on Software Development
Regulatory Compliance and its Impact on Software Development Abdelwahab Hamou-Lhadj Software Compliance Research Group Department of Electrical and Computer Engineering Concordia University 1455 de Maisonneuve
Reactive Variability Realization with Test-Driven Development and Refactoring
Reactive Variability Realization with Test-Driven Development and Refactoring Glauco Silva Neves Informatics and Statistics Department - INE Federal University of Santa Catarina - UFSC Florianópolis, Brazil
Design Rationale and Software Development
DISCOVERING A RESEARCH AGENDA FOR USING DESIGN RATIONALE IN SOFTWARE MAINTENANCE J. BURGE, D. C. BROWN AI in Design Research Group Department of Computer Science WPI, 100 Institute Road Worcester, MA 01609,
SOMA, RUP and RMC: the right combination for Service Oriented Architecture
SOMA, RUP and RMC: the right combination for Service Oriented Architecture WebSphere User Group, Bedfont, 4th March, 2008 Keith Mantell Senior Solution Architect IBM Rational [email protected] March
An Object-Oriented Analysis Method for Customer Relationship Management Information Systems. Abstract
75 Electronic Commerce Studies Vol. 2, No.1, Spring 2004 Page 75-94 An Object-Oriented Analysis Method for Customer Relationship Management Information Systems Jyh-Jong Lin Chaoyang University of Technology
ONTOLOGY FOR MOBILE PHONE OPERATING SYSTEMS
ONTOLOGY FOR MOBILE PHONE OPERATING SYSTEMS Hasni Neji and Ridha Bouallegue Innov COM Lab, Higher School of Communications of Tunis, Sup Com University of Carthage, Tunis, Tunisia. Email: [email protected];
Concern Driven Software Development
Concern Driven Software Development Omar Alam School of Computer Science, McGill University, Montreal, Canada [email protected] Abstract Model Driven Engineering (MDE) has achieved success in many
Design Pattern Management System: A Support Tool Based on Design Patterns Applicability
Design Pattern Management System: A Support Tool Based on Design Patterns Applicability Zakaria Moudam, Radouan Belhissi, Noureddine Chenfour Computer Science Department Faculty of Sciences Dhar Mehraz
&$:,&206Ã.QRZOHGJHÃ$FTXLVLWLRQÃ&RPSRQHQW. Interface 4. &$:,&206Ã&RQILJXUDWLRQÃ6HUYHU &$:,&206Ã%DFNHQG Interface 2 'LVWULEXWHG 3UREOHPÃ6ROYLQJ
.12:/('*($&48,6,7,21 )25%8,/',1*$1',17(*5$7,1* 352'8&7&21),*85$7256 A. Felfernig *, G. Friedrich *, D. Jannach *, M. Zanker *, and R. Schäfer + &RPSXWHU6FLHQFHDQG0DQXIDFWXULQJ5HVHDUFK*URXS 8QLYHUVLWlW.ODJHQIXUW.ODJHQIXUW$XVWULD
707.009 Foundations of Knowledge Management Organizational Knowledge Repositories
707.009 Foundations of Knowledge Management Organizational Knowledge Repositories Markus Strohmaier Univ. Ass. / Assistant Professor Knowledge Management Institute Graz University of Technology, Austria
Scalable End-User Access to Big Data http://www.optique-project.eu/ HELLENIC REPUBLIC National and Kapodistrian University of Athens
Scalable End-User Access to Big Data http://www.optique-project.eu/ HELLENIC REPUBLIC National and Kapodistrian University of Athens 1 Optique: Improving the competitiveness of European industry For many
Document Engineering: Analyzing and Designing the Semantics of Business Service Networks
Document Engineering: Analyzing and Designing the Semantics of Business Service Networks Dr. Robert J. Glushko University of California Berkeley [email protected] Tim McGrath Universal Business
Design with Reuse. Building software from reusable components. Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 14 Slide 1
Design with Reuse Building software from reusable components. Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 14 Slide 1 Objectives To explain the benefits of software reuse and some reuse
An Aspect-Oriented Product Line Framework to Support the Development of Software Product Lines of Web Applications
An Aspect-Oriented Product Line Framework to Support the Development of Software Product Lines of Web Applications Germán Harvey Alférez Salinas Department of Computer Information Systems, Mission College,
An Automatic Reversible Transformation from Composite to Visitor in Java
An Automatic Reversible Transformation from Composite to Visitor in Java Akram To cite this version: Akram. An Automatic Reversible Transformation from Composite to Visitor in Java. CIEL 2012, P. Collet,
Mapping 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 [email protected]
