Title: A Social Organization Perspective on Software Architecture
1A Social Organization Perspective on Software
Architecture
- Manuel Kolp Jaelson Castro John Mylopoulos
Department of Computer Science University of
Toronto Toronto M5S 3G4, Canada
Centro de Informática Universidade Federal de
Pernambuco Recife 50732-970, Brazil
STRAW01 - May 14 2001, Toronto, Canada
2Motivation
- Narrowing the gap requirements gtlt architectures
- Same concepts for requirements and architectures
- Software architecture as social organization
- Coordinated autonomous components with goals to
fulfil and social inter-dependencies ( i ) - Concepts from organization theory
- Evaluated WRT a set of software quality
attributes - Part of TROPOS (http//www.cs.toronto.edu/km/trop
os)
3Organization Theory
- Mintzberg, Scott, Galbraith,
- Studies alternatives and models for (business)
organizations - Used to model the coordination of business
stakeholders -- individuals, physical or social
systems -- to achieve common (business) goals. - Structure in 5, Pyramid, Takeover, Joint Venture,
Cooptation, Hierarchical Contracting, Vertical
Integration, Bidding, Merger, Equity Agreement,
Virtual Organization,
4Structure in 5
- Strategic and logistic components found in
organizations. - Operational core basic operations -- the input,
processing, output associated with running the
organization. - Strategic apex executive, strategic decisions.
- Support Assists the operation core for
non-operational services outside the basic flow
of operational procedures. - Technostructure standardizes the behavior of
other components, help the system adapt to its
environment. - Middle line Actors who join the apex to the
core.
5Structure in 5 in i and Telos
TELL CLASS StructureIn5MetaClass IN Class WITH
/Class is a MetaMetaClass/ attribute
name String part, exclusivePart,
dependentPart ApexMetaClass
Class CoordinationMetaClass
Class MiddleAgencyMetaClass
Class SupportMetaClass Class OperationalCor
eMetaClass Class END StructureIn5MetaClass
In i
In Telos
6Joint Venture in i and Telos
TELL CLASS JointVentureMetaClass IN Class WITH
/Class is a MetaMetaClass/ attribute
name String part, exclusivePart,
dependentPart JointManagementMetaClass
Class part, exclusivePart /exclusive and
independent part/ PrincipalPartnerMetaClass
Class part /shared and independent
part/ SecondaryPartnerMetaClass Class END
JointVentureMetaClass In Telos
7Quality Attributes
Predictability, Security, Adaptability,
Cooperativity, Competitivity, Availability,
Integrity, Modularity, Aggregability
8Example
A Classical mobile robot layered architecture
Information exchange not always
straight-forward Often need to establish direct
communication Data and control hierarchies not
separated Prevent the dynamic manipulation of
components
9Mobile Robot Architecture Structure-in-5
More distributed architecture
10Selecting Architecture for an E-com System
From Security, Availability, Adaptability
11A Joint-Venture E-commerce Architecture
E-business classical styles on web, protocols,
technologies Not on business processes, NFRs No
organization of the architecture, conceptual
high-level perspective
12Conclusion
- Software architectures described with concepts
from requirements modeling - -gt Narrows the gap requirements / architecture
- Architectures as social and intentional
structures - Best suited to open, dynamic and distributed
applications - In progress
- Formalizing the style, Instantiation of a style
?? - Macro and micro levels
- Social Patterns broker, mediator, embassy, ...