Learn More
Business Process Management is called agile when it is able to react quickly and adequately to internal and external events. Agile Business Process Management requires putting the lifecycle of business processes on a new paradigm. It is advocated in this paper that social software allows us satisfying the key requirements for enabling agile BPM by applying(More)
Merge conflicts cause software defects which if detected late may require expensive resolution. This is especially true when developers work too long without integrating concurrent changes, which in practice is common as integration generally occurs at check-in. Awareness of others' activities was proposed to help developers detect conflicts earlier.(More)
The FénixEDU system uses a novel infrastructure for web applications based on the Versioned Software Transactional Memory (VSTM) abstraction. The FénixEDU system has been deployed and is currently in operation in different facilities, including the Instituto Superior Técnico where it serves the entire academic community, processing between 1,000,000 and(More)
Business objects are object-oriented representations of the concepts of interest in an organization, such as activities, resources and actors. Business objects collaborate with one another in order to achieve business goals, showing different behavior and properties according to each specific collaboration context. This means the same business object may be(More)
Naming is an important, but frequently overlooked, aspect of software systems. Usually, naming appears combined with other issues, e.g. distributed communication technology. This paper treats naming in isolation. It presents a naming design pattern which abstracts several naming policies and an object-oriented framework that can be customized to support(More)
Developing Multiuser Virtual Environments (MUVE) is a very complex task since it involves several engineering domains aspects such as, Virtual Reality, Cooperative Work and Distributed Systems. Furthermore, existing technologies like, graphics capabilities, processing power and network bandwidth, are permanently evolving. For MUVE systems to be successfully(More)
This paper describes an object-oriented abstraction for the problem of awareness management in Collaborative Virtual Environments (CVEs). The described abstraction allows for different types of awareness information and awareness management policies to be used. It is also described how the defined abstraction was used to support the awareness management(More)
We propose an object-oriented approach to the development of distributed applications emphasizing separation of concerns. Our approach combines the needs of transparency , encapsulation of distribution issues, and support for non-traditional models, where cooperation and sharing are desired. The development process is constructive, thus allowing partial(More)